fix(readme): the four dead TOC anchors, and a guard that reads the renderer instead of modelling it
Ordre 39's TOC was built from a model of Forgejo's slugger ("each space becomes
one hyphen"). Measured against the published page, the renderer COLLAPSES each
run of [space|hyphen] into one — so the four headings carrying an em-dash between
spaces got two hyphens in the anchor and none in the id. Four of eleven links
were dead on the open mirror while every local check said green.
The anchors lose the extra hyphen; no heading text changes.
test_readme_anchors_loadbearing.py makes the check load-bearing (spec §11). It
pins the 14 heading ids Forgejo actually emitted on 2026-08-17, so the rule is
checked against the EMISSION rather than against itself — the failure mode that
let three known-negative controls agree with the wrong model. Known-negative
fixtures cover a broken anchor and a "## Phantom Heading" inside a fence (with a
positive control, so the fence test cannot pass by finding nothing), and the
naive space-rule is asserted to miss exactly the four ids that shipped dead.
Value-proved green-before/red-after on four mutations, including one that stays
green for the right reason and is recorded as a limit. Offline; no network.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QwphwRfCBaDDCzeYghKuoM
This commit is contained in:
parent
a501d8d157
commit
3793466521
2 changed files with 268 additions and 4 deletions
|
|
@ -27,12 +27,12 @@ verdicts. This is the **Claude Agent SDK** implementation of that method (decisi
|
|||
|
||||
- [Install](#install)
|
||||
- [Non-goals](#non-goals)
|
||||
- [Built from the spec — and, since 2026-08-09, in the open against the sibling](#built-from-the-spec--and-since-2026-08-09-in-the-open-against-the-sibling)
|
||||
- [Architecture — the seams](#architecture--the-seams)
|
||||
- [Built from the spec — and, since 2026-08-09, in the open against the sibling](#built-from-the-spec-and-since-2026-08-09-in-the-open-against-the-sibling)
|
||||
- [Architecture — the seams](#architecture-the-seams)
|
||||
- [The operator CLI](#the-operator-cli)
|
||||
- [Setting up a knowledge base](#setting-up-a-knowledge-base)
|
||||
- [The ingest layer — CSV and SQL, in front of the loop](#the-ingest-layer--csv-and-sql-in-front-of-the-loop)
|
||||
- [The live run — S10, executed and validated](#the-live-run--s10-executed-and-validated)
|
||||
- [The ingest layer — CSV and SQL, in front of the loop](#the-ingest-layer-csv-and-sql-in-front-of-the-loop)
|
||||
- [The live run — S10, executed and validated](#the-live-run-s10-executed-and-validated)
|
||||
- [Stack](#stack)
|
||||
- [Development](#development)
|
||||
- [Changelog](#changelog)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue