core/teaching
Shay fbbc57edff
feat(ADR-0172/W3): core eval math-contemplation CLI lane (#384)
Wires `decompose_audit()` into a new `core eval math-contemplation`
subcommand:

- `cmd_eval_math_contemplation` in `core/cli.py` dispatched via `cmd_eval`
  when `lane == "math-contemplation"`
- `--audit` (default: audit_brief_11.json) + `--output` (default:
  teaching/math_proposals/proposals.jsonl) with path-traversal validation
  (absolute paths and directory-escaping relative paths → exit 2)
- exit 0 success / exit 1 audit-not-found / exit 2 parse-error or rejection
- `--json` flag for machine-readable output
- idempotent: re-run on same audit writes byte-identical JSONL
- output sorted by proposal_id (inherits decomposer sort contract)
- forbidden: no auto-apply, no writes outside teaching/math_proposals/,
  no audit-file mutation
- `teaching/math_proposals/.gitkeep` directory scaffold committed
- `.gitignore` entry for `teaching/math_proposals/proposals.jsonl`
- 11 tests in `tests/test_adr_0172_w3_cli_lane.py`; runtime suite green
2026-05-27 12:58:31 -07:00
..
admissibility_exemplars feat(ADR-0163.B.2): four new exemplar corpora — discrete_count_statement, multiplicative_aggregation, currency_amount, plus temporal_aggregation v2 widening (#306) 2026-05-26 14:36:59 -07:00
cognition_chains chore(ratify): accept four Phase C round-2 recognizers (round 2) (#309) 2026-05-26 16:03:01 -07:00
cross_pack_chains
domain_chains
math_corpora
math_proposals feat(ADR-0172/W3): core eval math-contemplation CLI lane (#384) 2026-05-27 12:58:31 -07:00
proposals chore(ratify): accept four Phase C round-2 recognizers (round 2) (#309) 2026-05-26 16:03:01 -07:00
relations_chains
relations_chains_v2
__init__.py chore(teaching): MetricSet dataclass (ADR-0142 debt #3) (#231) 2026-05-24 15:15:02 -07:00
audit.py
contemplation.py fix(ADR-0167): route contemplation and proposal replay by candidate domain (#363) 2026-05-27 09:43:16 -07:00
correction.py
cross_pack_supersede.py
discovery.py feat(ADR-0167/W2-C): domain discriminator + cross-domain audit (#351) 2026-05-27 06:44:29 -07:00
discovery_sink.py
epistemic.py
exemplar_ingest.py feat(ADR-0163.C.2): extend exemplar ingest + synthesis + matchers for round-2 categories (#307) 2026-05-26 15:08:41 -07:00
from_curriculum.py
from_miner.py
gaps.py
math_claim_signature.py feat(ADR-0167/W2-B): lexical claim signature + dedup (#353) 2026-05-27 06:56:36 -07:00
math_contemplation.py feat(ADR-0172/W2): audit-corpus decomposer (#383) 2026-05-27 12:39:53 -07:00
math_contemplation_proposal.py feat(ADR-0172/W1): MathReaderRefusalShapeProposal schema (#380) 2026-05-27 12:25:49 -07:00
math_evidence.py feat(ADR-0167/W1-A): MathReaderRefusalEvidence schema + canonical-bytes (#350) 2026-05-27 06:30:21 -07:00
math_lexical_ratification.py feat(ADR-0167/W2-D): lexical ratification handler (#354) 2026-05-27 06:57:37 -07:00
math_reasoning_trace.py feat(teaching/W0): ReasoningTrace substrate for ADR-0172 Tier 1 (#379) 2026-05-27 12:21:59 -07:00
metric_set.py chore(teaching): MetricSet dataclass (ADR-0142 debt #3) (#231) 2026-05-24 15:15:02 -07:00
migrate_proposals_source_field.py
oov_gaps.py
oov_promotion.py
oov_sink.py
promotion.py
proposals.py fix(ADR-0167): route contemplation and proposal replay by candidate domain (#363) 2026-05-27 09:43:16 -07:00
provenance.py
queue.py feat(ADR-0161.2): HITL queue backpressure — pending-count cap + queue_full reports (#311) 2026-05-26 16:16:08 -07:00
recognizer_synthesis.py feat(ADR-0163.C.2): extend exemplar ingest + synthesis + matchers for round-2 categories (#307) 2026-05-26 15:08:41 -07:00
relation_parse.py
replay.py feat(ADR-0163.C): contemplation ingests admissibility exemplars and emits DerivedRecognizer proposals through the HITL corridor (#301) 2026-05-26 12:26:56 -07:00
review.py
source.py feat(ADR-0163.C): contemplation ingests admissibility exemplars and emits DerivedRecognizer proposals through the HITL corridor (#301) 2026-05-26 12:26:56 -07:00
store.py
supersede.py