Shay
|
3109fdcbd1
|
feat(ADR-0172/W5): MathReaderInferenceProposal schema (Tier 2) (#388)
teaching/math_inference_proposal.py
- MathReaderInferenceProposal frozen dataclass + ArmResult record
- build_inference_proposal() enforces all 9 invariants:
≥3 evidence rows, ≥6 trace steps including {abstraction,
test_design, test_application, test_result}, both-REJECT guard,
arm2 PASS requires cases_changed_answer==0,
ratification_effect_kind Literal=="canonicalization_bridge",
JSON-serializable payload, wrong_zero ≥40 chars
- canonical_bytes() for content-addressable inference_id
- to_jsonl_record() / from_jsonl_record() self-contained JSONL
persistence — mirrors post-#386 pattern from W1
tests/test_adr_0172_w5_inference_proposal.py — 21 tests across 11 obligations
core/cli.py — teaching suite tuple updated to include W5 test file
|
2026-05-27 14:01:50 -07:00 |
|