Docs
Everything here is written for someone who has never seen chaff and is deciding, in about ninety seconds, whether it is serious.
Install
git clone https://github.com/jamessuuu/chaff
cd chaff
pnpm install
pnpm --filter chaff buildchaff is pre-release and not on npm yet, so this workspace-local build is the only way to run it today. See the quickstart for the first real analysis.
Where to go next
- Quickstart →
Five minutes: install, write a small context file with one real problem, run chaff, read the finding.
- Concepts →
Resident vs. on-demand vs. dropped, and why the chaff% numerator excludes heuristics and set-level aggregates.
- Rule tiers →
Two tiers gate a build (enforced, heuristic); three evidence kinds explain why (measured, structural, unmeasured).
- Rule admission pipeline →
SPEC §8: how a heuristic becomes a measured, enforced rule. Specified in full; not yet run in this build.
- Failure modes →
What chaff does when an entry is missing, a glob matches nothing, a schema is malformed, or a run itself goes wrong.
- Limitations →
Static analysis only. Ref-tokenizer estimates. False negatives preferred over false positives. Named plainly.
Also useful
The rule catalog is generated at build time from the committed registry: every id, tier, evidence kind, claim, and fix, including the graveyard. The case study runs chaff on a real, redacted context file, before and after a fix, with every number computed at build time. SPEC.md is the frozen design document these docs summarize; where they disagree, SPEC.md is binding.