core/generate
Shay 47a31d3ed0 fix(comprehend): relational reader fail-closed on leftover relational structure
Lookback (adversarial verify) found a comprehension-layer wrong=0 hole: an argument
slot only refused on reader._RESERVED tokens, so connective heads leaked through —
'Carol is the sibling of Dan during school.' fabricated sibling_of(carol,
dan_during_school) and realized it, while the asymmetric twin '… during the trip.'
refused (article leaked). The fabricated compound entity entered realized memory,
breaching the never-fabricate floor.

Fix: (1) argument slots must be FREE of connective tokens (a leaked connective head =
unparsed relational structure -> refuse 'extra_relational_structure'); (2) the copula
must sit STRUCTURALLY adjacent to the connective, so a dangling copula ('Monday before
Friday is.') and a period-question-as-statement ('Is Monday before Friday.') refuse
instead of fabricating a fact. determine stays sound by construction; this closes the
reader-layer hole. Bite tests added for both classes + a 'no fabricated entity enters
realized memory' assertion.
2026-06-06 09:45:10 -07:00
..
binding_graph feat: Phase 1 — canonize binding-graph interlingua + INV-26 neutrality 2026-06-04 16:20:12 -07:00
comprehension feat(adr-0174-phase5a): retire inert GSM8K scoring-path reader 2026-05-28 13:38:44 -07:00
cue_precision feat(adr-0177-cp2a): cue-precision ledger training + measurement (+ unit hygiene) (#461) 2026-05-29 10:21:58 -07:00
derivation feat: add gsm8k r1 reconstruction 2026-06-04 13:25:11 -07:00
determine feat(comprehend): relational reader — binary-relation NL→structure 2026-06-06 09:32:08 -07:00
meaning_graph fix(comprehend): relational reader fail-closed on leftover relational structure 2026-06-06 09:45:10 -07:00
proof_chain feat: add deductive proof evidence gates 2026-06-04 08:37:51 -07:00
realize fix(realize): lookback hardening — defensive admissibility re-assertion + coverage 2026-06-06 06:31:54 -07:00
__init__.py
admissibility.py
articulation.py
articulation_legality.py
attention.py
bridge_trace.py
dialogue.py feat(persistence): Shape B+ Phase C — SessionContext.snapshot/restore (full lived state) 2026-06-05 12:13:46 -07:00
discourse_planner.py feat(discourse): Phase 2 — reflective rendering pronominalizes focus subject 2026-05-21 10:16:12 -07:00
exhaustion.py fix(W-011/W-012): propagate recognition refusal + catch InnerLoopExhaustion (#258) 2026-05-24 20:46:46 -07:00
graph_constraint.py
graph_planner.py perf(graph): PropositionGraph.topo_order — Kahn's O(N+E) instead of O(N×E) (#92) 2026-05-20 20:37:21 -07:00
grounding_accessors.py
intent.py fix(intent): route 'Actually X R Y' premises to CORRECTION (inference_closure) (#117) 2026-05-22 12:33:56 -07:00
intent_bridge.py
intent_ratifier.py feat(recognition): ADR-0144 — EpistemicGraph carrier + pipeline integration (#227) 2026-05-24 13:39:01 -07:00
logic_canonical.py feat: modus_ponens + disagreement rule — proof_chain wrong=0 mechanism (ADR-0205) 2026-06-02 20:56:57 -07:00
logic_equivalence.py feat: principled out-of-regime detector — typed out_of_decidable_regime (ADR-0201.1) 2026-06-02 19:12:41 -07:00
math_candidate_graph.py feat: add gsm8k r1 reconstruction 2026-06-04 13:25:11 -07:00
math_candidate_parser.py fix(ADR-0136.S.3): expose both consumed tokens to completeness guard 2026-06-03 01:01:50 -07:00
math_completeness.py fix(adr-0191): candidate-graph completeness guard — real-corpus wrong 5→0 (#496) 2026-05-30 15:45:07 -07:00
math_parser.py chore(audit): substrate cleanup — dead spike, gitignore, deprecation, reader diagnosis 2026-05-28 07:00:33 -07:00
math_problem_graph.py fix(math-graph): refuse contradictory initial possessions (wrong=0 hazard) 2026-05-28 09:51:14 -07:00
math_realizer.py feat(realizer): ADR-0123 comparison-phrasing surface (closes substrate) 2026-05-23 02:03:49 -07:00
math_roundtrip.py feat(adr-0179-ex2): bare-decimal grounding in the shared round-trip primitive 2026-05-28 17:43:12 -07:00
math_solver.py feat(parser): ADR-0123 comparison-phrasing substrate (substrate-only; lift deferred) 2026-05-23 01:56:28 -07:00
math_symbolic_equivalence.py feat(ADR-0131.1.B): harden symbolic equivalence lane with generated corpus + exact algebra (#169) 2026-05-23 10:47:57 -07:00
math_symbolic_normalizer.py feat(ADR-0131.1.B): harden symbolic equivalence lane with generated corpus + exact algebra (#169) 2026-05-23 10:47:57 -07:00
math_verifier.py feat(parser): ADR-0123 comparison-phrasing substrate (substrate-only; lift deferred) 2026-05-23 01:56:28 -07:00
morphology.py
ood_surface_generator.py fix(quarantine): drain all 60 quarantined tests — QUARANTINE=∅ (#267) 2026-05-25 11:22:12 -07:00
operators.py
perturbation_suite.py feat: add ADR-0125 perturbation suite 2026-05-22 17:12:33 -07:00
proposition.py feat(persistence): Shape B+ Phase C — SessionContext.snapshot/restore (full lived state) 2026-06-05 12:13:46 -07:00
quantitative_comprehension.py feat(comprehend): arithmetic word-problems via binding_graph (5th domain, real admissibility) 2026-06-06 00:43:16 -07:00
realizer.py [codex] Implement energy-modulated vault surface (#269) 2026-05-25 11:33:32 -07:00
realizer_guard.py
recognizer_anchor_inject.py Harden no-reference n-times comparative guard 2026-06-03 15:22:42 -07:00
recognizer_match.py fix(math): restore WAVE-A multiplicative aggregate completeness provenance 2026-05-31 16:36:44 -07:00
recognizer_registry.py feat(ADR-0163.D): wire ratified RecognizerSpecs into math_candidate_graph admissibility surface (#302) 2026-05-26 13:11:47 -07:00
relational_field_reader.py feat(field-wedge): geometric field reader — relational-metric lane wrong=0 (Phase W.1) 2026-06-04 19:34:43 -07:00
relational_symbolic_reader.py feat(field-wedge): ablation verdict — field is decoration on additive (C3) (Phase W.2) 2026-06-04 19:44:22 -07:00
result.py
rotor_admissibility.py
salience.py
semantic_templates.py
stream.py refactor(generate): remove redundant forbidden-site _close_final_state; rename "Drift fix 2" 2026-06-05 08:17:17 -07:00
surface.py
templates.py