core/generate
Shay ab6da7765e feat(deduction-serve): Band v4-CM — conditional-membership fusion, decided (ADR-0259)
Composes v2-EN's connective grammar (if/then, or, and, either) with
v3-MEM's singular-membership sentence reading over one shared
per-individual atom space, so "If Socrates is a man then Socrates is
mortal. Socrates is a man. Therefore Socrates is mortal." decides — the
exact gap ADR-0258 §6.1 reserved. Genuinely fuses the two mechanisms: a
bare universal's instantiated atom can unify (via the same closed
morphology relation) with a connective leaf's atom, deciding arguments
neither band alone could.

- generate/proof_chain/cond_member.py: new reader. A sentence is checked
  for a connective token BEFORE the universal-lead check (so a stray
  connective can never leak into an opaque name/class run); reuses v3-MEM's
  own _parse_singular/_parse_universal verbatim (already negation-aware,
  so no separate negation layer is needed, unlike v2-EN's opaque minter).
  Four new shape-bands (fused/disjunctive/chain/conditional), each earning
  its own SERVE license.
- chat/deduction_surface.py: new fallback tier tried strictly after v3-MEM
  — pure widening, every previously-served argument stays byte-identical.
- evals/deduction_serve/practice/gold.py: 4 new synthetic template groups
  (20 templates), reusing the v3-MEM case generator; intended formulas
  cross-checked against the independent oracle (INV-25).
- evals/deduction_serve/v2_condmem/: 26 hand-authored real-English cases,
  content-disjoint from the synthetic corpus.
- ds-mem-0024 promoted declined -> unknown (not entailed — the antecedent
  is never asserted in that text; this is the first promotion in the
  corpus that doesn't land on entailed).
- Ledger re-sealed to 17 bands; deduction_serve_v1 lane SHA re-pinned
  (surgical single-line edit, not a blanket --update).

Verification: core test --suite deductive 160 passed (31 new reader
tests); practice arena 17 bands x 720 wrong=0, all SERVE-licensed; lane
splits v1 28/28, v2_en 26/26, v2_member 26/26, v2_condmem 26/26; smoke 180
passed; warmed_session 10 passed. Flag deduction_serving_enabled stays
default-off.
2026-07-24 10:14:00 -07:00
..
answer_choices feat(answer-choices): multiple-choice verifier with contradiction flag (R2 C4) 2026-06-07 07:26:00 -07:00
binding_graph Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
combined_rate_comprehension docs(cmb): lookback review + fix single-agent-attribution hygiene hazard (H3) 2026-06-08 13:27:17 -07:00
composition feat(determine): add transitive strict-order relational inference (#781) 2026-06-15 14:20:30 -07:00
comprehension Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
constraint_comprehension docs(comprehension): whole-system organ capability ledger + fix ADR-0211 number collision 2026-06-08 06:15:51 -07:00
contemplation feat: 3lang depth PropGraph unification - phase refinements, wiring, tests + session pickup cleanups/governance 2026-07-08 07:07:11 -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: retire fraction_decrease prose regex — bind dilation from frame scale 2026-07-08 20:09:49 -07:00
determine feat: integrate 3-core-language depth into PropositionGraph spine for bidirectional unification 2026-07-06 09:01:43 -07:00
frame_verdict feat(frame-verdict): closed-world FrameVerdict substrate — PR-1..4 + hardening (ADR-0222 B4) (#787) 2026-06-16 06:23:03 -07:00
linguistic_pipeline feat(cognition): fail-closed linguistic governance + trilingual constraint pipeline 2026-07-20 16:16:56 -07:00
meaning_graph Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
observed_he_morph_v0 feat(logos): bulk live morph authority on turn + teaching seams 2026-07-20 16:35:04 -07:00
proof_chain feat(deduction-serve): Band v4-CM — conditional-membership fusion, decided (ADR-0259) 2026-07-24 10:14:00 -07:00
rate_comprehension feat(rate): exact time-unit conversion for single-rate (R3.2b-e) 2026-06-08 05:43:51 -07:00
realize refactor(comprehension): drop QuantQuery — consumers read the target from graph.unknowns (PR-3) 2026-06-06 16:49:09 -07:00
structure_mapping fix(trackb): pure-S1 extract refuse multi-clause overmatch (0361 wrong=0) 2026-07-19 20:04:27 -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 chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
candidate_operator.py style(kernel): place quantity-entity builder before exports 2026-06-23 05:43:17 -07:00
compute_budget.py feat(kernel): implement diagnostic-only ComputeBudgetDecision 2026-06-22 13:13:49 -07:00
construction_affordances.py chore(kernel): tighten construction_affordances catalog invariants (#930) 2026-07-06 08:38:23 -07:00
contract_residuals.py feat(kernel): add ContractResidual projection 2026-06-22 08:06:32 -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
epistemic_basis.py feat(frame-verdict): closed-world FrameVerdict substrate — PR-1..4 + hardening (ADR-0222 B4) (#787) 2026-06-16 06:23:03 -07:00
exhaustion.py fix(W-011/W-012): propagate recognition refusal + catch InnerLoopExhaustion (#258) 2026-05-24 20:46:46 -07:00
field_incidence_reader.py work done towards furthering comprehension, contemplation, learning, and also began working on fixing some failing tests 2026-06-16 12:27:59 -07:00
foundational_families.py fix(kernel): align unary-delta implementation with conformance decision 2026-06-21 20:19:53 -07:00
geometric_search_run.py feat(kernel): implement inert GeometricSearchRun trace shell 2026-06-22 14:09:52 -07:00
graph_constraint.py
graph_planner.py refactor: consolidate duplicate depth extraction — graph_planner.get_node_depths now delegates to build_node_depths (single source) 2026-07-08 07:21:17 -07:00
grounding_accessors.py
intent.py feat(deduction-serve): Phase 1 — deduction turn spine (flag-gated, propositional Band v1) 2026-07-23 12:14:28 -07:00
intent_bridge.py
intent_ratifier.py fix(cognition): pre-stage land repairs after L2/PASSTHROUGH excision 2026-07-20 13:34:59 -07:00
kernel_facts.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -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 fix: fold Gemini CGA/fraction_decrease compatibility into deck PR 2026-07-08 20:00:51 -07:00
math_candidate_parser.py feat(reader-arc): #78 positive-polarity allowlist substrate (seed + comparison) — foundations, band-solve=0 2026-07-18 21:18:02 -07:00
math_completeness.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
math_parser.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
math_problem_graph.py feat(derivation): Gate A2b case 0002 fractional rest composition (#810) 2026-06-17 19:08:24 -07:00
math_realizer.py feat(derivation): Gate A2b case 0002 fractional rest composition (#810) 2026-06-17 19:08:24 -07:00
math_roundtrip.py feat(reader-arc): #78 positive-polarity allowlist substrate (seed + comparison) — foundations, band-solve=0 2026-07-18 21:18:02 -07:00
math_solver.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11: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(derivation): Gate A2b case 0002 fractional rest composition (#810) 2026-06-17 19:08:24 -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
problem_frame.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
problem_frame_bound_relations.py refactor(kernel): split ProblemFrame builder phases (#919) 2026-06-25 16:16:04 -07:00
problem_frame_builder.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
problem_frame_contracts.py fix(a2k): share fraction-decrease scale domain on geometric admission 2026-07-20 04:40:35 +00:00
problem_frame_extractors.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
problem_frame_mentions.py refactor(kernel): split ProblemFrame builder phases (#919) 2026-06-25 16:16:04 -07:00
problem_frame_proposals.py refactor(kernel): split ProblemFrame builder phases (#919) 2026-06-25 16:16:04 -07:00
process_frames.py feat: implement kernel substrate tranche 1 base-layer foundations (#829) 2026-06-18 18:46:20 -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(comprehension): inverse reader frame — base of a more/fewer-than (PR-7b / R2 C0) 2026-06-07 07:06:26 -07:00
quantitative_expr.py feat(comprehension): the divisive comparative frame — "half as many" as exact integer division (PR-6c) 2026-06-06 20:18:39 -07:00
realizer.py feat: integrate 3-core-language depth into PropositionGraph spine for bidirectional unification 2026-07-06 09:01:43 -07:00
realizer_guard.py feat(deduction-serve): Band v2-EN — natural-English argument serving, earned licenses (ADR-0257) 2026-07-23 14:37:50 -07:00
recognizer_anchor_inject.py feat(derivation): Gate A2a unit partition injection (#809) 2026-06-17 18:14:24 -07:00
recognizer_match.py fix(reader-arc): compound extractor refuses no-digit compare clauses (wrong=0 hazard) 2026-07-18 21:44:34 -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_operator_ablation.py feat(generate): deterministic relational operator ablation runners 2026-07-19 21:00:15 -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
replay_adapter.py feat(kernel): add quantity-entity replay target shell 2026-06-23 06:13:28 -07:00
result.py
rotor_admissibility.py
run_attempt_binding.py feat(kernel): implement run-attempt binding shell 2026-06-22 23:12:16 -07:00
salience.py
sealed_practice_trace.py fix(kernel): fail-closed bound trace structural validation 2026-06-23 00:11:14 -07:00
search_gate.py feat(kernel): implement diagnostic-only SearchGateDecision 2026-06-22 11:36:05 -07:00
semantic_templates.py feat: integrate 3-core-language depth into PropositionGraph spine for bidirectional unification 2026-07-06 09:01:43 -07:00
stream.py fix(tests): clear pre-existing full-suite reds (INV-21 pins + rotor_power) 2026-07-15 15:39:09 -07:00
surface.py
templates.py feat(realizer): C1.5 — articulation legality at the realizer boundary 2026-05-20 11:11:28 -07:00