Skip to content

CI fail-fast: cheap-gate early batch (SIMPLE declared membership + dissolution trigger) + event-scoped stop policy - #7088

Merged
briansrls merged 16 commits into
mainfrom
session/quiet-moth-636-ci-fail-fast
Jul 23, 2026
Merged

briansrls merged 16 commits into
mainfrom
session/quiet-moth-636-ci-fail-fast

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Cheap-gate early batch: declare gunbc_ci_cheap_floor_gate_membership (layering-imports, extdeps external-authority, generated-artifact drift) as a Scaffold with dissolution trigger; schedule them in batch 0 before compile-clean so fast scans fail in seconds instead of after the ~4min compile anchor. Cheap gates are resource anchors so discovery-flip corpus→gate serialization does not deadlock the scheduler (cheap→compile→corpus cycle).
  • Event-scoped floor stop policy: model FloorBatchStopPolicy in gunbc.ci_spec (pull_request → StopBeforeDependents; main/falsifier/unknown → FullLedger). claim_executor evaluates gunbc_ci_floor_batch_stop_policy_for_github_event + gunbc_ci_floor_plan_uses_batch_stop_policy from the resolved plan context and consumes the variant in run_walk (seed bridge: gunbc_ci_floor_batch_stop_policy_claim_executor_seed_note + Scaffold disposition; dissolve-on: self-emitted claim_executor).
  • GHA concurrency (orthogonal): model cancel-in-progress as github.event_name != 'merge_group' so PR/push runs supersede stale work but merge-queue checks are not killed.
  • Schedule lens + witnesses: update schedule_lens for batch-0 cheap / batch-1 compile shape; enrolled-set preservation; RED control (compile gate absent from batch 0); stop-policy + roster witnesses; ci_concurrency_policy_witness_test; regen ci.yml concurrency line.

Test plan

  • claim_batch --entry src/v2/test/claim/ci_floor_plan_witness_test.dag --functions ci_floor_plan_witnesses — PASS
  • claim_batch --entry dag/test/claim/ci_concurrency_policy_witness_test.dag --functions ci_concurrency_policy_witness_holds — PASS
  • CI floor on PR (post-ready)

briansrls and others added 3 commits July 22, 2026 22:03
Run negligible-memory gates before compile-clean so layering/drift/authority
violations fail in seconds, and scope cancel-in-progress off merge_group so
queue checks are not killed by unrelated PR activity.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 22, 2026 22:31
@gunbai-bot

gunbai-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 41563 in b11ba515:

  1. cancel-in-progress expression — valid §5 fail-open. The authority now emits ${{ github.event_name != 'merge_group' }} (not a bare string), ci.yml regen matches, and ci_concurrency_policy_witness_holds discriminates the unwrapped form as a RED control.

  2. schedule_lens diagnostic — renamed the batch-0 violation to CompileGateInFirstBatch with schedule_lens_compile_gate_in_first_batch reason. Updated realization_schedule_witness_test synthetic plan to the 3-batch cheap→compile→corpus shape so the lens witness stays green.

Local: ci_concurrency_policy_witness_holds PASS, realization_schedule_witnesses PASS.

— sent from quiet-moth-636

@gunbai-bot

gunbai-bot Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

review 41595 — observation 1 (plan roster parallel representation): Valid finding; addressed in the latest commit. plan_uses_floor_batch_stop_policy no longer hard-codes the three plan-function names — it evaluates gunbc_ci_floor_plan_uses_batch_stop_policy from the already-resolved plan context (same .dag-authority + seed-consumer split as gunbc_ci_floor_batch_stop_policy_for_github_event). The remaining seed parallel for the arm-time budget refusal roster (FLOOR_ARM_TIME_BUDGET_REFUSAL_PLAN_FUNCTIONS + floor_arm_time_budget_refusal_plan_functions_match_dag_seed_roster) is pre-existing §7 seed-retained scaffolding, unchanged by this PR.

