Commit graph

351 commits

Author SHA1 Message Date
Shay
57156857bd
chore(kernel): tighten construction_affordances catalog invariants (#930)
Some checks failed
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Waiting to run
lane-shas / verify pinned lane SHAs (push) Failing after 5m48s
workbench-ui / build + vitest (push) Failing after 13s
workbench-ui / playwright smoke (push) Failing after 7s
* chore(kernel): tighten construction_affordances catalog invariants

- Delete stale make_proposal (deferred from PR #919; no live callers remain)
- Derive _PROPOSAL_FIRST_FAMILIES from _CATALOG keys to eliminate hidden
  sync obligation (was a manual restatement of all four catalog entries)
- Introduce _SERVING_AUTHORIZED_FAMILIES frozenset so the serving-allowed
  exemption in ConstructionFamily and ConstructionProposal __post_init__
  consults one central authority instead of two string-literal comparisons
- Pre-compute _SORTED_FAMILIES at module load so all_diagnostic_families()
  returns a constant rather than re-sorting on every call
- Remove _VALID_STATUS ClassVar from ConstructionProposal; the field is
  already typed Literal["proposed"] and the indirection adds no safety

No behavior change to serving, assessment, or proposal creation paths.
ADR-0236: small load-bearing PR, single-file, invariants as code.

* refactor(contemplation): unify organ pipelines in pass_manager

- Introduce OrganPipeline descriptor (organ, reader, solver, reason_adapter)
  so every routed solve path shares one _solve_and_verify implementation.
  Adding a new organ is now a single OrganPipeline(...) declaration.

- Extract _maybe_ask helper that collapses the triply-duplicated
  family_by_name / assess_from_family / exercise_ask inline block.

- Add _result() helper that appends the terminal Finding and constructs
  ContemplationResult in one call, enforcing terminal-is-last-finding
  by construction across every return site.

- Replace assert not isinstance(problem, Refusal) with
  InternalContemplationError so the routing invariant is enforceable
  under python -O and surfaces a named, debuggable exception.

No behavior change: all Terminal states, Finding sequences, family
resolution, CMB-over-R3 precedence, boundary-first ordering, and
ask/proposal emission logic are preserved exactly.
2026-07-06 08:38:23 -07:00
Shay
717c6a334a
CGA Substrate Migration & Pack Registry Consolidation (#929)
* fix: final cleanups for CGA substrate migration PR

- Update UI test fixtures to packs/data paths
- Clean CLAUDE.md/GEMINI.md to minimal per AGENTS.md
- Refactor fraction geometric construction into dedicated helper in problem_frame_contracts.py
- No TODOs left in code; notes in PR description

This completes the mechanical readiness for the CGA substrate + registry consolidation work.

* docs: include PR description for review

* chore: enforce forgejo tooling in AGENTS.md

* docs: update bootstrap skill and add git-forgejo config doc per new rules

* docs: remove deprecated git-forgejo wrapper docs

* chore: ignore local .mcp.json configuration file

* fix(ui): remove unsupported assessment.bindings usage to fix TS2339/TS7006 in constructionEvidencePanelModel
2026-07-05 15:36:11 -07:00
Shay
71d938cc0b fix(architecture): Enforce invariants and mitigate cga float noise
Some checks failed
lane-shas / verify pinned lane SHAs (push) Waiting to run
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 8m9s
2026-07-04 17:14:29 -07:00
Shay
2e59434969 feat(evals): Author 200-case GSM8K math evaluation corpus and verification script 2026-07-04 16:03:51 -07:00
Shay
18d6ad6282 Merge branch 'subagent-Lane-4-Subagent-self-39aed9c5' into migrate-core-cga-substrate 2026-07-04 15:11:54 -07:00
Shay
8383b852d0 Lane 3: Geometric evaluation for fraction_decrease 2026-07-04 15:11:50 -07:00
Shay
f6c1f01a13 Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
Shay
2a17d5b6f3 fix(pipeline): correctly integrate geometric proposals and restore legacy contract fields 2026-07-04 13:35:27 -07:00
Shay
ac6324d8e4 refactor(kernel): implement Lane 1 VersorBinding and Geometric ContractAssessment 2026-07-03 21:05:25 -07:00
Shay
310aed9ff0
chore: Refactor CLI and Governance Anchors (#926)
* docs: consolidate governance anchors and clean up test registries

* refactor(cli): decompose cli into dedicated modules

* test: fix broken test baselines and formatting

* docs: add domain boundary READMEs for governance anchors

* test: update baseline for determination lane

* test: fix capability_pass expectation

* test: fix CORE_SHOWCASE_SKIP_BUDGET enforcement

* chore: cleanup CLI extraction and unreachable code
2026-07-03 12:34:56 -07:00
Shay
c6263f5a91
refactor(kernel): split ProblemFrame builder phases (#919)
* refactor(kernel): add ProblemFrame extraction phase module

* refactor(kernel): add ProblemFrame proposal phase module

* refactor(kernel): add ProblemFrame mention phase module

* refactor(kernel): add ProblemFrame bound relation phase module

* refactor(kernel): reduce ProblemFrame builder to phase orchestration

* test(kernel): pin ProblemFrame phase boundaries

* test(kernel): keep unary delta smoke within supported slice
2026-06-25 16:16:04 -07:00
Shay
fe4e2e6e33 feat(kernel): add quantity-entity replay target shell 2026-06-23 06:13:28 -07:00
Shay
28deb5664b style(kernel): place quantity-entity builder before exports 2026-06-23 05:43:17 -07:00
Shay
cead96596c feat: implement quantity_entity_binding_candidate.v1 operator
- Implement CandidateOperatorPolicy and cue dataclass for quantity entity binding

- Add build_quantity_entity_binding_candidate constructor with strict refusal checks

- Bump CANDIDATE_OPERATOR_SET_VERSION to candidate_operators.v2

- Update exact export and static table shape tests

- Reconcile stale static guards across binding replay adapters

- Provide full explicit determinism and failure mode test coverage
2026-06-23 05:37:08 -07:00
Shay
b9a6eb9676 fix(kernel): fail-closed bound trace structural validation
Return PracticeTraceRefusal before dereferencing bindings or operator
results when structural type/shape checks fail. Guard seal_bound zip
against binding_result_count_mismatch. Add five refusal-without-exception
tests for malformed bound inputs.
2026-06-23 00:11:14 -07:00
Shay
484e8ff9fe docs+kernel: support bound practice episode sealing
Extends SealedPracticeTrace for externally bound candidate episodes per
ADR-0233. Adds candidate_attempt_binding_ids to trace identity, bound trace
input/seal entry points, and end-to-end bound episode tests without mutating
GeometricSearchRun.candidate_attempts.
2026-06-23 00:04:26 -07:00
Shay
0e638039f4 feat(kernel): support bound attempts in replay adapter input 2026-06-22 23:38:51 -07:00
Shay
27e5bc105c fix(kernel): remove bound replay adapter stub 2026-06-22 23:35:44 -07:00
Shay
c0307ae702 feat(kernel): add stub for bound replay adapter input 2026-06-22 23:31:50 -07:00
Shay
f8d496ff9e feat(kernel): implement run-attempt binding shell 2026-06-22 23:12:16 -07:00
Shay
1d9e40602c feat(kernel): implement missing-role candidate operator shell
Implements ADR-0231's inert missing_role_candidate.v1 operator shell for
direction_unbound residuals under unary_delta_transition. Adds deterministic
operator-set identity, candidate reconstruction with split digests,
CandidateAttempt-compatible output, typed refusals, and isolation tests.
2026-06-22 19:27:41 -07:00
Shay
520e2c8237 fix(kernel): validate sealed trace replay record ids 2026-06-22 18:44:59 -07:00
Shay
a1de11e0e3 feat(kernel): implement inert SealedPracticeTrace shell
Adds immutable practice-trace input, sealed-trace, and trace-refusal
records with deterministic identity-chain validation after the Contract/
Proof Replay Adapter, as authorized by ADR-0230.
2026-06-22 18:20:52 -07:00
Shay
feb36cfdbb feat(kernel): implement diagnostic replay adapter shell
Adds the ADR-0229-authorized Contract/Proof Replay Adapter diagnostic
boundary after GeometricSearchRun: deterministic input/result/refusal
records, candidate_organ/contract_replay_target binding via static
allowlist, strict run/attempt/candidate identity validation, ADR-aligned
replay_disposition on refusals, vacuous-proof closure only with explicit
schema declaration, and injection-based disposition classification
without candidate generation, search execution, repair, answer
production, or runtime mutation.
2026-06-22 15:18:22 -07:00
Shay
93ba988c1e feat(kernel): implement inert GeometricSearchRun trace shell 2026-06-22 14:09:52 -07:00
Shay
fcac436f7d feat(kernel): implement diagnostic-only ComputeBudgetDecision 2026-06-22 13:13:49 -07:00
Shay
7b2456d402
feat(kernel): implement diagnostic-only SearchGateDecision
Implements a diagnostic-only SearchGateDecision adapter over ContractResidual records.

Preserves the authority boundary:
ContractAssessment -> ContractResidual -> SearchGateDecision.

SearchGateDecision is not proof, repair, budget, search, serving, candidate generation, or mutation authority.

Validation reported on head 1d68292c7f:
- tests/test_search_gate.py: 23 passed
- tests/test_contract_residuals.py: 75 passed
- adjacent contract/proposal tests: 48 passed
- ruff: passed
- compileall: passed
- smoke: 108 passed
- git diff --check: clean
2026-06-22 11:36:05 -07:00
Shay
ecf7d2794a feat(kernel): add ContractResidual projection 2026-06-22 08:06:32 -07:00
Shay
59a919e347 fix(kernel): complete unary-delta conformance alignment 2026-06-21 22:07:12 -07:00
Shay
61964c5cd4 fix(kernel): align unary-delta implementation with conformance decision 2026-06-21 20:19:53 -07:00
Shay
b6bde12e1e feat(kernel): introduce diagnostic unary-delta proposal seam 2026-06-21 05:39:38 -07:00
Shay
ca83d3846c
fix(kernel): harden quantity-entity proposal seam (#853) 2026-06-20 21:49:26 -07:00
Shay
5310bd6f3c
feat(kernel): introduce diagnostic quantity-entity proposal seam (#851) 2026-06-20 20:57:08 -07:00
Shay
a266324eea
refactor(kernel): fence legacy assessment-backed proposal adapter (#844)
* test(kernel): reject migrated proposal adapter paths

* refactor(kernel): fence legacy assessment-backed proposal adapter
2026-06-20 16:53:21 -07:00
Shay
8e89562f6d
feat(kernel): route percent-partition through proposal-first seam (#842) 2026-06-20 16:00:35 -07:00
Shay
955fec3bc3
feat(kernel): route proportional-decrease through proposal-first seam (#841) 2026-06-20 15:37:40 -07:00
Shay
168c9f26ac
feat(kernel): add foundational family registry schema (#840) 2026-06-20 15:01:27 -07:00
Shay
fbccb2a298
feat(kernel): route proportional-decrease through construction proposals (#837)
* feat(kernel): route proportional-decrease through construction proposals

* docs: clarify PR #837 scope in lookback
2026-06-20 11:52:02 -07:00
Shay
ec579339ea
feat(kernel): introduce construction-affordance catalog skeleton (#836) 2026-06-20 11:32:43 -07:00
Shay
0a168bfb99
feat(kernel): implement ProblemFrame proportional-change closure (PR slice 1) (#835) 2026-06-20 10:58:43 -07:00
Shay
9fcc029a13
feat(kernel): bind ProblemFrame relations and measure contract readiness (#831) 2026-06-18 21:05:37 -07:00
Shay
956523fd1d
feat(kernel): operationalize ProblemFrame and deprecate legacy parsing (#830)
* feat(kernel): operationalize ProblemFrame and deprecate legacy parsing

Make #829 kernel substrate the preferred construction path via
build_problem_frame, legacy parsing audit, no-new-legacy agent rules,
morphology planner v2, and guard tests. No serving score or report changes.

* fix(kernel): require actionable morphology planner targets

* fix(kernel): clean ProblemFrame builder diagnostics

* fix(kernel): make morphology planner targets actionable
2026-06-18 20:02:28 -07:00
Shay
58a94c8e4b
feat: implement kernel substrate tranche 1 base-layer foundations (#829)
* feat: implement kernel substrate tranche 1 base-layer foundations

* fix(kernel): ground scalar spans and tighten morphology labels

Add extract_scalar_candidates() with exact source spans and problem_text
provenance while keeping canonicalize_scalar() as the detached pack helper.
Morphology labels now emit missing_* only when substrate frame/unit lookups
actually fail, not on mere trigger-surface presence.
2026-06-18 18:46:20 -07:00
Shay
57a62043d1
feat(gsm8k): xhigh capability sprint 13 robust lift (#827)
* test(gsm8k): pin xhigh sprint13 confusers and completeness

Add the Sprint 13 contract bundle with target-chain pins, sealed-wrong
neighbors, fraction-word refusals, and non-vacuous completeness cases for
extra mile and extra-actor obligations.

* feat(gsm8k): add xhigh sprint13 verified organs

Gate A2t bounded_rate_projection admits 0016 and 0034 with honest
affine/percent derivations. Gate A2u closed_reference_affine_aggregate
admits 0027 and 0039 with statement-scoped numeric obligations and
repaired comparative provenance. Serving lift: 26/24/0 -> 30/20/0 with
wrong=0 preserved.

* docs(gsm8k): add xhigh sprint13 lookback

Record XHIGH draft recovery, unsafe evidence findings, repairs, Path A
salvage decision, validation outputs, and Sprint 14 recommendation.
2026-06-18 16:10:15 -07:00
Shay
6daa5dfdea
feat(gsm8k): capability paradigm sprint 12 singleton contract lift (#825)
* feat(gsm8k): capability paradigm sprint 12 singleton contract lift

Add Gate A2r nested_fraction_remainder_total (0004) and Gate A2s
loose_crayon_box_capacity (0007) under explicit ClusterContracts with
hard 0026/0047 neighbor confuser refusal. Serving lifts 24/26/0 to
26/24/0 with wrong=0 preserved; report.json and sealed artifacts
untouched.

* fix(gsm8k): bind nested fraction outer camp

* fix(gsm8k): bind loose box actor and item units

* test(gsm8k): cover sprint12 binding confusers
2026-06-18 15:10:10 -07:00
Shay
50e8de03fe
feat(gsm8k): capability paradigm sprint 11 cluster-contract lift (#824) 2026-06-18 12:52:32 -07:00
Shay
a37f390009
feat(derivation): capability paradigm sprint 10 frontier lift (#823)
* feat(derivation): capability paradigm sprint 10 frontier lift

Add Gate A2o affine_comparative_inversion_total (0009) and Gate A2p
sequential_comparative_scale (0006). Reject wholesale multiplicative_aggregate
and defer 0013 piecewise calendar until month day-count grounds in text.

Serving: 21/29/0 → 23/27/0, wrong=0 preserved. report.json and sealed
artifacts untouched.

* fix(gsm8k): bind affine inversion total question subject

* fix(gsm8k): bind sequential scale page question subject

* test(gsm8k): cover sprint10 subject binding

* fix(gsm8k): license affine inversion aggregate units

* fix(gsm8k): bind sequential scale factors to reading chain

* test(gsm8k): cover sprint10 aggregate and scale confusers
2026-06-18 12:15:52 -07:00
Shay
80753e13de
fix(gsm8k): harden sprint 9 temporal and affine gates (#822)
Patch post-merge wrong=0 hazards from #820 review without reverting
Sprint 9 organs: bind affine/temporal answers to asked subjects and body
actors, anchor overtime thresholds to per-shift/day surfaces, fix affine
completeness double-counting, narrow percent_partition group skip, and
expand temporal question/rental verb recognition.
2026-06-18 10:57:36 -07:00
Shay
63a9bea823
feat(derivation): capability paradigm sprint 9 temporal tariff + affine lift (#820)
Gate A2m promotes narrow temporal_tariff organs for overtime shift earnings
(0001) and bundle-overflow rental tariffs (0017). Gate A2n promotes affine
fraction-delta chains for 0010-class references (reference × N/M + K).

Serving moves 18/32/0 → 21/29/0 with wrong=0 preserved. Hardens
percent_partition to refuse subgroup-as-total confusers surfaced in review.
2026-06-18 09:59:46 -07:00
Shay
282c5126de
feat(derivation): capability paradigm sprint 8 R6 affine/fraction lift (#819) 2026-06-18 01:52:25 -07:00