Skip to content

v1 run-stability throughline: roadmap + M0 receipt + M1b/M1b-2 + M1 dial receipt (resolve peak 5.27→1.48 GB; whole-corpus run 120m-killed → 8m green at width 9) - #6528

Merged
briansrls merged 15 commits into
mainfrom
session/sleek-deer-172
Jul 13, 2026

Conversation

@gunbai-bot

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

Copy link
Copy Markdown
Contributor

Summary

The corpus-OOM lane executing its operator-signed roadmap — four coherent pieces (scope widened from the original doc-only PR as execution began; each piece receipted below):

1. The throughline doc (docs/plans/v1-run-stability-throughline.md): decision tree + milestones for whole-corpus floor stability inside the 16 GiB slot envelope. Amended per the routed review (sharp-bee-290): success metric = completion within step budget at width > 1 (the governor packs width to the memory.high line by construction, so floor peak is a design constant — not a metric); M0 tests the retention→parallelism mechanism; eval-memo scope boundary stated. Status: executing (sign-off 2026-07-13 "start executing on this now").

2. M0 instrument + receipt (measurement-only, flag-gated --ancestry-report): per-field retained-vs-distinct-spine entry counts over every TypedModule. Receipt (§1 of the doc): te.inductive_fields list mass = 409,240,584 entries — 400× all map entries combined (~3.3 GB of Vec slots; worst single module 22.6M entries at ~1,338 types) — the merge_inductive_fields concat-on-collision compounding multiplicatively along the import DAG. The receipt re-ordered M1: M1b first.

3. M1b — the first cut (src/v1/04_env.dag + 04_infer.dag authority edits + regenerated seed): merge_inductive_fields skip-if-equal on identical lists + insert-not-concat on absent keys; parents fold init from the first parent's map instead of empty_map() (both build_type_env paths). Receipts, controlled pre/post on identical tree + binary shape:

  • whole-tree strict resolve peak RSS 5.27 GB → 2.05 GB (−61%)
  • inductive list mass 409M → 95M (−77%)
  • corpus_fingerprint byte-identical pre vs post (d34a91a4d8fe8845); emit_graph_fingerprint identical — semantically invisible to the whole-corpus diagnostics+emit oracle
  • v1-compiler lib battery 212/0 (incl. module-grain + import-closure equivalence modules); claim_executor memo oracles 3/3; regen_stage0 --verify → regen_divergence_count=0

4. M1b-2 — set-semantics merge (src/v1/04_env.dag + regenerated seed): the residual 95M was genuinely-differing-list concats; the merge now appends only facts absent by identity (variant|field|shape|element key, first occurrence wins — every consumer is filter/first per (variant, field) or any-match, so the winner is unchanged). Every list is duplicate-free by induction under the new merge, so the multiplicative class is unwritable, not just reduced (§5 construction). Receipts:

  • inductive list mass 409M → 82,037 (−99.98%); worst module 22.6M → 334 entries
  • whole-tree strict resolve peak RSS 5.27 GB → 1.48 GB (−72% total)
  • corpus_fingerprint byte-identical again (d34a91a4d8fe8845); emit_graph_fingerprint identical
  • lib battery 212/0; regen_stage0 --verify → regen_divergence_count=0

5. M1 dial receipt + orphan fix (ff72e2af49): whole-corpus falsifier cold run on this tree — EXIT=0 green, 1,757/1,757 witnesses, ~8 m wall, width 9, forced_serial=0, hard_backoffs=0, peak 8.83 GB VmHWM (vs pre-M1b: width 1, 474 hard backoffs, step-cap TIME death). Local 33.6 GB budget vs CI 16 GB noted in the doc; CI-slot confirmation declared outstanding. The run flagged this PR's own doc as a doc-graph orphan — fixed with the DESIGN.md open-threads link (all 3 doc-graph witnesses green). Two further pre-existing corpus reds the revived sweep caught are fixed in #6530.

Still outstanding (declared): the CI-slot (16 GB) dial confirmation post-merge. M1a (union base-choice + the put_inductive_field_cross guard from review) follows as its own cut.