review 41595 — observation 2 (concurrency cancel-in-progress vs FullLedger): Intentional orthogonality, not a conflict. These operate at different layers:

  • GHA concurrency (ci_concurrency_cancel_in_progress_if): workflow-grain — supersede stale runs when a newer commit arrives (PR push, main push, workflow_dispatch). A cancelled run's ledger is truncated because the whole job is killed; that is desired (only the latest commit's verdict matters on main).
  • Executor FullLedger (run_walk stop policy): within-run batch-grain — on push/schedule, if batch 0 (cheap gates) reds, record the failure and continue to compile + corpus before exiting non-zero. This is exactly acceptance point 4 (main still prints the complete gate+corpus ledger for the run that executes).

A superseded main push cancelling an in-flight run does not defeat FullLedger's purpose — FullLedger governs batch continuation inside the surviving run; concurrency governs which run survives. merge_group is the carve-out where cancel-in-progress is false (queue must not kill in-flight checks).

— sent from quiet-moth-636

briansrls and others added 5 commits July 23, 2026 00:56
Co-authored-by: Cursor <cursoragent@cursor.com>
Document claim_executor seed bridge in gunbc.ci_spec with Scaffold
disposition, SCAFFOLD comment in claim_executor.rs, and roster
enrollment witness (review 41597).

