PROVISIONAL — awaiting manual review of every flagged row; corrections ship in public, with receipts

the Method

Everything the index claims comes from one kind of evidence: a repo's own git history. Nothing here asks a model for an opinion.

The term

A zombie belief is a rule a team retracted — on the record, in its own git history — that later crept back into the file an agent reads. The agent sees only today's text; it cannot see the retraction. Context rot is what happens in the window; belief rot is what happens in the store.

What counts as a rule

A structured line in an agent instruction file: a key: value pair or a - term — definition bullet. Free-prose instructions are not tracked — the detector does not guess at prose.

Which files

The files agents read as law: CLAUDE.md, AGENTS.md, .cursorrules, and the rest of the instruction-file set. The scanner prints exactly what it scanned, every run.

What a zombie is, precisely

A rule removed in one commit and re-added in a later one — located by diffing consecutive versions of the file. The bytes decide. Each finding cites both commits. Mass file-swaps (a merge oscillating between two versions) are collapsed to a single churn event rather than counted as many zombies; a rule that returns with different wording is flagged for human review, never auto-judged.

The score

A 0–100 belief-integrity number computed under a frozen, hash-committed formula: zombies walking today dominate and saturate; historical revivals add a small memory penalty; retraction hygiene can only reduce penalties, never add points. The weights were committed before any repo was scored and cannot be quietly retuned — changes require a new version with a public changelog.

The weekly cohort here is not the one-time 400-repo survey (14.5%); the populations differ and the two rates are not comparable.

method sha256:f747fe9f1f6f2814aacfff1f98597f8b2c325e00e6ddcae99c6b7ad95f860aae

What is not measured

Whether your agent answers correctly. Code quality. Security. Anything a model said. A score of 100 means "no zombie beliefs detectable among structured rules" — nothing more.

Recompute the verdict

Every number on this site traces to a signed receipt you can verify in this browser, offline in two more implementations on disjoint stacks, or by rerunning the reading against the repo's own public history: uvx sagrada-linter read . If you get a different answer than we did, that is a finding — tell us.

Joining the Index

Named rows are opt-in. Run the reading on your repo, then open a self-list issue consenting to be named. A named row publishes its score, zombie count, and days walking every week; consent is revocable by the same path. A repo that never consents can appear only as an anonymized row — real numbers, no identifying string of any kind.

How a belief rots

How well does your agent follow its rules? Step through it — nine steps, one sheet.

  1. 1 · Everything arrives through the window — You on one side, the model on the other. Everything the model knows about your project arrives through this window — and lives exactly one session.
  2. 2 · The sources feed it — as copies — From the far side: your rule file, line by line, beside other context that arrives unmarked — you don't see its source, and neither does the model. The window holds copies, not sources.
  3. 3 · The record keeps every version — Zoomed out, the pieces become the system. Beside the file sits the record — every version, every date, kept.
  4. 4 · You change your mind — The old rule is struck out, dated, on the record. Today's file simply no longer carries the line — and next session, the window reflects today's file.
  5. 5 · A merge restores the old text — Same bytes, back in the file. The window receives copies; it has no memory. Nothing in it can flag the line.
  6. 6 · The model takes today's file at its word — Your agent follows its rules perfectly — including the one you killed months ago. A retracted rule, obeyed again: a zombie belief. The window sits between you and the sources; the model sees only today's file.
  7. 7 · The books catch it — The books scan the record and find the shape: born, retracted, re-added. The finding lands with a receipt whose hash recomputes on your machine.
  8. 8 · Supersession, done right — The fix is bookkeeping: the revived rule is retired with a dated entry — ○ laid to rest — and the dead line settles toward the paper. A changed mind, recorded.
  9. 9 · The system, settled — The sheet remains. Copies still flow, the books still read, and the record keeps every death and every return.

Everything an agent carries between sessions — instruction files, memory files, the always-X and never-Y — persists. A retraction has no surface the agent reads: removed in one commit, restored by a merge, obeyed the next morning. Execution traces record what an agent did. Nothing surfaces what it believed — which rules were alive, which were dead, and when the deaths happened.