70e5dc667fbab530341f8b00b4f65439830df625
hub-es.md: las 5 entradas que faltaban (37/37, el índice cuadra). seo_watch.py: «Proyecto Libro Azul» / «Libro Azul» a CASE_PHRASES, junto a sus hermanas «Proyecto Blue Book» / «Blue Book». Es el nombre propio del proyecto —24 menciones en el artículo, ninguna en minúscula— pero «libro» y «azul» son comunes en el corpus, así que el vocabulario no las salvaba. El artículo estaba bien escrito; el detector no. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
seo-tools
SEO rule engine + tooling for the Ghost blogs (EN: theexclusionzone.com).
seo_rules.py— shared rule engine (pure functions, no I/O). Single source of truth for thresholds + checks. Consumed by the auditor, the validator, and (vendored) by ResearchOwl's blog pipeline.seo_audit.py— Tool A: site-wide auditor (reads all published posts viaghst-en).seo_validate.py— Tool C: single-post pre-publish validator (seo-checkwraps this).seo_exceptions.py— documented, consciously-accepted waivers (auditor reporting filter).seo_mirror.py— OG/Twitter mirroring helper.phase2_*.py/json— one-off batch helpers (kept for provenance).
No secrets live here. Ghost access is via the ghst-en wrapper (~/.local/bin), which
fetches a staff token on demand from the pod and never writes it to disk.
Languages
Python
100%