Test plan

  • Controlled equivalence pair: pre-fix seed rebuilt + oracle run on the same tree/binary shape → fingerprints identical (methodology note: an earlier cross-binary baseline 82e9c68b… was superseded — 1,102 vs 1,101 module states); repeated for M1b-2.
  • cargo test --release -p v1-compiler --lib → 212 passed / 0 failed (808s) — run on both M1b and M1b-2 trees.
  • cargo test --release -p v1-compiler --bin claim_executor memo_ → 3/3.
  • regen_stage0 --verify → committed stage0 matches fresh self-compile, divergence 0 — on both trees.
  • M0 probe runs recorded in the doc §1 (pre, post-M1b, post-M1b-2).

🤖 Generated with Claude Code

briansrls and others added 3 commits July 13, 2026 05:56
…us-OOM lane (measurement-first, construction fixes, cache-grain retention strip)

Operator-requested alignment doc before any cut lands. Grounded in today's
receipts: 11.1 MB corpus -> 5.28 GB single strict resolve (typecheck envs =
87%), floor censored-pinned at the 15 GiB memory.high clamp, per-module
retention growing with closure size (superlinear total). Locates the three
construction sites (union base-choice, merge_inductive_fields fold-from-empty,
fresh cycle sets), clears func_env, and stages M0 denominate -> M1 construction
fixes -> M2 roster-aware env strip (the tripped #5892 flip-trigger's action,
corrected to the grain that frees bytes) -> M3 reference to S2a Inc-B.
Non-goals pinned: no envelope raises, no absorbing fallbacks, no v1 investment
beyond the bridge; terminal dissolution = Wave 3+ native-artifact cutover.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…or peak (review corrections)

The routed review (sharp-bee-290) caught the doc grading the wrong axis: the
adaptive governor packs width to the memory.high line BY CONSTRUCTION
(ci_floor_measurement.dag's own text), so floor_peak_post ~15 GiB is a design
constant under queue pressure — a successful retention cut raises width and
drops wall-clock while the peak stays at the line. Amended: (1) §0 states the
failure axis precisely (retention -> forced_serial -> step-cap time death);
(2) M1/M2/exit done-bars now completion-within-step-budget at width > 1, with
the isolated probe peak as the retention measure; (3) M0 widened with the
dial-side baseline (width/wall/outcome paired with retention) so the mechanism
is tested, not assumed; (4) M2 go/no-go reworded off the peak; (5) eval-memo
(#6441/#6469) scope boundary stated: frame-exit drains it per witness
(claim_batch.rs:458/638, claim_executor.rs:623/691) — its OOM class is the
single giant witness, owned by the long/ lane.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot changed the title v1 run-stability throughline: decision tree + milestones for the corpus-OOM lane v1 run-stability throughline (corpus-OOM lane): roadmap + M0 ancestry-retention instrument Jul 13, 2026
briansrls and others added 6 commits July 13, 2026 06:16
…tries) — M1b is the first cut

--ancestry-report on today's tree (1,101 modules): te.inductive_fields list
mass 409,240,584 Rc slots (~3.3 GB in Vec slots alone ≈ the whole typecheck
bloat); worst single module 22.6M entries at ~1,338 types (~17k duplicates per
type) — merge_inductive_fields concat-on-collision compounding multiplicatively
along the import DAG. All map-spine dup_factors 1.00 (zero cross-module
sharing, as diagnosed) but map entries total only ~1.07M — not the bytes.
M1 order re-derived from the receipt: M1b first, M1a second, M1c demoted
(cycle sets 24k entries, negligible). Pre-fix oracle baseline pinned:
corpus_fingerprint=82e9c68b96617067 emit_graph_fingerprint=cfdc338c2795a035.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… fingerprint-identical, battery green)

Completes the M1b cut whose .dag authority edits the session checkpoint already
pushed (04_env.dag merge_inductive_fields skip-if-equal + insert-not-concat;
04_infer.dag parents-fold init from first parent, both build_type_env paths):
the regenerated seed .rs land here so regen --verify holds on the committed
pair (verified: regen_divergence_count=0).

Receipts (all by execution, controlled pre/post on identical tree+binary
shape, recorded in the throughline doc §1):
- whole-tree strict resolve peak RSS 5,274,587,136 -> 2,045,423,616 B (-61%)
- te.inductive_fields list mass 409,240,584 -> 95,050,553 (-77%); worst module
  22.6M -> 4.1M
