Show HN: Sagrada – a linter for instruction files' belief state

mars-ausili1 pts0 comments

Sagrada — a linter for the belief state of agent instruction files

Sagrada — a linter for the belief state of agent instruction files<br>uvx sagrada-linter read .<br>code · PyPI · Apache-2.0

the Graveyard — a demo<br>When run on 400 of the most starred public repos, 14.5% had zombie rules walking in their agent instruction files.<br>top 80 by stars in each of five package ecosystems · 393 of 400 readable · not yet hand-checked for false positives, so 14.5% is a ceiling<br>This reads any public repo’s own history in the browser — no server, every request visible in devtools.<br>One GitHub request per commit that touched a rule file; GitHub allows 60 an hour per visitor. A long history can spend that in a single read — the CLI has no such limit.<br>read the recordWALKINGdeleted, now back — undeclaredno command — this is what the history shows<br>EXHUMEDdeleted, now back — declared, reason on the line: sagrada-linter restore wrote the reason<br>INTERREDdeleted, still goneno command — this is what the history shows<br>ENTOMBEDdeleted, still gone — with a dated tombstonesagrada-linter forget wrote it

limitations“The same rule” = the same term on a structured line (term: text or - term — text), lowercased and punctuation-collapsed; the text after the term may differ. Prose instructions are not tracked. This port is simplified — the CLI reads full history, signs a receipt, and wins any disagreement.

the Belief Rot Index — a weekly census of tracked repos<br>2026-W3138 repos27 CLEAR11 ROTTEN<br>reposcorezombiesdays walking (oldest)a tracked developer toolin AGENTS.md · unnamed518101a tracked agent-tooling libraryin CLAUDE.md · unnamed544187a tracked agent frameworkin CLAUDE.md · unnamed603222a tracked agent frameworkin AGENTS.md · unnamed65221a tracked developer toolin a rule file · unnamed661302a tracked agent frameworkin AGENTS.md · unnamed671a tracked agent frameworkin AGENTS.md · unnamed7415a tracked agent-tooling libraryin AGENTS.md · unnamed761170Cruxia-Labs/cruxia-engineself-listed·1000—Cruxia-Labs/sagrada-linterself-listed·1000—<br>Unnamed rows carry real numbers and no identity, itemized from the last reviewed bank (2026-W29).<br>the full Index →

Try it yourself<br>The same reading against a full clone. Shallow clones carry no history; the tool says so rather than printing a clean result.<br>git clone https://github.com/Cruxia-Labs/sagrada-specimen && cd sagrada-specimen && uvx sagrada-linter read .<br>EXAMEN — sagrada-specimen<br>reading 1 rule file across 17 commits. nothing leaves this machine.

o RESTORED WITH INTENT tone<br>"Keep error messages plain and unfunny"<br>killed 376ce593 2026-03-02<br>returned 2ba05a7d 2026-03-28 — with the decision on the books:<br>in-file · "restored 2026-04-02: the style guide never shipped"<br>not a zombie. an intentional restoration, recorded.

+ WALKING deploy_gate<br>"Always run migrations manually before deploy"<br>killed e48323d1 2026-02-14<br>revived 0f6c89af 2026-05-19<br>active again in CLAUDE.md:2 today · walking 74 days

sagrada-specimen: 1 walking · 1 restored with intentthe CLI’s own output, captured 2026-08-01 — the day count moves; the commits do not<br>the gateguard locks every dead rule and fails CI on an undeclared return, with the kill history in the failure. The specimen runs it on itself — three blocked pull requests and one declared restoration in its PR tab.<br>receiptsFindings carry a signed receipt that recomputes offline — three implementations on disjoint stacks. The verdict does not require trusting the party that produced it.<br>restoreA flagged rule can be one you re-added on purpose. restore writes the reason onto the line and the reading reports it as intentional. Wrong about your repo? Open an issue with the two commits.

sagrada tracked agent linter history rule

Related Articles