Co-authored-by: Cursor <cursoragent@cursor.com>
CI run 29970856958 measured resolves_total=4 after cheap gates moved to
batch 1 before compile-clean; update ci_floor_declared_resolve_count and
regen ci.yml resolve-receipt gate per materialization discipline.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls merged commit 76fa654 into main Jul 23, 2026
3 checks passed
@briansrls
briansrls deleted the session/quiet-moth-636-ci-fail-fast branch July 23, 2026 03:23
gunbai-bot Bot pushed a commit that referenced this pull request Jul 23, 2026
…) — review 41712

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 23, 2026
…us receipt (main-side, control-verified)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Jul 23, 2026
…7088 nfr roster sites (5th predict-skip occurrence), record on ts-lying-stamp
briansrls added a commit that referenced this pull request Jul 23, 2026
…non_fold_residue, host census reads through, registry enrolled (#7107)

* Commit 1: native-routing frontier authority — 9 families, all InterpretedRetained{parity_window_open}

NativeRouted | InterpretedRetained{reason, dissolve_on} per enrolled family
(self-host-frontier pattern applied to execution routing). Witnesses:
totality, exactly-one-per-family, unlisted-family RED, all-start-retained.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 2: parity window — receipt-gated routing flips (N=3 consecutive green, reset on red/cold)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 3: per-PR native batch consuming the routing frontier (empty at landing, zero behavior change)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 4 (R2): toolchain-identity segment in the durable native-cache root

rustc -V derived at prelude time; a toolchain upgrade lands in a fresh root
and cold-rebuilds. Realization-side backstop per the census R2 flag; the
model-side key term is the declared construction end-state. Unresolvable
rustc falls to a named sentinel segment; the falsifier cold control stays
the backstop.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 5: P4 advisory-soundness law — derived bound vs observed peak, unknown never sound

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 6: P2/host fusion law — marker warmness must agree with store Share/Recompute (R6 tripwire)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 7 (R1): ComputationIdentity lattice landed in dag/std; v2.std.materialize first consumer

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 8: the flip — meet_join + complement NativeRouted via the family-crate pr_native leg

Operator ruling 2026-07-22: receipts sourced from observed local runs (law
unchanged). srv1 hermetic 4-run probe: 4/4 PASS, runs 2-4 fully warm — three
consecutive green windows. The other 7 stay InterpretedRetained: their
equals_eval legs are UNCACHED (sweep receipt), so the dissolve-on is a
no-evict cached carrier per family. Per-PR batch now enrolls 2 hermetic
entries; landing witnesses updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 9: materialize rust-toolchain.toml into every emitted cargo workspace

Fleet incident: runners without a rustup default refuse cargo builds in
RUNNER_TOOL_CACHE workspaces (repo checkouts build only via the in-repo
rust-toolchain.toml; srv1 masked this with a hand-set default — srv2 red).
Pin row added to all 11 WorkspaceFile scaffolds; literal mirrors the sole
authority with a declared derive-from-file dissolve-on.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 10: transport host-tool resolution — PATH, then CARGO_HOME/bin, then ~/.cargo/bin

srv2 probe receipt: spawn cargo failed ENOENT — runner env has no cargo on
PATH; emitted workspaces spawn with only process env. Resolution falls back
to the cargo home bins; all-miss keeps the existing typed refusal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Commit 11: toolchain pin in the shared rust_bool_fn_host_runtime_row scaffold (the logic-family path missed by commit 9's sweep)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Regen ci.yml at merged head (drift gate red: merge took theirs without re-emitting)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* Merge origin/main (#7091 flip revert) onto subject-keyed frontier

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: group<u>

* WIP: group<u>

* Rename decl helper to roster_decl (bare-name collision with design/material.dag css decl)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* WIP: group<u>

* Restore sibling-lane files to origin/main (stale-merge sweep: pre-squash branch history reintroduced old content on merge)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: group<u>

* Reconcile ROADMAP count to 125 rows (123 legacy + 2 fresh #7088 sites) — review 41712

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: group<u>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Brian Searls <briansearls1@gmail.com>
briansrls added a commit that referenced this pull request Jul 23, 2026
…+ use-symbol ownership) + re-probe wave carriers (#7097)

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* emit: never synthesize an import for a name the module itself declares (E0255 std_dup root)

Seam probe by execution (04_infer cssl closure, raw emit pre-assembly): the
E0255 'List defined multiple times' class is EMITTER-root — the reference-derived
use-line pass consulted only the bare-name last-write-wins registry, so a
dual-tree homonym (dag/std List/Map/GroupCompletion vs src/v2/std twins) steals
the registry row and the pass synthesizes a pub-use that collides with the
module's own declaration (std_types.rs List/Map, std_algebra.rs GroupCompletion).

Fix: local-decl exclusion in reference_derived_use_lines — candidates fold
local_type_names + authored item names into the exclusion map before registry
lookup (containment binds a bare ref to the module's own declaration first).
Byte-inert on the green seed by construction; regen_stage0 stage-2 divergence 0
(only v1_compiler_emit_rust.rs changes, the edit's own footprint).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* probe: full residual histogram + raw dup-pub-use census columns (classifier v3)

Two new TSV columns per operator requirement (2026-07-22): residual_histogram
(every rustc E-code + count — rustc masks later layers behind first_error) and
raw_dup_pub_use (duplicate symbols across pub-use lines measured on the RAW emit
BEFORE assembly rewrites — the by-execution census for dissolving the last cssl
sanitize rule). Green verdict split: CARGO_GREEN for unshimmed builds; PHANTOM
retained only where a lane shim replaced the cssl lib.rs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* review 41673 follow-ups: dissolve-on trigger for strip_repeated_use_symbols (advisory b)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* nfr roster backfill: two #7088 sites surfaced by this PR's whole-corpus receipt (main-side, control-verified)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

* WIP: Lane A: std_dup seam probe + fix + cargo-green flip wave

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Jul 23, 2026
…#7104)

* WIP: UI roadmap structure discussion

* WIP: UI roadmap structure discussion

* WIP: UI roadmap structure discussion

* WIP: UI roadmap structure discussion

* WIP: UI roadmap structure discussion

* WIP: UI roadmap structure discussion

* WIP: UI roadmap structure discussion

* Fix CI reds: re-pin authority strings + roadmap_css digest, backfill #7088 nfr roster sites (5th predict-skip occurrence), record on ts-lying-stamp

* WIP: UI roadmap structure discussion

---------

Co-authored-by: Brian Searls <briansrls@gunb.ai>
briansrls added a commit that referenced this pull request Jul 23, 2026
…tion (levers 2/3/8 of #7106) (#7122)

* docs: attribute the CI floor 45-72min band by ci-job phase and batch.

Log-diff receipts on fleet runs decompose workflow vs ci-job wall time and name discovery resolve, self-host gates, and #7030 effectful recovery as the dominant buckets.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: CI floor redundant-work ledger, phase TSV, and ranked levers.

Re-derive run 29976989996 and five comparison arms; name per-stage duplicate work (per-entry resolve walks, ingest re-scan, cheap gates after compile) and price top levers in minutes without floor behavior changes.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: register ci-floor-time audit plan in doc_graph_roots.

Unblocks doc_reachability pre-push gate for the measurement-only audit PR.

Co-authored-by: Cursor <cursoragent@cursor.com>

* WIP: CI floor time audit: attribute the 45-72min band

* WIP: CI floor time audit: attribute the 45-72min band

* fix(ci): drop duplicate NFR roster + merge #7114 — restore docs-only PR diff

The layering batch-1 red on 652ec65 was caused by our redundant cli_run.rs
NFR backfill (already landed on main as #7114), which forced a whole-tree
compile-clean on .rs and a heavier batch-1 path. doc_graph_roots bind row
checked: import-bearing file, module_path in string literal — no new
layering edge (not 7080-class). PR diff vs main is now docs + doc_graph only.

Co-authored-by: Cursor <cursoragent@cursor.com>

* One tree, one resolve: floor stages consume the compile-clean computation (redundant-work ledger levers 2/3/8)

STEP-1 model (gunbc.ci_materialization ci_floor_resolve_receipt_note, Receipt 5):
the compile-clean receipt's typed store — the main-thread process_shared_index the
eager install warms — is the consumable fact; later floor stages consume it, and a
stage that cannot be served is counted, never a silent re-walk. Declared
cold-resolve count 4 -> 3 consciously (the note's own rewire discipline); ci.yml
regenerated to match.

Lever 3 (executor realization): batch_unit_lane clause (c) — a resolve-group
sharing an (entry, execution_mode) some batch resolves on the memo path is
colocated there, so the batch-0 cheap-gate group rides the store the eager
compile-clean install warmed instead of re-deriving the same closure cold on a
spawned thread (where thread-local process_shared_index is invisible); the
compile anchor and emit-host then consume its walk_memo context as hits. No
schedule fact added or reordered (#7088 batch-0 ordering untouched).

Lever 2 (transport realization): run_gunbc_claims pools ONE gunbc child per call
(gunbc.Cli.RunClaims; argv grammar gunbc.cli_invoke.cli_claim_spec
'ENTRY::FUNCTION', decoder parse_pooled_claim_spec — one grammar, both
directions) instead of one child per claim row: N rows over K distinct entries
pay one pool build + K entry resolves against the child's per-process shared
store (resolve_entry_graph), full-ledger conjunction preserved by construction.
Residue (one pool build per call; overlay manifests are composed input) counted
in the redundancy ledger; dissolve-on the W3 cross-process content-keyed store.
Dead per-claim argv helper gunbc_claim_run_args deleted (zero consumers).

Lever 8 (partition authority): CompileCleanPartitionBoundary.entry_roots =
witness_layer_roots — the roster enumerates exactly the tree the whole-tree gate
compiles, never witness_layer_roots.first() ('dag' only). Closes both directions
of the roster-subset asymmetry: src/v2-only .dag diffs scope to their entry
closures instead of falling to the no-shard-intersection whole-tree baseline
(run 29976989996's shape), and a dag-rooted touch now selects affected src/v2
importers on scoped runs. Totality glob follows the boundary (both roots; join
fixed for newline-trimmed shell stdout). Every fail-closed arm unchanged.

Proven by execution: executor lane tests (promotion + RED control + mode
keying); pooled claim-spec grammar tests; floor_fast_plan_scopes_src_v2_entries_
both_directions on the live tree; live-tree shard totality over both roots;
pooled overlay run of the real_ingest leg (3/3 PASS — stub supersession through
the pooled resolve path); typed-op witnesses incl. RunClaims red control;
cargo fmt clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Rc3TWb8FFexdVQDNbb44

* ci: retrigger pull_request run (empty)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Rc3TWb8FFexdVQDNbb44

* Phase-0(b) admission: enroll the two RunClaims typed-op witnesses on the bin_witness_wet roster

typed_witness_invocation_test.dag is discovery-excluded by pattern; every fn
in it rides the explicit bin_wet roster. The two pooled-op witnesses added
with gunbc.Cli.RunClaims landed excluded-but-unrostered and the floor refused
loudly (WITNESS ADMISSION REFUSAL cause=UnexecutedDeferredWitness count=2,
run 29993198712) — the admission invariant working as designed; these rows
give them their executing consumer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Rc3TWb8FFexdVQDNbb44

* Acceptance receipts: phase-attribution row + ledger flips + lever evidence (run 29995111208)

Green pull_request floor on this branch, same probe format as the #7106
baseline: compile_clean 3.58 -> 2.89, cheap gates 10.15 -> 4.65, compile-gate
consume 27s -> 8ms (walk-memo hit), ingest 12.15 -> 5.24, reads_real_bytes
3.30 -> 3.13, discovery unchanged by design (lever 1 out of mandate);
resolves_total 3 == declared 3 (the resolve-receipt gate's own green line).
Ledger rows cheap_gates_batch1 / compile_gate_consume flip to
consumes-receipt; source_root_ingest_gate to necessary-first-touch (pooled),
each with this run id as evidence. Batch-4 exec-corpus anomaly (52min, the
interp_recorded_fixture row) is footnoted in the row's class and attributed
in the PR thread — not a mandated stage; bisection in progress.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Rc3TWb8FFexdVQDNbb44

* Rework R1-R3: per-gate pooled claim_batch child (the section-9 cold-child class); interim gunbc-run claim grammar deleted as a duplicate; interp_recorded per-PR enrollment reverted

R1 (child-pool lever, walls honored): run_gunbc_claims realizes as ONE
claim_batch child per call — claim_batch's own pre-existing pooled
--entry/--function grammar, one shared MultiEntryIndex per process, per-claim
verdicts NAMED by its PASS/FAIL-per-function loop, no short-circuit, exit
nonzero iff any failed. The gunbc run --claim flag, gunbc.Cli.RunClaims op,
and the ENTRY::FUNCTION spec grammar this branch had introduced are deleted:
claim_batch already owned the pooled-claims surface (one grammar, not two).
Cheap-gate transports consolidate to one call per GATE (layering 7 rows -> 1
child, was 7 cold children; extdeps 5 -> 1, was 5; the former cross-call &&
short-circuit inside a gate is deliberately removed — every claim reports on
every run, stated in the transport notes). The pooled child stays a SEPARATE
process by design — never in-executor evaluation (the executor is the
16GiB-pinned process; the child dies and frees). extdeps' private roots datum
dissolved into witness_layer_roots (a nickname).

R2 (batch-4 disposition at the witness grain): interp_recorded_fixture's
per-PR enrollment REVERTED to OfflineLocalRecipe — its ~13+ claim_batch
children each cold-index the whole workspace root (2556s on run 29995111208,
the dominating row of the 53.2min batch-4 wall); too heavy for the falsifier
wet lane's 600s receipt budget as-is, so local-recipe with a pooled/scoped
re-enrollment dissolve-on rather than an enshrined nightly refusal.

Proven by execution: pooled child 10/10 PASS over 4 entries in one process
(incl. the argv-shape witness pinning claim_batch_claims_argv's exact
output); RED control exit 1 with the failing claim NAMED and later rows still
reporting; ingest overlay leg 3/3 through the claim_batch loader (stub
supersession held); whole-tree --target dag compile green; artifact drift
clean; cargo fmt clean; executor lane + scope-plan test batteries green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Rc3TWb8FFexdVQDNbb44

* R4 re-measure: run 30009199696 phase row + ledger evidence (floor 49.5m fits the 55m cap; wet 53.2->10.82; cheap 3.08 and ingest 6.90 land as counted residue vs the 2min targets)

Fresh phase-attribution row from the post-rework pull_request run
30009199696 (head 6fe8d02, all gates green, resolves_total 3 == declared
3, peak 15.0GiB cgroup-post): ci_job 99.2->61.1min, floor step 49.5min
under the 55min cap; wet wall 53.20->10.82min from the interp_recorded
de-enrollment (surviving pools 20+54 rows, eval 9.35min serial).

The two R1 acceptance targets MISS and are recorded as counted residue
in the redundancy ledger, mechanism named per row: cheap gates
4.65->3.08min (2 pooled children at ~88s/~64s — each claim_batch child
pays a corpus-denominated MultiEntryIndex build regardless of roster
size); source_root_ingest 5.24->6.90min, a +1.66min REGRESSION vs the
interim vehicle (4 children at ~82-118s; the claim_batch child costs
~25-30s/process more than the deleted gunbc-run vehicle — loader-parity
gap on top of the shared corpus-denominated index). Dissolve-on for
both: the W3 cross-process content-keyed store (or claim_batch loader
parity), never a silent re-widen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2Rc3TWb8FFexdVQDNbb44

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant