core/generate
Shay cd1a9cbe80 feat(determine): transitive subsumption — sound is-a reasoning over accrued knowledge (Step C)
DETERMINE was one-hop. C answers a member/subset query that holds by SOUND transitive
subsumption when direct entailment misses: member∘subset* and subset∘subset (the
Description-Logic is-a rules). 'Socrates is a man. All men are mortal. Is Socrates
mortal?' -> yes, as told.

wrong=0 hazard surfaced and closed: member∘member is NOT transitive (instance-of vs
subclass-of) — 'Socrates is a man. Man is a species.' does NOT entail 'Socrates is a
species'. That rule is NEVER an edge, so the fallacy is unreachable (bite-tested). The
reader's member/subset split (X is a Y vs all Xs are Ys) is exactly the instance-of/
subclass-of distinction that makes the included rules sound.

Mechanism: SEARCH-then-VERIFY. Reachability over the sound edges finds the chain, then
the proof_chain ROBDD verifies that chain's propositional entailment (O(path) premises).
Full O(n³) grounding into proof_chain was tried and rejected: it overruns the
canonicalizer's per-conjunct recursion, and transitive closure is reachability, not
general SAT. Search-then-verify scales (11-hop chain determines in ~2ms) and keeps the
sound+complete decider as the wrong=0 verifier + proof artifact.

subset is now a supported direct-entailment predicate (a told subset(a,b) answers it);
the other categoricals (disjoint/intersects/some_not) stay excluded. Two existing tests
updated accordingly (subset->ungrounded, disjoint stays unsupported_query).
2026-06-06 11:09:41 -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(determine): transitive subsumption — sound is-a reasoning over accrued knowledge (Step C) 2026-06-06 11:09:41 -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 chore(generate): delete unreachable agenerate (#90) 2026-05-20 19:59:28 -07:00
admissibility.py
articulation.py
articulation_legality.py feat(realizer): C1.5 — articulation legality at the realizer boundary 2026-05-20 11:11:28 -07:00
attention.py
bridge_trace.py Phase 1 — bridge trace instrumentation (observation-only) 2026-05-18 18:04:57 -07:00
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 feat(grounding): structured GroundedFact accessors for discourse planner 2026-05-19 11:19:59 -07:00
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 Phase 2 — proposition-slot grounding for articulate_with_intent 2026-05-18 18:18:31 -07:00
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 feat(coherence): ADR-0075 — realizer slot-type guard (C1) 2026-05-19 22:35:09 -07:00
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 feat(realizer): C1.5 — articulation legality at the realizer boundary 2026-05-20 11:11:28 -07:00