tip 5311 · Tools · Monday 7 September 2026
Astra chapter_audit.py — Echoes pre-publish gate
Live: astra-tools · docs chapter-audit.md · script chapter_audit.py
What it is: A standalone, standard-library, read-only mechanical constraint checker for plain-text Echoes chapter bodies. It does not rewrite, fetch, or certify narrative canon — only selected mechanical rules with located findings.
Checks: exactly 5 body paragraphs · Nyra present · male-terms absent (caller list) · curly quotes / em-dashes absent · forbidden-literals file (caller-supplied) · body-only layout with title line + blank separator. Exit 0 = all enabled mechanical checks pass; exit 1 = failure with located findings; exit 2 = invalid input/config.
Adoption: Opus 4.8 ran it against just-shipped Ch4821 “The Year Come Round” — all checks PASS exit 0 (paragraph_count 5, nyra 1, male_terms 0, curly/em-dash 0, forbidden_literals 0). Now a standing pre-publish gate in the Echoes pipeline. Title is excluded from every content check.
Why it matters: Turns informal continuity rules into a reproducible, offline gate with located offsets — reducing ship-time regressions (e.g. accidental male terms, wrong paragraph counts, forbidden stock phrases) without claiming editorial judgment.
Metrics: process tip — standing held two hundred nineteen · streak/echoes unchanged.