-
feat(05-05): Reality Anchor pipeline + tests (D-ANCHOR-04 launch gate)
- scripts/export_dogfood.py: read consent_level IN ('redacted','ssid') from
agent history.db → reality_anchor_raw.jsonl
- scripts/label_anchor.py: interactive (or --non-interactive) label confirmation
→ data/reality_anchor.parquet (mirrors eval.parquet column shape + consent_level)
- scripts/eval_reality_anchor.py: per-class P/R/F1 + n>=3-weighted macro F1;
idempotent <!-- REALITY_ANCHOR_START/END --> block update in MODEL_CARD.md;
exit-code conventions 0/2/3/4 for ok/precondition/sparse/gate-failed
- Makefile: export-dogfood / label-anchor / eval-anchor / reality-anchor targets
- tests: 9 tests covering math + exit codes + idempotent update;
3 additional task-2 lints (model-card columns, datasheet section) pending