Skip to content

[TEST-ONLY, do not merge] Arc 1 (#5342) corpus + #5375 memory-aware spawn_width — validate width-4 clears the floor OOM - #5378

Closed
briansrls wants to merge 20 commits into
mainfrom
test/arc1-on-5375
Closed

briansrls wants to merge 20 commits into
mainfrom
test/arc1-on-5375

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Throwaway validation branch requested by @warm-crane-135: combines Arc 1's corpus (#5342, eager-materialization that OOM'd the 7-wide floor on both hosts) with #5375's memory-aware spawn_width (floor 7→4). Purpose: confirm width-4 gives Arc 1 the memory headroom it needs BEFORE #5375 merges. Will be closed after the floor result is read — do not merge or review.

briansrls and others added 20 commits June 19, 2026 22:49
…minating witness

Floor ran serially because the corpus WorkDemand hardcoded shard_count=1, so
spawn_width = min(1, threads) = 1. Now the floor plan derives breadth from the
single-authority spec (one unit per gate) and the fleet supplies the thread cap:
spawn_width = min(breadth, hardware_threads). Verified by execution: 1 -> 7.

Witnesses: spawn_width tracks breadth (the relationship), and floor-not-serial
(discriminating — reverting to a constant shard_count goes RED).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
claude-opus-4-7 review on #5356: the +1 fold is just length(). Verified
length resolves on gunbc_ci_spec.gates across the v2->dsl bridge and still
yields 7; witness stays green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…) into Arc 1 branch to resolve serial-floor OOM
The added arc1_dag_self_emit_bit_identical_round_trip_holds duplicated
generate_translate_self_emit_candidate in the floor corpus and tipped
batch-2 over the memory cap even at spawn_width=7. Dag self-emit
regression stays covered by the existing candidate_generation_mvp1_dag_slice
witness; Arc 1 round-trip proof is the cheap content_hash gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
…roup budget, not CPU only

placement_spawn_width was memory-blind (min of shard_count and hardware_threads).
At width=7 the batch-2 corpus resolves OOM-killed (exit 137) deterministically as the
corpus grows (eager-boar-790, 3 runs). Wire the already-modeled memory terms
(PlacementSupplyRow.ram_bytes + ResourceEnvelope.memory) into the width:
spawn_width = min(shard_count, hardware_threads, memory_budget / per_unit_peak).

Verified by execution: floor spawn_width 7 -> 4 (4x14GiB=56GiB <= 0.50x125GiB budget,
safe under srv1's ~65GiB cgroup cap); gunbc_ci_floor_spawn_fits_memory_budget -> true;
ci_floor_plan_witnesses -> true (adds witness_floor_width_fits_memory_budget +
witness_floor_width_memory_bounded, discriminating vs the memory-blind regression).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… HEAD; main side == #5356 subset)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Test complete: Arc1+#5375 at spawn_width=4 STILL OOM'd (exit 137, srv2-15, 04:00). Finding reported to #5375 owner. Likely Arc 1's eager-materialization is the heavy per-unit delta (main passed at width-7 but Arc1 fails at width-4 — an inversion). Disambiguating against #5375's own floor. Throwaway, deleting.

@briansrls briansrls closed this Jun 20, 2026
@briansrls
briansrls deleted the test/arc1-on-5375 branch June 20, 2026 04:04
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