chore(ci): local pre-push gate (smoke + warmed_session pin) + T11 candidate-corpus reset record #102

Merged
core-labs merged 1 commit from chore/t11-reset-and-prepush-gate into main 2026-07-23 07:49:27 +00:00
Owner

Weekly-audit 2026-07-22 closeout: T13 decision (3) (local CI gate) + the T11 live-store reset record. Both per Shay's rulings.

1. Pre-push gate — T13 decision (3)

scripts/hooks/pre-push + scripts/hooks/install.sh (via core.hooksPath) run, on every push:

  1. smoke suite — exact CI-gate parity (AGENTS.md §Local-First CI Validation Protocol).
  2. warmed_session consistency lane pin (tests/test_warmed_session_lane.py) — the T13 telemetry-consistency regression class that smoke does not cover (the #96 fail-closed resolve + #97 morph override escaped the smoke files and surfaced only in this lane).

The full ~12k fast-lane stays async CI by design — the gate is deliberately targeted so it blocks the regression class without gridlocking the push cycle. Hook is fail-closed on empty stdin, skips deletion-only pushes; emergency bypass is git push --no-verify (discouraged). AGENTS.md updated to document it.

Wall-time honesty: my earlier "~140s" was the lane alone. Real combined = smoke 132.9s + lane 140.5s ≈ 4.5 min of pytest per push (still ~half the 9-min full fast-lane). Knobs if you want it faster: -n auto on smoke, or lane-only. Left as smoke+lane per your ruling.

2. T11 live-store reset — record only (data is gitignored)

scripts/ops/reset_candidate_corpus_t11_20260722.py is the provenance record of the reset already executed against the live store.

  • Why not the original quarantine spec: candidates carry no timestamp / run-id / test-prod field, and gen-21701 == gen-21702 byte-identical — "the 465" was the entire live candidate corpus, so a surgical TEST_TAINTED bisect was impossible. They were inert (proposal/contemplation only, never serving).
  • Ruling (Option a — clear): executed as an ADR-0219 atomic generation reset (begin → carry recognizers/session/identity+turn_count → empty candidate ledger → commit keep=1), NOT a raw rm (which would violate the checkpoint contract).
  • Result: candidates 465 → 0, turn_count 14990 + identity lineage c9e5968a… preserved, gen-21701/21702 physically GC'd, current → gen-21703 @ 9a428d84. Idle-tick discovery repopulates organically.
  • turn_count left as-is: the pre-fix test turns are not separably identifiable; resetting the scalar would fabricate a number. The candidate corpus was the provenance hazard, not the counter — flagging for your awareness.

3. Ledger

docs/analysis/weekly-audit-2026-07-22-stragglers-todo.md: T10 merged (#100), T11 ruled+executed, T13 (2) hedge-arm ruling + (3) gate recorded.

Scope boundary

The hedge-arm routing (T13 decision 2) is deliberately NOT here — it's serving-physics work (a new grounding-provenance branch at the resolve_surface abstention point) getting its own PR + GSM8K-style validation, exactly as ruled.

[Verification]: smoke 180 passed (132.9s) + warmed_session lane 10 passed (140.5s), exit 0 — worktree core-wt-infra @ base 9a428d84.

Merge on your authorization (no-merge-automation doctrine).

Weekly-audit 2026-07-22 closeout: **T13 decision (3)** (local CI gate) + the **T11** live-store reset record. Both per Shay's rulings. ## 1. Pre-push gate — T13 decision (3) `scripts/hooks/pre-push` + `scripts/hooks/install.sh` (via `core.hooksPath`) run, on every push: 1. **`smoke` suite** — exact CI-gate parity (AGENTS.md §Local-First CI Validation Protocol). 2. **`warmed_session` consistency lane pin** (`tests/test_warmed_session_lane.py`) — the T13 telemetry-consistency regression class that smoke does **not** cover (the #96 fail-closed resolve + #97 morph override escaped the smoke files and surfaced only in this lane). The full ~12k fast-lane stays **async CI** by design — the gate is deliberately targeted so it blocks the regression class without gridlocking the push cycle. Hook is fail-closed on empty stdin, skips deletion-only pushes; emergency bypass is `git push --no-verify` (discouraged). AGENTS.md updated to document it. **Wall-time honesty:** my earlier "~140s" was the lane *alone*. Real combined = **smoke 132.9s + lane 140.5s ≈ 4.5 min** of pytest per push (still ~half the 9-min full fast-lane). Knobs if you want it faster: `-n auto` on smoke, or lane-only. Left as smoke+lane per your ruling. ## 2. T11 live-store reset — record only (data is gitignored) `scripts/ops/reset_candidate_corpus_t11_20260722.py` is the **provenance record** of the reset already executed against the live store. - **Why not the original quarantine spec:** candidates carry no timestamp / run-id / test-prod field, and gen-21701 == gen-21702 byte-identical — "the 465" was the *entire* live candidate corpus, so a surgical `TEST_TAINTED` bisect was impossible. They were inert (proposal/contemplation only, never serving). - **Ruling (Option a — clear):** executed as an **ADR-0219 atomic generation reset** (begin → carry recognizers/session/identity+turn_count → empty candidate ledger → `commit keep=1`), NOT a raw `rm` (which would violate the checkpoint contract). - **Result:** candidates **465 → 0**, `turn_count` 14990 + identity lineage `c9e5968a…` preserved, gen-21701/21702 physically GC'd, `current` → gen-21703 @ `9a428d84`. Idle-tick discovery repopulates organically. - **`turn_count` left as-is:** the pre-fix test turns are not separably identifiable; resetting the scalar would fabricate a number. The candidate corpus was the provenance hazard, not the counter — flagging for your awareness. ## 3. Ledger `docs/analysis/weekly-audit-2026-07-22-stragglers-todo.md`: T10 merged (#100), T11 ruled+executed, T13 (2) hedge-arm ruling + (3) gate recorded. ## Scope boundary The **hedge-arm routing (T13 decision 2)** is deliberately **NOT** here — it's serving-physics work (a new grounding-provenance branch at the `resolve_surface` abstention point) getting its own PR + GSM8K-style validation, exactly as ruled. [Verification]: smoke 180 passed (132.9s) + warmed_session lane 10 passed (140.5s), exit 0 — worktree `core-wt-infra` @ base `9a428d84`. Merge on your authorization (no-merge-automation doctrine).
core-labs added 1 commit 2026-07-23 05:31:22 +00:00
Weekly-audit 2026-07-22 closeout — T13 decision (3) CI gate + T11 execution.

- scripts/hooks/pre-push + install.sh: a core.hooksPath pre-push gate that runs
  the smoke suite PLUS the warmed_session consistency lane pin — the T13
  telemetry-consistency regression class that smoke does NOT cover. The full
  ~12k fast-lane stays async CI by design; the gate is deliberately targeted so
  it blocks the regression class without gridlocking pushes. Fail-closed on
  empty stdin; skips deletion-only pushes; emergency bypass git push --no-verify.

- scripts/ops/reset_candidate_corpus_t11_20260722.py: provenance record of the
  T11 live-store reset. The 465 discovery candidates predated the #100
  isolation fix and carried no per-record test/prod discriminator, so a surgical
  quarantine was impossible; ruling was to clear (not asterisk). Executed as an
  ADR-0219 atomic generation reset (empty candidate ledger, keep=1) — candidates
  465 -> 0, turn_count 14990 and identity lineage preserved, tainted generations
  GC'd. Data lives in gitignored engine_state/; this script is the audit trail.

- AGENTS.md: document the automated pre-push gate under the Local-First CI
  Validation Protocol.

- weekly-audit ledger: T10 merged (#100), T11 ruled+executed, T13 (2) hedge-arm
  ruling + (3) pre-push gate recorded.

[Verification]: smoke 180 passed (132.9s) + warmed_session lane 10 passed
(140.5s), exit 0 — worktree core-wt-infra @ base 9a428d84.
core-labs merged commit 19847f9007 into main 2026-07-23 07:49:27 +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#102
No description provided.