Corpus Benchmark

A reproducible benchmark for academic validation: cfgdrift mines configuration change pairs from real project git history, standardizes them into a JSONL corpus, and supports dual annotation with Cohen's kappa — so research claims about detection accuracy are verifiable.

Toolchain

cfgdrift corpus init --workspace <dir>          # corpus.yaml + state.json + repos/
cfgdrift corpus fetch --workspace <dir>          # git history -> change pairs -> instances.jsonl
cfgdrift corpus export --workspace <dir>         # idempotent full rewrite (deterministic)
cfgdrift corpus validate --workspace <dir>       # JSONL schema check + stats (corrupt → exit 2)

Dual annotation + kappa (v0.8.0)

cfgdrift corpus annotate --workspace <dir> --annotator alice            # interactive
cfgdrift corpus annotate --workspace <dir> --annotator alice --batch labels.yaml   # CI-friendly
cfgdrift corpus kappa --workspace <dir> [--annotator-a A --annotator-b B] [--weighted linear|quadratic] [--json]
cfgdrift corpus stats --workspace <dir> [--json]

Zero-noise regression: the corpus feeds the diff and constraint engines, and the full test suite asserts byte-identical output on legal changes — see docs/ system design docs and README.en.md.