v2.4.0 — synthesis producer + reextract integration
Closes the two items deferred from v2.3.0's release summary.
Commit 1 (3ab8dfb): synthesis_entry producer.
- scripts/source_tiers.py + scripts/scaffold_synthesis_entry.py.
- /agent-index Phase 4c (4-step workflow with worked example).
- Template + validator docstring fixes (was wrong since daf6699).
- 52 new tests.
Commit 2 (bc8d793): reextract auto-integration.
- /research-gather Phase 5 Step 5.0 auto-scans manifest for raw_only
PDFs and runs scripts/reextract_pdfs.py before fetching new URLs. - Pure skill-body orchestration; no code change to reextract_pdfs.py.
339 tests + 2 xfailed (was 287 + 2 at v2.3.0). USE posture.