fix(cognition): restore register axis on pipeline-served turns + Phase 0 of generalization arc #110

Merged
core-labs merged 1 commit from feat/generalization-phase0 into main 2026-07-24 19:59:08 +00:00
Owner

Plan of record for the generalization arc lands here
(docs/plans/generalization-arc-2026-07-24.md) with the risk-tiered
handoff pack (docs/handoff/generalization-2026-07/); Phase 0.1 executed.

Root-caused the three stale lane pins (docs/research/lane-drift-
investigation-2026-07-24.md):

  • miner/curriculum: 5c69b741 (ADR-0244 §2.7) widened content digests
    16→64 hex; intentional, pins were simply never updated. Re-pinned
    surgically; SHAs triple-run deterministic.
  • demo_composition: a REAL serving regression. #76's canonical-first
    base precedence in resolve_surface, activated when #96 routed pipeline
    turns through the resolver, served the pre-R6 canonical — the register
    axis (ADR-0077 R6 substantive + ADR-0071 R4 decoration) was silently
    stripped from every pipeline-served turn. T13's back-stamp then made
    telemetry mirror the stripped bytes; register-tour claims went red and
    the e2e tests pinning the axis (outside smoke) were failing on main.

Fix: response-first base precedence (served bytes = post-guard, post-R6,
post-R4) + new SurfaceResolution.hash_surface carrying the truth-path
canonical-precedence bytes through substrate overrides, folds, hedge,
logos-morph, and the speculative marker. compute_trace_hash folds
hash_surface, so the register axis varies the served surface ONLY and
trace_hash stays register-invariant (ADR-0069 inv C). _prior_surface
(correction binding) stays on the truth path. Dead FailureClass import
and _assessment_residual removed.

Also: generate_claims.py had raised on every run since the
deduction_serve_v1 pin landed without a _LANE_ADR entry — mapping added
(ADR-0256), CLAIMS.md regenerated, --check green.

[Verification]: register tour 6/6 claims (substantive-differs restored,
all_trace_hashes_identical held); 88 tests green in-worktree
(test_surface_resolution incl. 2 new fallback tests,
test_register_substantive_consumption incl. previously-red e2e tests,
test_grounded_open_hedge_arm, test_cognitive_turn_pipeline,
test_warmed_session_lane 10/10 T13 consistency); miner/curriculum lane
SHAs byte-identical across three runs; deduction_serve + deductive_logic
lane reports byte-identical to their unchanged pins; smoke suite via
pre-push gate.

Plan of record for the generalization arc lands here (docs/plans/generalization-arc-2026-07-24.md) with the risk-tiered handoff pack (docs/handoff/generalization-2026-07/); Phase 0.1 executed. Root-caused the three stale lane pins (docs/research/lane-drift- investigation-2026-07-24.md): - miner/curriculum: 5c69b741 (ADR-0244 §2.7) widened content digests 16→64 hex; intentional, pins were simply never updated. Re-pinned surgically; SHAs triple-run deterministic. - demo_composition: a REAL serving regression. #76's canonical-first base precedence in resolve_surface, activated when #96 routed pipeline turns through the resolver, served the pre-R6 canonical — the register axis (ADR-0077 R6 substantive + ADR-0071 R4 decoration) was silently stripped from every pipeline-served turn. T13's back-stamp then made telemetry mirror the stripped bytes; register-tour claims went red and the e2e tests pinning the axis (outside smoke) were failing on main. Fix: response-first base precedence (served bytes = post-guard, post-R6, post-R4) + new SurfaceResolution.hash_surface carrying the truth-path canonical-precedence bytes through substrate overrides, folds, hedge, logos-morph, and the speculative marker. compute_trace_hash folds hash_surface, so the register axis varies the served surface ONLY and trace_hash stays register-invariant (ADR-0069 inv C). _prior_surface (correction binding) stays on the truth path. Dead FailureClass import and _assessment_residual removed. Also: generate_claims.py had raised on every run since the deduction_serve_v1 pin landed without a _LANE_ADR entry — mapping added (ADR-0256), CLAIMS.md regenerated, --check green. [Verification]: register tour 6/6 claims (substantive-differs restored, all_trace_hashes_identical held); 88 tests green in-worktree (test_surface_resolution incl. 2 new fallback tests, test_register_substantive_consumption incl. previously-red e2e tests, test_grounded_open_hedge_arm, test_cognitive_turn_pipeline, test_warmed_session_lane 10/10 T13 consistency); miner/curriculum lane SHAs byte-identical across three runs; deduction_serve + deductive_logic lane reports byte-identical to their unchanged pins; smoke suite via pre-push gate.
core-labs added 1 commit 2026-07-24 19:58:49 +00:00
Plan of record for the generalization arc lands here
(docs/plans/generalization-arc-2026-07-24.md) with the risk-tiered
handoff pack (docs/handoff/generalization-2026-07/); Phase 0.1 executed.

Root-caused the three stale lane pins (docs/research/lane-drift-
investigation-2026-07-24.md):
- miner/curriculum: 5c69b741 (ADR-0244 §2.7) widened content digests
  16→64 hex; intentional, pins were simply never updated. Re-pinned
  surgically; SHAs triple-run deterministic.
- demo_composition: a REAL serving regression. #76's canonical-first
  base precedence in resolve_surface, activated when #96 routed pipeline
  turns through the resolver, served the pre-R6 canonical — the register
  axis (ADR-0077 R6 substantive + ADR-0071 R4 decoration) was silently
  stripped from every pipeline-served turn. T13's back-stamp then made
  telemetry mirror the stripped bytes; register-tour claims went red and
  the e2e tests pinning the axis (outside smoke) were failing on main.

Fix: response-first base precedence (served bytes = post-guard, post-R6,
post-R4) + new SurfaceResolution.hash_surface carrying the truth-path
canonical-precedence bytes through substrate overrides, folds, hedge,
logos-morph, and the speculative marker. compute_trace_hash folds
hash_surface, so the register axis varies the served surface ONLY and
trace_hash stays register-invariant (ADR-0069 inv C). _prior_surface
(correction binding) stays on the truth path. Dead FailureClass import
and _assessment_residual removed.

Also: generate_claims.py had raised on every run since the
deduction_serve_v1 pin landed without a _LANE_ADR entry — mapping added
(ADR-0256), CLAIMS.md regenerated, --check green.

[Verification]: register tour 6/6 claims (substantive-differs restored,
all_trace_hashes_identical held); 88 tests green in-worktree
(test_surface_resolution incl. 2 new fallback tests,
test_register_substantive_consumption incl. previously-red e2e tests,
test_grounded_open_hedge_arm, test_cognitive_turn_pipeline,
test_warmed_session_lane 10/10 T13 consistency); miner/curriculum lane
SHAs byte-identical across three runs; deduction_serve + deductive_logic
lane reports byte-identical to their unchanged pins; smoke suite via
pre-push gate.
core-labs merged commit 379e1611ac into main 2026-07-24 19:59:08 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: core-labs/core#110
No description provided.