Files
seobuild-onpage/scripts/lib
Greg BessoniandClaude Opus 4.7 a80df5cd34 v1.7.1: LLM retrieval signals + codebase execution rules
Research pipeline (scripts/research.py):
- extract_meta_entities() mines bolded query-matched phrases from the
  `highlighted` field of competitor SERP results, with inline
  <b>/<strong>/** fallback parsing. These are the entities Google's
  snippet generator already validated as relevant.
- extract_target_ngrams() tokenizes top 3 competitors' headings + titles,
  filters via inlined English stopwords, returns top 5 bigrams/trigrams.
- detect_secondary_intent() maps the funnel-next intent (Orcas 1 dual
  intent) with overrides for transactional title signals and brand-
  domain dominance.
- All four signals (primary_intent, secondary_intent, meta_entities,
  target_ngrams) now surface at top level of research output for direct
  brief consumption. Compact + brief output formats updated.
- DataForSEOClient._extract_serp now passes through the `highlighted`
  field per organic result (was being dropped silently).

Framework (SKILL.md):
- 41-point checklist -> 45-point checklist with Meta Entity Isolation,
  N-Gram AI Alignment, Dual-Intent, and Status Code Governance checks.
  Passing threshold raised to 36/45.
- New "Technical Codebase Execution Rules" section: when run inside a
  project repo, detect framework (Next.js, Astro, Hugo, Jekyll, etc.),
  inject semantic HTML into source files, emit Apache/.htaccess +
  Nginx + next.config.js + Vercel snippets for 301/410 redirects.
- HARD RULES rewritten as positive naming guidance.

Docs:
- README.md "What It Actually Does" block expanded 13 -> 14 steps
  reflecting dual-intent mapping, n-gram seeding, 301/410 governance.
- references/quality-checklist.md adds the 4 new pass/fail checks with
  field references back to research.py output.
- CLAUDE.md framework features list updated.

Tests:
- New tests/test_research_v171.py with 13 tests covering meta-entity
  extraction (highlighted + inline-tag + dedup), n-gram extraction
  (stopword filter, top-N limit, empty input), tokenizer, and
  secondary-intent funnel + overrides.
- Live smoke-tested against airport parking JFK: meta_entities returns
  8 real bolded SERP phrases; target_ngrams returns "jfk airport",
  "airport parking", "uncovered valet" etc. as expected.

All existing test files still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 08:05:24 -04:00
..