Replace the regex sentence-template front-end of the math admissibility layer with an incremental compositional reader. Lock the architectural boundary that regex is permitted only at the lexeme level, never as sentence-structure templates. ADR-0164 (Proposed) — Incremental Comprehension Reader. Word-by-word state accumulation over a closed set of semantic categories, with the operational lexicon living as a pack-shaped data artifact under language_packs/data/en_core_math_v1/. Reader output type matches the existing regex parser's output, so the binding-graph admissibility (ADR-0132/0133/0134/0135), the solver (ADR-0116), and the verifier (ADR-0117) stay unchanged. wrong=0 is preserved by construction — the reader produces inputs to the existing admissibility gate, not a bypass around it. Phased coexistence with the regex layer during transition; regex sentence templates removed in Phase 3. ADR-0165 (Proposed) — Regex Scope Rule. Structural invariant: regex matches one piece of orthographic material with a closed rule (currency literal, fraction literal, percentage, time-amount, closed unit-noun sets), never a sentence shape. Lexeme-primitive registry is closed and grown through the same contemplation -> proposal -> HITL review corridor that grows vocabulary (ADR-0150 / 0152 / 0155 / 0161). The engine acquires new recognition tools through reviewed teaching, not through operator edits to parser code. ADR-0163's diagnosis (front-end is the bottleneck) is reaffirmed. Its Phase B-E prescription (regex DerivedRecognizers via recognizer_match.py) is partially superseded by ADR-0164. ADR-0136 and its S-family (S.1 / S.2 / S.3 / S.4) have the same disposition: regex sentence-template prescription superseded; empirical refusal taxonomies and closed-set vocabulary preserved as lexicon seed. The HITL corridor architecture is preserved; what flows through it changes from regex recognizers to lexicon entries, categories, and lexeme primitives. Session log SESSION-2026-05-26-comprehension-reader.md captures the narrative of how this decision emerged from the post-D.2 train-sample baseline review (correct=3 refused=47 wrong=0, 34/47 refusals at the question gate). No runtime code changes. ADRs only.
22 KiB
Architecture Decision Records
This directory contains the Architecture Decision Records (ADRs) for the CORE project.
ADRs record significant architectural decisions: what was decided, why, what alternatives were considered, and what consequences follow. They are permanent records — superseded ADRs are archived, not deleted.
Index
| ADR | Title | Status |
|---|---|---|
| ADR-0080 | Contemplation Loop | Accepted (2026-05-22) |
| ADR-0091 | Domain Pack Contract v1 | Accepted (2026-05-22) |
| ADR-0092 | Reviewer Registry v1 | Accepted (2026-05-22) |
| ADR-0093 | Domain Pack Contract v1 implementation | Accepted (2026-05-22) |
| ADR-0094 | Proposal Source Provenance | Accepted (2026-05-22) |
| ADR-0095 | Miner-Sourced Teaching Proposals | Accepted (2026-05-22) |
| ADR-0096 | Fabrication-Control Eval Lane | Accepted (2026-05-22) |
| ADR-0097 | Mathematics-Logic Reasoning-Capable Ratification | Accepted (2026-05-22) |
| ADR-0098 | Demo Composition Contract | Accepted (2026-05-22) |
| ADR-0099 | Public Showcase Demo | Accepted (2026-05-22) |
| ADR-0100 | Physics Reasoning-Capable Ratification | Accepted (2026-05-22) |
| ADR-0101 | Systems-Software Reasoning-Capable Ratification | Accepted (2026-05-22) |
| ADR-0102 | Hebrew-Greek Textual-Reasoning Reasoning-Capable Ratification | Accepted (2026-05-22) |
| ADR-0103 | Fluency Lane Attachment for ADR-0102 | Accepted (2026-05-22) |
| ADR-0104 | Curriculum-Sourced Teaching Proposals | Accepted (2026-05-22) |
| ADR-0105 | Sealed Holdout Encryption via age | Accepted (2026-05-22) |
| ADR-0106 | Expert-Demo Promotion Contract | Accepted (2026-05-22) |
| ADR-0107 | mathematics_logic Expert-Demo Promotion — Deferred |
Accepted (2026-05-22) |
| ADR-0108 | Proposed-ADR Sequencing Post-ADR-0105 | Accepted (2026-05-22) |
| ADR-0109 | Lane-Shape-Aware Thresholds (ADR-0106 Amendment) | Accepted (2026-05-22) |
| ADR-0110 | mathematics_logic Expert-Demo Promotion |
Accepted (2026-05-22) |
| ADR-0111 | physics Expert-Demo Promotion |
Accepted (2026-05-22) |
| ADR-0112 | Runnable Audit-Passed Showcase (originally "Expert-Demo") | Accepted (2026-05-22) |
| ADR-0113 | Rename expert-demo → audit-passed; Reserve expert for Future Capability Tier |
Accepted (2026-05-22) |
| ADR-0114 | Expert-Capability Roadmap: GSM8K-Math First | Proposed (2026-05-22) |
| ADR-0114a | Anti-Overfitting Proof Obligations for expert Promotion |
Accepted (2026-05-22) |
| ADR-0115 | Math Problem Parser and Typed Proposition Graph | Phase 1.1+1.2+1.3 Accepted (2026-05-22) |
| ADR-0116 | Deterministic Solver (MathProblemGraph → SolutionTrace) |
Accepted (2026-05-22) |
| ADR-0117 | SolutionTrace Verifier (independent of solver) |
Accepted (2026-05-22) |
| ADR-0118 | Stepped Realizer (SolutionTrace → Prose) |
Accepted (2026-05-22) |
| ADR-0118a | OOD Surface Generator for GSM8K-Style Parser Dev | Accepted (2026-05-22) |
| ADR-0122 | systems_software Audit-Passed Promotion: Deferred |
Accepted (2026-05-22) |
| ADR-0123 | symbolic_logic Lane-Shape Remap (ADR-0109 Amendment) |
Accepted (2026-05-22) |
| ADR-0124 | systems_software Audit-Passed Promotion |
Accepted (2026-05-22) |
| ADR-0123a | all_three_pass_rate Synonym in inference_shape (ADR-0109 Amendment) |
Accepted (2026-05-22) |
| ADR-0125 | Reasoning-Isolation Perturbation Suite | Accepted (2026-05-22) |
| ADR-0119 | GSM8K Eval Lane Roadmap (Phase 5; decomposes into 5.1..5.8) | Proposed (2026-05-22) |
| ADR-0119.1 | Seal fabrication_control Holdout (ADR-0105 Amendment) |
Accepted (2026-05-23) |
| ADR-0119.2 | GSM8K Eval Corpus Dev/Public Splits | Accepted (2026-05-22) |
| ADR-0119.3 | gsm8k_math Lane Runner (Phase 5.3) | Accepted (2026-05-22) |
| ADR-0119.4 | GSM8K Math: Frontier-Baseline Comparison (ADR-0114a §Obligation #7) | Accepted (2026-05-22) |
| ADR-0119.5 | GSM8K Math Adversarial Generation (ADR-0114a Obligation #8) | Accepted (2026-05-23) |
| ADR-0119.6 | GSM8K Math Depth-Curve Measurement Harness | Accepted (2026-05-23) |
| ADR-0119.7 | Sealed GSM8K Test Set as gsm8k_math Holdout | Accepted (2026-05-23) |
| ADR-0119.8 | gsm8k_math Overall Lane Gate (gsm8k_capability_shape) |
Accepted (2026-05-23) |
| ADR-0120 | First expert Promotion Contract (composes ADR-0114a 10/10) |
Proposed (2026-05-23) |
| ADR-0121 | mathematics_logic expert Promotion — Deferred (first attempt) |
Accepted (2026-05-23) |
| ADR-0122 | Parser Expansion: Rate / Per-Unit Reasoning (substrate-only; lift deferred) | Accepted (2026-05-22) |
| ADR-0123 | Comparison-Phrasing Realizer (surface increment on the ADR-0123 substrate; _compare_additive_sentence + _compare_multiplicative_sentence) |
Accepted (2026-05-23) |
Current frontier
The ADR-0091..0114 slate is fully accepted (0091..0113) plus one proposed-roadmap entry (0114) and mechanically evidenced:
- Domain Pack Contract v1 — ADR-0091
- Reviewer Registry v1 — ADR-0092
- Domain Contract v1 enforcement — ADR-0093
- Proposal Source Provenance — ADR-0094
- Miner-Sourced Teaching Proposals — ADR-0095
- Fabrication-control negative eval lane — ADR-0096
mathematics_logicreasoning-capable ratification — ADR-0097- Demo Composition Contract — ADR-0098
- Public Showcase Demo — ADR-0099
physicsreasoning-capable ratification — ADR-0100systems_softwarereasoning-capable ratification — ADR-0101hebrew_greek_textual_reasoningmulti-pack reasoning-capable ratification — ADR-0102- Hebrew/Greek fluency lane attachment for ADR-0102 — ADR-0103
- Curriculum-Sourced Teaching Proposals — ADR-0104
- Sealed Holdout Encryption via age — ADR-0105
- Expert-Demo Promotion Contract — ADR-0106
mathematics_logicExpert-Demo Promotion deferred (first attempt) — ADR-0107- Proposed-ADR Sequencing — ADR-0108
- Lane-Shape-Aware Thresholds (ADR-0106 amendment) — ADR-0109
mathematics_logicExpert-Demo Promotion (first successful) — ADR-0110physicsExpert-Demo Promotion (second successful) — ADR-0111- Runnable Audit-Passed Showcase (originally "Expert-Demo"; renamed) — ADR-0112 + ADR-0113
- Rename
expert-demo→audit-passed; reserveexpertnamespace — ADR-0113 - Expert-Capability Roadmap (GSM8K-Math first); proposed — ADR-0114
- Math Problem Parser & Typed Graph (Phase 1.1 schema + 5 seeds + Phase 1.2 45 more cases + Phase 1.3 parser engine; 50/50 byte-equal) — ADR-0115
- Anti-Overfitting Proof Obligations for any future
expertpromotion (10-point falsifiable framework) — ADR-0114a - Deterministic Solver (Phase 2; SolutionTrace + en_arithmetic_v1 pack; discharges ADR-0114a obligations #3, #4, #9, #10) — ADR-0116
- SolutionTrace Verifier (Phase 3; solver-independent replay; lifts ADR-0114a Obligation #3 to verifier fidelity) — ADR-0117
- OOD Surface Generator (150 deterministic variants; discharges ADR-0114a obligation #2 for the GSM8K-style parser dev lane) — ADR-0118a
- Stepped Realizer (Phase 4; SolutionTrace → show-your-work prose; substrate for ADR-0119 GSM8K eval lane) — ADR-0118
symbolic_logicLane-Shape Remap (ADR-0109 amendment) — ADR-0123systems_softwareAudit-Passed Promotion (third successful) — ADR-0124all_three_pass_rateSynonym ininference_shape(ADR-0109 Amendment) — ADR-0123a- Reasoning-Isolation Perturbation Suite (224 deterministic applicable semantic perturbations; discharges ADR-0114a obligation #5 for the GSM8K-style parser dev lane) — ADR-0125
- GSM8K Eval Lane Roadmap (Phase 5; decomposes into 5.1..5.8; proposed) — ADR-0119
- Seal
fabrication_controlHoldout (ADR-0105 Amendment) — ADR-0119.1 - GSM8K Eval Corpus Dev/Public Splits (200 CORE-original cases; verify.py 200/200; sealed holdout placeholder reserved for ADR-0119.7) — ADR-0119.2
- gsm8k_math Lane Runner (Phase 5.3; correct/wrong/refused triple; wrong==0 gate; current: 200/200 correct on dev+public) — ADR-0119.3
- GSM8K Math: Frontier-Baseline Comparison (citations for Claude 3.5, GPT-4, Gemini 1.5; comparison_v1.json; discharges ADR-0114a §Obligation #7) — ADR-0119.4
- GSM8K Math Depth-Curve Measurement Harness (discharges ADR-0114a Obligation #6 measurement-side) — ADR-0119.6
- Sealed GSM8K Test Set (1,319 cases age-encrypted; one-way seal; first honest CORE-vs-real-GSM8K measurement: 0/1319 correct, 0 wrong — ADR-0114a Obligation #4 holds against external corpus) — ADR-0119.7
- GSM8K Math Adversarial Generation (38 cases × 12 families; closes ADR-0114a Obligation #8; misparse rate 0/38; 10 of 10 obligations now discharged on main) — ADR-0119.5
- gsm8k_math Overall Lane Gate (Phase 5.8; new
gsm8k_capability_shapeinLANE_SHAPE_REGISTRY; composes wrong==0 + correct+refused==total + overall_pass; live dev 50/50 + public 150/150 pass) — ADR-0119.8 - First
expertPromotion Contract (composes all 10 ADR-0114a obligations + correct_rate ≥ 0.60 floor + depth-curve ε=0.05 + signed expert_claims; proposed; ADR-0121 the first worked attempt) — ADR-0120 - First
expertPromotion Attempt —mathematics_logic— DEFERRED (mirrors ADR-0107 → ADR-0110 pattern for audit-passed; all 10 obligations pass; correct_rate gate refuses honestly at 0/1319; parser-expansion arc is the named unlock;wrong == 0discipline holds against external benchmark) — ADR-0121 - Parser-Expansion Arc — first class shipped (rate/per-unit) as substrate-only with lift deferred (
Ratedataclass +apply_rateoperation kind + parser/solver/verifier/realizer +en_arithmetic_v1:apply_ratepack lemma; 41 invariants pinned; sealedcorrect_ratestays at 0/1319 withwrong == 0; multi-construction barrier documented — every real GSM8K rate problem combines rate with ≥1 other class, so per-ADR lift signal is corrected to cumulative-after-3rd-or-4th-class) — ADR-0122 - Parser-Expansion Arc — comparison-phrasing class shipped fully end-to-end as substrate (PR #155
feat/adr-0123-substrate:Comparisondataclass +compare_additive/compare_multiplicativeoperation kinds + parser patterns forN more/N fewer/twice/N times/half+ solver/verifier wiring +en_arithmetic_v1:compare_additive+en_arithmetic_v1:compare_multiplicativepack lemmas) + surface (this ADR:_compare_additive_sentence+_compare_multiplicative_sentencerealizer helpers wired into_step_sentence;parse_problem → solve → realizeoperates end-to-end on all four comparison shapes); sealedcorrect_ratestays at 0/1319 withwrong == 0(multi-construction barrier holds; cumulative lift signal expected after the 3rd/4th class lands) — ADR-0123 - Phase 5 complete (2026-05-22): All ADR-0119 sub-phases (5.1..5.8) landed; ADR-0114a 10/10 obligations discharged for the gsm8k_math lane on main; first honest CORE-vs-real-GSM8K measurement published (0/1319 correct, 0 wrong, 1319 refused); ADR-0120 (first
expertpromotion contract) is the next gate.
ADR-0080 has also landed: Contemplation Loop Phase 1 adds a read-only frontier-compare miner that emits SPECULATIVE findings only.
Seven lanes are SHA-pinned in scripts/verify_lane_shas.py and gated by the lane-shas GitHub Actions workflow:
reviewer_registrydomain_contract_validationminer_loop_closurecurriculum_loop_closurefabrication_control_summarydemo_compositionpublic_demo
Proposed-but-unimplemented ADRs
Sequencing per ADR-0108. Listed in priority order:
- ADR-0084 — Definitional Layer for Lexicon Packs. Optional per-entry definitional block. Deferred — value surfaces during a worked expert promotion that needs definitional depth.
- ADR-0087 — Rhetorical Style Axis. A third substantive selection axis sibling to anchor-lens. Lowest current priority — no active downstream consumer; register + anchor-lens already demonstrate the orthogonality pattern.
ADR-0080 (Contemplation Loop, Phase 1), ADR-0110 (math audit-passed), ADR-0111 (physics audit-passed), and ADR-0124 (systems_software audit-passed) have all landed — mathematics_logic, physics, and systems_software are at audit_passed=true; the contemplation loop emits read-only SPECULATIVE findings from frontier_compare reports. The remaining ratified domain (hebrew_greek_textual_reasoning) needs its own promotion ADR.
ADR-0122 attempted systems_software promotion and deferred honestly on a lane-shape contract mismatch (symbolic_logic output shape vs registered checker), resolved by ADR-0123's shape remap and successfully promoted via ADR-0124.
Open candidate directions (no ADR yet)
- Multi-reviewer holdout governance and threshold signing. ADR-0105 seals holdout payloads with a single recipient identity; multi-reviewer governance remains future work.
Accepted reasoning-capable domains
Per ADR-0106, audit_passed is contract-gated, not threshold-only: a domain row may carry audit_passed=true only when a reviewer-signed audit_passed_claims entry exists whose evidence-bundle digest reproduces byte-for-byte. ADR-0107 attempted the first worked promotion and the contract refused; ADR-0109 amended the threshold rules; ADR-0110 then successfully promoted mathematics_logic (the first domain at audit_passed=true); ADR-0111 promoted physics second without further contract change, retiring the "math-only" objection. The other two ratified domains remain at reasoning-capable pending their own promotion ADRs.
| Domain | Ratification ADR | Pack(s) | Evidence summary |
|---|---|---|---|
mathematics_logic |
ADR-0097 + ADR-0110 | en_mathematics_logic_v1 |
All nine ADR-0091 predicates pass; ledger row is audit-passed (first such promotion, ADR-0110); all three attached lanes meet ADR-0109 shape thresholds on public + holdout. |
physics |
ADR-0100 + ADR-0111 | en_physics_v1 |
All nine predicates pass; causal/modal operator coverage meets threshold; ledger row is audit-passed (second such promotion, ADR-0111); foundational_physics_ood 117/117 public + 39/39 holdout; shares inference_closure + fabrication_control results with math (distinct digest via domain_id). |
systems_software |
ADR-0101 + ADR-0124 | en_systems_software_v1 |
All nine predicates pass; transitive/causal operator coverage meets threshold; ledger row is audit-passed (third promotion, ADR-0124); all three attached lanes meet thresholds on public + holdout. |
hebrew_greek_textual_reasoning |
ADR-0102 + ADR-0103 | grc_logos_micro_v1, grc_logos_cognition_v1, he_logos_micro_v1, he_core_cognition_v1 |
First multi-pack ratification; all four packs carry uniform contract fields; causal/contradiction operator coverage meets threshold; ADR-0103 attaches Hebrew and Koine Greek fluency lanes with dev/public/holdout coverage. |
ADR chain notes
Forward Semantic Control closure — ADR-0022 through ADR-0026
ADR-0022 through ADR-0026 form a single coherent chain that closes forward semantic control as a non-stochastic, replay-deterministic, trace-evidenced mechanism.
- ADR-0022 establishes
AdmissibilityRegionand the contract that a region restricts the admissible token set at generation time. - ADR-0023 records proof evidence that the admissibility region is honored at the region-intersection level.
- ADR-0024 adds destination-side per-step admissibility and honest
InnerLoopExhaustionwhen all admissible candidates are rejected. - ADR-0025 adds rotor/frame admissibility when a region carries a
frame_versor. - ADR-0026 replaces static threshold tuning with ranked admissibility and a scale-invariant margin gate.
Runtime contracts for the chain are pinned in docs/runtime_contracts.md.
Pack-layer chain — ADR-0027 through ADR-0045
ADR-0027 through ADR-0045 establish the identity / safety / ethics pack architecture with deterministic remediation, audit completeness, telemetry, operator readout, audit-tour demo, pack measurements, a worked-example medical ethics pack, and long-context comparison measurements.
Evidence-governed domain chain — ADR-0091 through ADR-0111
ADR-0091 through ADR-0111 establish the current domain-ratification substrate and the audit-passed promotion gate that distinguishes contract-passing from demonstrated:
contract definition (0091)
↓
reviewer trust root (0092)
↓
validator / ledger enforcement (0093)
↓
negative-control fabrication lane (0096)
↓
reasoning-capable domain ratification (0097 / 0100 / 0101 / 0102)
↓
language-specific fluency lane attachment (0103)
↓
audit-passed promotion contract (0106 + 0109 amendment)
↓
worked audit-passed promotion (0110 — mathematics_logic, first)
↓
worked audit-passed promotion (0111 — physics, second; no contract change)
No domain claim should be treated as mature merely because a pack exists. reasoning-capable means the nine ADR-0091 predicates pass; audit-passed requires a reviewer-signed evidence-bundle digest that reproduces byte-for-byte from on-disk lane results.
The contract has been demonstrated end-to-end: refused once honestly (ADR-0107), amended once cleanly (ADR-0109), succeeded against mathematics_logic (ADR-0110), and succeeded against physics without further contract change (ADR-0111).
Comprehension-reader pivot — ADR-0164 and ADR-0165 (2026-05-26)
The GSM8K admissibility front-end is replaced. The regex sentence-template
parsing layer in generate/math_candidate_parser.py and
generate/recognizer_match.py is recognized as overfitting by
construction — it enumerates memorized surface shapes while pretending to
encode a closed grammar that English does not have.
-
ADR-0164 — Incremental Comprehension Reader. Word-by-word state accumulation over a closed set of semantic categories. The reader is a deterministic shift-reduce parser over categories, not over tokens. Output type is identical to the regex parser's output, so the binding-graph admissibility (ADR-0132/0133/0134/0135) downstream is unchanged. Operational lexicon lives in
language_packs/data/en_core_math_v1/alongside the existing packs. -
ADR-0165 — Regex Scope Rule. Structural invariant: regex is permitted only at the lexeme level (currency literal, fraction literal, percentage literal, time-amount, closed-set unit-noun), never at the sentence-structure level. The primitive set is a closed registry grown through the same contemplation → proposal → HITL review corridor that grows vocabulary.
These ADRs preserve every load-bearing piece of the prior work: the
binding graph (ADR-0132–0135), the solver / verifier / realizer
substrate (ADR-0116–0118), the capability-axis lanes G1–G5 and S1, the
HITL corridor (ADR-0150 / 0152 / 0155 / 0161), the wrong = 0 doctrine
and the replay-equivalence gate (ADR-0057, ADR-0114a). The
contemplation → proposal → review corridor architecture is reaffirmed
and its scope is generalized: it now ratifies lexicon entries,
categories, and lexeme primitives — not regex recognizers.
ADR-0163's diagnosis (the front-end is the bottleneck) is reaffirmed; its prescription (Phases B–E recognizer production) is partially superseded. ADR-0136 and its S-family have the same disposition.
Session Logs
Session logs record the decisions and rationale from individual working sessions. They are not ADRs — they are the narrative record that informed the ADRs.
| Date | File |
|---|---|
| 2026-05-12 | SESSION-2026-05-12.md |
| 2026-05-12 (addendum) | SESSION-2026-05-12-b.md |
| 2026-05-12 (language packs) | SESSION-2026-05-12-language-packs-addendum.md |
| 2026-05-13 | SESSION-2026-05-13.md |
| 2026-05-26 (comprehension reader) | SESSION-2026-05-26-comprehension-reader.md |