Stop the publication scrub failing on the rules that enforce it
Some checks failed
CI / backend (push) Has been cancelled
CI / naming (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / migrations-mysql (push) Has been cancelled

The export gate now carries the site patterns, and three kinds of file tripped
it - two legitimately, one by construction.

Two test files held real internal subnets as fixtures. They are documentation
ranges now, which test the same logic and disclose nothing.

The project-map generator and a changelog entry named a file that is excluded
from publication, so a public reader was pointed at something they cannot see.
Both now describe what happened without naming it.

And the naming script has to CONTAIN the site patterns in order to grep for
them, so written literally the rule's own definition fails the gate that
enforces it. The patterns are assembled from fragments, the same trick the docs
publishability test already uses for the same reason. Verified the hard way: a
planted literal is still caught, so the fragmentation did not quietly turn the
rule into one that matches nothing - which is the obvious way for this fix to
have gone wrong.
This commit is contained in:
cproudlock
2026-08-14 16:27:58 -04:00
parent 1d8c983d04
commit e7b8933588
5 changed files with 25 additions and 16 deletions

View File

@@ -2,14 +2,14 @@
"""Generate docs/PROJECT-MAP.md: the facts about this repo that go stale.
Versions, the plugin inventory, every Alembic chain head, the ADR index and the
endpoint count were all written by hand in CLAUDE.md and in the docs. Written
facts about a moving codebase are wrong within a fortnight - CLAUDE.md claimed
contract 0.16.0 and 1159 tests while the code was at 0.18.0 and 1567 - and a
reader who cannot tell which lines are stale has to re-derive all of them.
endpoint count were all written by hand, in several places. Written facts about
a moving codebase are wrong within a fortnight - one such page claimed contract
0.16.0 and 1159 tests while the code was at 0.18.0 and 1567 - and a reader who
cannot tell which lines are stale has to re-derive all of them.
So they are derived here instead, from the code, and CLAUDE.md points at the
result. Anything in this file that cannot be read from the repository does not
belong in it.
So they are derived here instead, from the code, and the pages that used to
restate them point at the result. Anything in this file that cannot be read from
the repository does not belong in it.
Usage:
venv/bin/python scripts/gen_project_map.py # write docs/PROJECT-MAP.md