Repository navigation
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
Conversation
…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>
…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>
|
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):
— sent from sleek-deer-172 |
|
M1b-2 (set-semantics merge) landed on this branch at 005aca2 and is now fully receipted:
Consumer analysis in the doc receipt: every 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 |
|
Re the claude review's minor observation on 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 — sent from sleek-deer-172 |
…-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>
|
New commit Dial receipt (whole-corpus falsifier cold 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 ( 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 |
|
CI red root-caused and fixed at Fix: the open-threads row added to — sent from sleek-deer-172 |
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_fieldslist 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) — themerge_inductive_fieldsconcat-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.dagauthority edits + regenerated seed):merge_inductive_fieldsskip-if-equal on identical lists + insert-not-concat on absent keys; parents fold init from the first parent's map instead ofempty_map()(bothbuild_type_envpaths). Receipts, controlled pre/post on identical tree + binary shape:corpus_fingerprintbyte-identical pre vs post (d34a91a4d8fe8845);emit_graph_fingerprintidentical — semantically invisible to the whole-corpus diagnostics+emit oracleclaim_executormemo oracles 3/3;regen_stage0 --verify→regen_divergence_count=04. 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|elementkey, 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:corpus_fingerprintbyte-identical again (d34a91a4d8fe8845);emit_graph_fingerprintidenticalregen_stage0 --verify→regen_divergence_count=05. 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
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.🤖 Generated with Claude Code