core/generate/derivation
Shay c41fac2f78 feat(adr-0178-gb1): clause segmentation + clause-local sub-derivation
GB-1 — first slice of the comprehension-guided composer (ADR-0178). Reads the
problem one clause at a time and derives each clause's LOCAL contribution; GB-2
combines them across clauses.

generate/derivation/clauses.py:
- segment_clauses(text): sentence-level orthographic split (ADR-0165; not grammar).
- clause_local_results(text) -> tuple[ClauseResult]: per clause, 0 quantities =
  context (hold), 1 = leaf (its value), >=2 = bounded local search (reuses MS-3
  search_chain). Refuse-preferring: ambiguous multi-quantity clause -> unresolved
  hold, not guessed.

Locality is the guidance that bounds the search + steers grouping. 9 GB-1 tests
(segmentation, leaf/context/local-product, ambiguous-holds, determinism,
per-clause structure of a multi-sentence problem). Full derivation surface 86/86;
ruff clean; smoke 67. Sealed; not wired into serving (ClauseResults ready for
GB-2 sequential combination).
2026-05-28 17:19:50 -07:00
..
__init__.py feat(adr-0178-gb1): clause segmentation + clause-local sub-derivation 2026-05-28 17:19:50 -07:00
clauses.py feat(adr-0178-gb1): clause segmentation + clause-local sub-derivation 2026-05-28 17:19:50 -07:00
comparatives.py feat(adr-0176-ms2): multi-step chain model — text + comparative operands 2026-05-28 16:35:41 -07:00
extract.py feat(adr-0175-phase3b): bounded multiplicative search in the sealed practice lane 2026-05-28 15:29:08 -07:00
model.py feat(adr-0176-ms2): multi-step chain model — text + comparative operands 2026-05-28 16:35:41 -07:00
multistep.py feat(adr-0176-ms3): target-guided bounded multi-step search 2026-05-28 16:51:43 -07:00
search.py feat(adr-0175-phase3b): bounded multiplicative search in the sealed practice lane 2026-05-28 15:29:08 -07:00
target.py feat(adr-0176-ms1): question-targeting 2026-05-28 16:21:40 -07:00
verify.py feat(adr-0176-ms2): multi-step chain model — text + comparative operands 2026-05-28 16:35:41 -07:00