Shay
57156857bd
chore(kernel): tighten construction_affordances catalog invariants ( #930 )
...
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
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