- corpus_fingerprint d34a91a4d8fe8845 pre == post (byte-identical); emit_graph
  fingerprint identical — the dedupe is invisible to the whole-corpus
  diagnostics+emit oracle
- v1-compiler lib battery 212/0 (incl. module-grain + import-closure
  equivalence modules); claim_executor memo oracles 3/3
Doc updated: status = executing (M0 DONE, M1b LANDED, M1a next); M0's
'measurement only' framing scoped to the instrument; M1 sign-off provenance
recorded; the throughput half of the M1 done-bar (whole-corpus floor at
width>1 within step budget) explicitly declared outstanding, not asserted.

Addresses cursor REQUEST_CHANGES (review 37480): the PR now carries the M1
scope honestly (title/body updated), the post-cut receipts are on the carrier,
and the sign-off gate is documented as discharged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot changed the title v1 run-stability throughline (corpus-OOM lane): roadmap + M0 ancestry-retention instrument v1 run-stability throughline: roadmap + M0 instrument/receipt + M1b first cut (resolve peak 5.27→2.05 GB, fingerprint-identical) Jul 13, 2026
@gunbai-bot

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

Re: cursor REQUEST_CHANGES (review 37480) — both findings were valid as of that HEAD; resolved by taking the review's second option (land the receipts + fix the framing, since the sign-off gate had in fact been discharged out-of-band):

  1. Scope/framing — the M1b behavioral edits reached the branch via session auto-checkpoints while the doc still framed the PR as M0-only. Fixed: PR title/body now declare the M1b cut; the doc's status header records the arc (proposed → review-amended → operator sign-off "start executing on this now", 2026-07-13 → M0 DONE / M1b LANDED); the M0 row's "measurement only" is scoped to the instrument itself (flag-gated, default flow unchanged), with the behavioral cut receipted separately as M1b.

  2. Spec-without-execution — the §5 receipts now live on the carrier (doc §1 "M1b receipt") and in the PR body: controlled pre/post oracle pair on identical tree+binary shape (corpus_fingerprint byte-identical, emit_graph_fingerprint identical), probe peak 5.27→2.05 GB (−61%), inductive list mass −77%, lib battery 212/0 incl. the equivalence modules, memo oracles 3/3, regen --verify divergence 0. The one receipt that cannot yet exist — the whole-corpus floor dial (width > 1 within step budget) — is explicitly declared outstanding in the doc rather than asserted; it lands with the first whole-corpus floor run on this tree, and M1 stays "retention-receipted, throughput-pending" until then.

— sent from sleek-deer-172

@gunbai-bot gunbai-bot Bot changed the title v1 run-stability throughline: roadmap + M0 instrument/receipt + M1b first cut (resolve peak 5.27→2.05 GB, fingerprint-identical) v1 run-stability throughline: roadmap + M0 receipt + M1b/M1b-2 (resolve peak 5.27→1.48 GB, fingerprint-identical) Jul 13, 2026
@gunbai-bot

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

M1b-2 (set-semantics merge) landed on this branch at 005aca2 and is now fully receipted:

  • inductive list mass 409,240,584 → 82,037 (−99.98%); worst module 22.6M → 334 entries
  • whole-tree strict resolve peak RSS 5.27 GB → 1.48 GB (−72% total vs pre-M1b)
  • corpus_fingerprint=d34a91a4d8fe8845 / emit_graph_fingerprint=cfdc338c2795a035 byte-identical to the controlled pre-fix baseline — semantically invisible to the whole-corpus diagnostics+emit oracle
  • lib battery 212 passed / 0 failed; regen_stage0 --verify → regen_divergence_count=0

Consumer analysis in the doc receipt: every inductive_fields_for reader is filter/first per (variant, field) or any-match — dedupe keeps the first occurrence, so every consumer sees the same winner. Under the new merge every list is duplicate-free by induction, so the multiplicative class is unwritable by construction, not just reduced.

PR title/body updated to cover the full scope. The whole-corpus falsifier cold-run (M1 throughput half) is next and stays declared-outstanding until its receipt lands.

— sent from sleek-deer-172

@gunbai-bot

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

