Rule tiers
Tier is the gate axis (does this fail a build). Evidence is the honesty axis (why should you believe it). They are printed separately on every finding, on purpose.
Two tiers
| Tier | What it means |
|---|---|
| enforced | Fails a build by default (--fail-on enforced). Backed by either a structural fact or a measured eval, never by belief alone. |
| heuristic | Reported, labeled unmeasured in every line of output, excluded from the chaff% score, and never fails a build by default. |
Three evidence kinds
| Evidence | What backs the claim |
|---|---|
| structural | A deterministic fact about the artifact: a broken @-import, content past a documented read limit, a schema/description mismatch. Asserts nothing about model behavior, so it needs no eval. Always tier enforced. |
| measured | A falsifiable behavioral claim backed by a committed, reproducible eval (the admission pipeline): removing the flagged pattern measurably changes model behavior on a named battery, relative to a control edit of equal token size, on named models. Always tier enforced. |
| unmeasured | A behavioral claim believed, not yet measured. Always tier heuristic. |
The count, generated from the registry
17 rules total: 0 measured, 6 structural (both enforced), 8 heuristic, and 3 planned-measured (heuristic placeholders for the admission pipeline with no detector implemented yet). This page cannot drift from packages/chaff/src/core/rules/registry.ts because it reads the same registry the CLI and the full catalog do.