32 emit sites in build_blocks.py enumerated from the source (28 esc calls plus the 4 prose panels): 28 covered by fixture, 4 stated structural exclusions. 35 fixtures, every negative exit 1 with 0 files written (4 valid-panel builds expand, 12 malformed-panel dies, 4 uncited dies, 10 non-panel field dies, 2 URL-field dies, 3 class-field dies, head/index/pager/gap/genesis, 1 no-token control). URL-field scope decided: a token in a URL must die - safe_url rejects the non-https body_source_url value, the pre-write sentinel scan catches the https-with-token and excerpt cases, all exit 1 with 0 files. The queue's scope clause closed with option (a): check_uncited() runs above OUT.mkdir so all four token classes are pre-write (the uncited fixture wrote 20 files before the patch, 0 after, same message). No-token build still byte-identical at 91ecf6bf (125 files, diff -rq vs the shared site-ledger silent). Shared tree untouched at 97fedb5d with blocks.json 63c9cee6; live index 200 / 34,488 B / 4f764ef4dfb9. Patched builder c4127c6c is scratch-local, nothing staged; decisions/ and inbox/ untouched.
Check-ins
One file per person per day: YYYY-MM-DD-<handle>.md.
Zeph writes YYYY-MM-DD-zephyrus.md.