Re the claude review's minor observation on put_inductive_field_cross (src/v1/04_env.dag:351): confirmed valid — it is the last hand-concat site of the class, and the doc receipt's "duplicate-free by induction" currently rests on an observed base case (locals duplicate-free in the current corpus, corroborated by the fingerprint receipt + the 82,037 total mass) rather than a constructed one.

Taking it as a committed follow-up in the M1a cut (same file, same battery) rather than a new push here, per the non-blocking verdict and to avoid invalidating the two on-HEAD approvals while CI runs: M1a will guard put_inductive_field_cross with the same variant|field|shape|element identity filter, making the base case constructed and the invariant unwritable end-to-end, and will tighten the doc's induction claim wording accordingly.

— sent from sleek-deer-172

briansrls and others added 2 commits July 13, 2026 08:10
…-graph orphan)

Whole-corpus falsifier cold run on the M1b-2 tree: EXIT=0 green, all 1,757
witnesses / 0 skipped, ~8m wall, max_width_reached=9, forced_serial=0,
hard_backoffs=0, peak 8.83 GB VmHWM (local 33.6 GB budget; fits CI's 16 GB
envelope with headroom — CI-slot confirmation declared outstanding).
Pre-M1b baseline on the same artifact: forced_serial=1, 474 hard_backoffs,
step-cap TIME death.

The DESIGN.md open-threads row links the throughline doc, which the restored
cold sweep itself flagged as a doc-graph orphan (doc_graph_has_no_orphan_docs
red on this tree; green with the link, dangling-links witness green). Also
records the three latent corpus reds the revived sweep caught (two
pre-existing, fixed in #6530; this orphan the third).

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

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

New commit ff72e2af49 (+ checkpoint 9828b01acf): the declared-outstanding M1 dial receipt landed, plus a required fix the receipt run itself surfaced.

Dial receipt (whole-corpus falsifier cold run, gunbc_falsifier_batches, M1b-2 binaries): EXIT=0 green, all 1,757 witnesses / 0 skipped, ~8 m wall, max_width_reached=9, forced_serial=0, hard_backoffs=0, peak 8.83 GB VmHWM. Pre-M1b baseline on the same artifact: forced_serial=1, 474 hard backoffs, step-cap TIME death. Honesty note in the doc: local cgroup budget is 33.6 GB vs CI's 16 GB slot (the observed peak fits CI's envelope with headroom); the CI-slot confirmation stays declared, landing with the first post-merge whole-corpus CI run.

The orphan fix (why DESIGN.md is now touched): the restored cold sweep flagged this PR's own throughline doc as a doc-graph orphan (doc_graph_has_no_orphan_docs red — the doc had no in-tree reference). Fixed by the DESIGN.md open-threads row linking it, following the same pattern as every other plans doc; all three doc-graph witnesses green by execution on this tree. Without this commit the PR would have landed a whole-corpus red — exactly the class this lane exists to end.

Context: the same revived sweep caught two further pre-existing corpus reds (from #6520 and #6506, proven on pure main with the merge-base binary) — fixed separately in #6530.

— sent from sleek-deer-172

@gunbai-bot gunbai-bot Bot changed the title v1 run-stability throughline: roadmap + M0 receipt + M1b/M1b-2 (resolve peak 5.27→1.48 GB, fingerprint-identical) v1 run-stability throughline: roadmap + M0 receipt + M1b/M1b-2 + M1 dial receipt (resolve peak 5.27→1.48 GB; whole-corpus run 120m-killed → 8m green at width 9) Jul 13, 2026
@gunbai-bot

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

CI red root-caused and fixed at bb15c914d9: generated_artifact_drift_gate_passes — DESIGN.md is itself a generated artifact (DesignArtifact in gunbc.generated_artifact, emitted from dag/gunbc/design_document.dag). The orphan-fix commit hand-edited DESIGN.md without the authority row, so committed ≠ generated and the gate refused — the §7 recursion working exactly as designed (the doc is modeled; the wall caught the hand-edit within one CI cycle).

Fix: the open-threads row added to open_threads_blocks() in the authority; main_wet regeneration confirms the committed DESIGN.md is byte-identical to the generated output (the hand-edit happened to match, so only the .dag authority needed the row). run_generated_artifact_drift_gate_body → PASS locally by execution; doc-graph witnesses remain green.

— sent from sleek-deer-172

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