Commit graph

823 commits

Author SHA1 Message Date
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
708237525c test(kernel): cover bound replay adapter input 2026-06-22 23:39:41 -07:00
Shay
76bb756519 test(kernel): cover run-attempt binding shell 2026-06-22 23:16:02 -07:00
Shay
d0d7df3857 fix: add generate/run_attempt_binding.py + complete real tests (no placeholders, full coverage) 2026-06-22 23:05:42 -07:00
Shay
fbf9b18868 fix: replace placeholder with full ADR-0232 implementation of run_attempt_binding (generate/ + tests/) 2026-06-22 23:03:04 -07:00
Shay
65505e059d feat(kernel): implement inert run-attempt binding shell per ADR-0232 2026-06-22 22:57:22 -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
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
8b0edb6915 test(kernel): cover ContractResidual projection 2026-06-22 08:07:27 -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
032c05f806 test(kernel): harden unary-delta isolation after proposal seam 2026-06-21 06:35:48 -07:00
Shay
0f6c51d0d4 test(kernel): pin missing-object unary-delta confuser 2026-06-21 05:48:11 -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
a145b7c3d6
feat(kernel): implement ProblemFrame proportional-change closure (#846)
* chore(kernel): update adequacy report, fix lint warnings, and record failure proposal

* chore(ci): refresh PR checks

* chore(ci): remove PR check refresh marker
2026-06-20 19:19:07 -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
2802562da8
test(kernel): lock proposal-first construction seam invariants (#843) 2026-06-20 16:23:25 -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
Shay
5d529b425f
feat(derivation): capability paradigm sprint 7 experience-guided lift (#818)
* feat(derivation): capability paradigm sprint 7 experience-guided lift

Add Gate A2i round_trip_trip_duration (0030/cv-0006) and Gate A2j
giveaway_target_residual (0035/cv-0021) as narrow self-verified promotion
bridges discovered via Experience Flywheel decomposition of the
joint-refusal cluster.

Serving: 14/36/0 → 16/34/0, wrong=0 preserved. Holdout_dev admits 0.

* fix(gsm8k): bind giveaway residual to owner

* test(gsm8k): cover giveaway owner binding
2026-06-17 22:47:02 -07:00
Shay
e2f3d37373
feat(derivation): capability paradigm sprint 6 experience-guided lift (#817)
* feat(derivation): capability paradigm sprint 6 experience-guided lift

Experience Flywheel + scout on post-#816 main showed lift_refused_to_correct=0
(Sprint 5 already served prior deltas). Decompose the MA cluster and R5 pin into
two narrow organs:

- Gate A2g duration_segment_total (0015 / cv-0022)
- Gate A2h survey_rate_earnings (0045)

Ephemeral train_sample: 12/38/0 → 14/36/0, wrong=0 preserved.
Holdout_dev: 0 new admissions. report.json and sealed artifacts untouched.

* fix(gsm8k): require compatible duration units

* fix(gsm8k): harden survey earnings verification

* test(gsm8k): cover sprint6 review hardening
2026-06-17 22:22:53 -07:00
Shay
ff055d509b test(gsm8k): cover experience flywheel review hardening 2026-06-17 21:39:44 -07:00
Shay
9e7432748d fix(gsm8k): patch experience flywheel merge, provenance, and layering
- merge_compacted_runs merges key-by-key without re-expanding prior counts
- load default train_sample cases for live operation_class resolution
- hash full scout row evidence in source_report_hash and source_run_id
- replace scripts.gsm8k_frontier_report import with local _extract_category
2026-06-17 21:25:36 -07:00
Shay
0ca48cc9a3 feat(gsm8k): add bounded experience flywheel for sealed practice
Introduce deterministic practice-memory infrastructure that adapts sealed
scout output into compact, retention-gated ExperienceRecords with family,
hazard, and promotion-candidate summaries. No serving, corpus, pack, or
report.json mutation — measurement-only adapter for future sprint reuse.
2026-06-17 21:05:02 -07:00
Shay
aa6173af58
feat(derivation): capability paradigm sprint 5 question-bound product lift (#815)
Practice/scout showed 0003/0021 refuse on DCS no-injection while sealed
resolve_pooled commits correctly. Build Gate A2f typed revenue/weight product
organs narrower than disabled product_bridge; lifts train_sample 10/40/0 to
12/38/0 with wrong=0 and zero holdout_dev admissions.
2026-06-17 20:51:17 -07:00
Shay
e8f5a347d5
feat(derivation): capability strike batch 4 goal-residual lift (#814)
* feat(derivation): capability strike batch 4 goal-residual lift

Scout-guided Batch 4 re-wires resolve_promotable_goal_residual serving
promotion (Gate A2e) for train_sample 0037. product_bridge stays disabled
per held-out wrong=0 bisection.

Ephemeral train_sample: 9/41/0 → 10/40/0, wrong=0 preserved.
report.json untouched.

* test(gsm8k): refresh composition corpus prose for A2e

* fix(derivation): refuse comparative goal-residual questions

* test(derivation): guard goal-residual against comparative more-than
2026-06-17 20:21:18 -07:00
Shay
fe4f1223e0
feat(derivation): capability strike batch 3 peer-pick lift (#813)
* feat(derivation): capability strike batch 3 peer-pick lift

Gate A2d peer_partition_question closes train_sample 0025 by binding
the conditional friend-count clause to a multiply-by-(1+N) graph step
after WAVE-A multiplicative_aggregate statement ingestion.

Ephemeral train_sample: 8/42/0 → 9/41/0, wrong=0 preserved.
report.json untouched.

* chore(analysis): normalize batch3 lookback EOF

* chore(derivation): normalize peer partition test EOF

* fix(derivation): require integer peer-pick friend counts
2026-06-17 19:56:37 -07:00
Shay
0215c30bbe
feat(evals): add GSM8K sealed attempt scout (#812)
* feat(evals): add GSM8K sealed attempt scout

Deterministic train_sample dual-scorer (serving vs resolve_pooled) that
classifies refusal families and ranks lift targets for Capability Strike.
Measurement-only: no serving mutation, no report.json writes by default.

* chore(analysis): normalize sealed scout lookback EOF
2026-06-17 19:55:13 -07:00
Shay
708f27a240
feat(derivation): capability strike batch 2 bracelet-yield lift (#811)
* feat(derivation): capability strike batch 2 bracelet-yield lift

Gate A2c adds container_of_product composition for "N bags of M unit"
acquisition statements and yield_question binding that injects unit_partition
from a conditional per-unit rate clause. Live ephemeral train_sample moves
7/43/0 → 8/42/0 with wrong=0 preserved; case 0008 admitted.

* chore(derivation): normalize A2c test formatting

* chore(analysis): normalize batch2 lookback EOF

* test(derivation): guard A2c pronoun ambiguity
2026-06-17 19:32:42 -07:00
Shay
5a0423cb36
feat(derivation): Gate A2b case 0002 fractional rest composition (#810)
* feat(derivation): Gate A2b case 0002 fractional rest composition

Add fraction_portion operation for "gives N/M of that" and "half of the
rest" subtract semantics chained after unit_partition, plus keep-on-hand
question binding with partition-noun unit inference. Live train_sample
moves 6/44/0 to 7/43/0 with wrong=0 preserved; confuser-v1-0007 still
refuses without "of that".

* test(derivation): add A2b sibling and confuser anti-overfit cases

Cover Bob/Alice partition+fraction chains, slash-without-referent refusal,
partition-less "of that", and multi-actor pronoun ambiguity.

* chore(derivation): normalize A2b fraction test EOF
2026-06-17 19:08:24 -07:00