Skip to content

CI floor OOM: cap split (PR-A) + honest width fold (PR-B) - #5910

Merged
briansrls merged 5 commits into
mainfrom
session/jolly-carp-807
Jun 28, 2026
Merged

briansrls merged 5 commits into
mainfrom
session/jolly-carp-807

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements manager GO on PR-A + PR-B (supersedes closed #5905/#5908 band-aid and #5847 jemalloc seed).

PR-A — Cap split (§3 single authority)

  • gunbc_ci_runner_cgroup_memory_cap = 8 GiB — within-run OOM authority (actions-runner@ MemoryMax)
  • gunbc_ci_dashboard_session_container_cap = 31.27 GiB — inter-run dashboard session pool only
  • Retired fused gunbc_ci_host_container_memory_cap nickname
  • srv1_ci_run_container_hard_cap() + srv1_floor_memory_budget() → runner cgroup cap
  • gunbc_per_runner_memory_cap delegates to runner cgroup cap (no duplicate literal)
  • Witnesses: floor_budget==runner_cap, runner_cap<session_cap, hard_cap==runner_cap

PR-B — Honest width fold (retires confirmed_safe_width Scaffold)

Input Authority Receipt
budget gunbc_ci_runner_cgroup_memory_cap (8 GiB) live cgroup + PR-A
per_shard max(gunbc_ci_floor_per_shard_peak_samples) = 4556861440 (4.24 GiB) runs 6461042 / 28331500155 / 28332256178
reserved gunbc_ci_floor_executor_base_overhead = 1610612736 (~1.5 GiB) derived run 28331500155: 8589934592 - 2×3489660928
margin usable = cap × 17/20 − reserved explicit headroom, not ceiling-fill

spawn_width = min(cpu_bound, floor(usable / per_shard_max)) → width=1 at runner cap (witnessed).

Load-bearing scope: ci_floor_plan.dag workflow spec + ci_floor_measurement.dag fold inputs only. Does not touch run_walk / build_type_env scheduler core.

Prior execution receipt (width=1 band-aid probe, run 28332256178)

Baseline for PR-B expectation (derived width also yields 1):

spawn_width=1
[measurement] floor peak RSS: 4556861440 bytes (VmHWM)
[measurement] cgroup peak: 6733590528 bytes, memory.max=8589934592

Cost flag

Derived width=1 re-introduces serial-floor CI tentpole (~30–45 min when discovery eval runs). PR-C (per-node peak reduction) is the throughput-recovery lane — must stay funded; width=1 must not calcify.

Test plan

  • Witness: ci_budget_tree_holds — cap split invariants
  • Witness: ci_floor_measurement_per_shard_rss_witnesses — max per_shard, grounded reserved, derived width=1
  • Witness: ci_floor_honest_width_fold_witnesses — derived width matches spawn_width at runner cap
  • §5 execution receipt (this PR's CI run): paste spawn_width=N, [measurement] floor peak RSS, [measurement] cgroup peak — confirm cgroup peak ≤ 6 GiB with margin vs 8 GiB cap
  • CI green on 404cfd463b

Made with Cursor

@briansrls
briansrls force-pushed the session/jolly-carp-807 branch from bb62314 to 51ad25a Compare June 28, 2026 19:15
@briansrls

Copy link
Copy Markdown
Contributor

@cursor/composer-2.5 finding (stale budget_tree.dag plan text): addressed

Verified: dsl/gunbc/plans/budget_tree.dag lines 40/45 still described the retired fused gunbc_ci_host_container_memory_cap as the within-run OOM cap — contradicting PR-A runner cgroup (8 GiB) vs dashboard session (31.27 GiB) split in ci_budget_tree.dag.

Fixed in 51ad25a: plan bullets now distinguish within-run OOM cap (gunbc_ci_runner_cgroup_memory_cap, 8 GiB) from dashboard session cap (gunbc_ci_dashboard_session_container_cap, ~31.27 GiB) and note the retired nickname.

Merge with origin/main in bb0292f kept main single-authority gunbc_ci_runner_cgroup_memory_cap (dropped gunbc_per_runner_memory_cap delegation nickname).

— sent from jolly-carp-807

@briansrls

Copy link
Copy Markdown
Contributor

Re: gunbc_per_runner_memory_cap §3 nickname (claude-opus-4-7, non-blocking)

Verified valid on the reviewed SHA (gunbc_per_runner_memory_cap was a pure re-binding of gunbc_ci_runner_cgroup_memory_cap).

Already addressed in c722ebc574 (on current head bb0292fc56):

  • Deleted gunbc_per_runner_memory_cap from dsl/gunbc/fleet_host_budget.dag
  • Inlined consumers onto gunbc_ci_runner_cgroup_memory_cap:
    • declared_runner_count() in fleet_host_budget.dag
    • per_runner_memory_cap field in ci_runner_placement.dag
    • witness_spawn_width_budget_is_per_runner_cap / witness_hard_cap_is_runner_cgroup_cap in ci_budget_tree_witness_test.dag
    • runner_placement_witness_test.dag placement assertions

grep gunbc_per_runner_memory_cap is now zero corpus-wide; the within-run OOM authority is gunbc_ci_runner_cgroup_memory_cap only.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: dashboard relay of #5905 claude approval (closed PR)

Verified: that approval targets #5905 (confirmed_safe_width 2→1 band-aid), which was closed per manager GO — superseded by this PR (#5910, PR-A cap split + PR-B honest width fold).

No code change warranted. This PR retires confirmed_safe_width, derives spawn_width=1 from honest inputs, and splits cap authorities (gunbc_ci_runner_cgroup_memory_cap 8GiB vs gunbc_ci_dashboard_session_container_cap 31.27GiB).

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Response to claude-opus-4-7 review (32863 / 32872) — minor observations, no code change:

  1. 17/20 usable fraction — acknowledged as interim margin; documented in gunbc_ci_floor_width_fold_disposition (Terminal). Dissolves when resource-aware-scheduler Node B/C derives width from Runnable.cost.space (no hand margin).

  2. Width=1 co-shard sample (4556861440) in per_shard max list — intentional conservative direction: max over samples only tightens the fold (fail-closed). The sample is tagged in gunbc_ci_floor_per_shard_rss_source as run 28332256178 width=1 co-shard peak; including it prevents the fold from ever picking width=2 while peak variance remains.

#5905 feedback: that PR is closed/superseded by this one (band-aid confirmed_safe_width → honest derived fold per manager GO).

§5 execution receipt: pending CI on bb623148e1 (Nat/Int fix); will paste spawn_width + [measurement] floor peak RSS + cgroup peak into test plan when green.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: #5905 dashboard approval (claude/claude-opus-4-7, APPROVE)

Verified against current code: #5905 is closed and superseded by this PR (#5910). The approved intent (stop exit-137 by serializing floor width) is preserved, but the mechanism changed per manager GO:

The §5 receipt manager accepted (run 28332256178: VmHWM 4556861440 / cgroup 6733590528 vs memory.max 8589934592) is now grounding input 4556861440 in gunbc_ci_floor_per_shard_peak_samples, not a hand-tuned width constant.

CI status: expecting red on regen_verify_gate_passes (main-wide drift from #5893 hand-edited generated infer files) until jolly-cat lands fix — not OOM, not this PR's logic. Will paste this PR's floor measurement lines once CI completes.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: dashboard relay of #5905 claude approval (closed PR)

Verified: that approval targets #5905 (confirmed_safe_width 2→1 band-aid), which was closed per manager GO — superseded by #5910 (PR-A cap split + PR-B honest width fold).

No code change warranted for that finding. This PR retires confirmed_safe_width, derives spawn_width=1 from honest inputs, and splits cap authorities. Fresh claude+cursor APPROVE on current HEAD.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Dashboard feedback response (#5905 approval): That review targeted closed #5905 (the confirmed_safe_width band-aid). Superseded by this PR (#5910): PR-A cap split + PR-B honest derived width fold. The band-aid commit was dropped on rebase onto current main (57f3905189).

Rebase: Branch rebased onto main (includes #5899 green + #5906); force-pushed 51ad25a5cb. Awaiting CI §5 receipt at derived width=1.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: dashboard review artifact on closed #5905 (claude APPROVE)

That approval targeted the band-aid PR (confirmed_safe_width 2→1 assertion), which was closed per manager GO in favor of this PR's construction-correct path (PR-A cap split + PR-B honest derived width fold). The operational goal is the same (width=1 under 8GiB runner cap, no exit-137), but the mechanism here is different and strictly better:

  • spawn_width is derived from runner_cap × 17/20 − measured_executor_base / max_observed_per_shard, not asserted via confirmed_safe_width
  • Cap authority de-conflicted (gunbc_ci_runner_cgroup_memory_cap 8GiB vs gunbc_ci_dashboard_session_container_cap 31.27GiB)

§5 execution receipt from run 28332256178 (width=1 probe, pre-PR-B): VmHWM 4556861440 (4.24 GiB), cgroup peak 6733590528 (6.27 GiB) vs memory.max 8589934592 — comfortable margin, no exit-137. This PR's own CI receipt will be pasted when green (expected derived spawn_width=1).

Known false red: batch-4 regen_verify_gate_passes failure is inherited from #5893 seed issue (jolly-cat lane); not an OOM regression from this PR. Will rebase once main regen fix lands.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: dashboard relay of #5905 claude approval (closed PR)

Verified: that approval targets #5905 (confirmed_safe_width 2→1 band-aid), which was closed per manager GO — superseded by this PR (#5910, PR-A cap split + PR-B honest width fold).

No action on #5905 (closed). This PR:

  • Retires confirmed_safe_width entirely (not a magic integer)
  • Derives spawn_width=1 from runner_cap × 17/20 − measured_executor_base / max_observed_per_shard
  • Adds cap authority split (gunbc_ci_runner_cgroup_memory_cap 8GiB vs gunbc_ci_dashboard_session_container_cap 31.27GiB)

Same immediate width=1 outcome, construction-honest. Fresh dashboard approvals on HEAD bb623148 (claude + cursor, APPROVE). §5 execution receipt pending CI 28332652624.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

§5 execution receipt (run 28333126790, bb0292fc, spawn_width=1)

  • [measurement] floor peak RSS: 5533188096 bytes (VmHWM, ~5.15 GiB)
  • [measurement] cgroup peak: 7707398144 bytes vs memory.max=8589934592 (8 GiB) → ~882 MiB headroom, no exit-137

CI failed on generated_artifact_drift_gate_passes (stale docs/plans/budget-tree.md vs dsl/gunbc/plans/budget_tree.dag after 51ad25a). Fixed in cfb0698 — regenerated plan artifact to match PR-A cap-split text.

— sent from jolly-carp-807

@briansrls

Copy link
Copy Markdown
Contributor

§5 execution receipt (CI run 28333860768 on cfb0698, green):

spawn_width=1
[measurement] floor peak RSS: 5490982912 bytes (VmHWM) at spawn_width=1
[measurement] cgroup peak: 7661727744 bytes, memory.max=8589934592 (8 GiB runner cap)

Margin at runner cap: ~928 MiB cgroup headroom (8589934592 − 7661727744). Drift gate green after regenerating docs/plans/budget-tree.md (cfb0698).

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

§5 execution receipt (CI run 28333860768, HEAD cfb0698f, derived width=1)

claim_executor: spawn_width=1 from src/v2/workflow/ci_floor_plan.dag::gunbc_ci_floor_spawn_width
[measurement] floor peak RSS: 5490982912 bytes (VmHWM) at spawn_width=1  → 5.11 GiB
[measurement] cgroup peak: 7661727744 bytes, memory.max=8589934592  → 7.13 GiB (~882 MiB headroom under 8 GiB runner cap)

Batch-4 regen_verify_gate_passes PASS (no exit-137). Full floor green on rebased main.

Review follow-up (9e75c99): cursor REQUEST_CHANGES addressed — cap-split plan prose now distinguishes INTER-run worst_observed vs dashboard session cap (31.27 GiB) from within-run runner cgroup cap (8 GiB); retired stale PerShardRssPeakMeasurement scaffold.

— jolly-carp-807

briansrls and others added 2 commits June 28, 2026 20:08
PR-A: de-conflate gunbc_ci_host_container_memory_cap into
gunbc_ci_runner_cgroup_memory_cap (8GiB within-run OOM authority) and
gunbc_ci_dashboard_session_container_cap (31.27GiB session pool).
srv1_ci_run_container_hard_cap and srv1_floor_memory_budget bind runner cap.

PR-B: retire confirmed_safe_width Scaffold; derive spawn_width from
runner_cap * 17/20 - measured executor base (1610612736, run 28331500155)
/ max-observed per_shard (4556861440 across 3 samples). Witnessed width=1
at runner cap with committed fit under usable budget.

Co-authored-by: Cursor <cursoragent@cursor.com>
Update stale references to gunbc_ci_host_container_memory_cap as the
floor hard cap; document runner cgroup cap (8GiB) vs dashboard session
cap (31.27GiB) separately, matching ci_budget_tree.dag.

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

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: claude-opus-4-7 review 32863 (APPROVE, no blocking findings)

Verified against current head 9e75c99b73:

  1. Width-fold math — usable = floor(8589934592 × 17/20) − 1610612736 = 5690831667 (~5.30 GiB binary / ~5.69 GiB decimal); floor(5690831667 / 4556861440) = 1; min(128, 1) = 1. Matches witness_derived_width_at_runner_cap_is_one and witness_floor_derived_width_at_runner_cap.

  2. Headroom — 4556861440 < 8589934592; witness_floor_derived_width_leaves_headroom_at_cap holds.

  3. Single-authority cap split — 8 GiB lives only in gunbc_ci_runner_cgroup_memory_cap; srv1_floor_memory_budget() / srv1_ci_run_container_hard_cap() delegate to it; witness_floor_budget_equals_runner_cgroup_cap gates equality. Post-merge (bb0292fc56) the interim gunbc_per_runner_memory_cap nickname was dissolved entirely — strictly cleaner than the re-export noted on the reviewed SHA.

  4. Per-shard max fold — gunbc_ci_floor_per_shard_peak_max() = max over samples; fail-closed conservative direction.

Minor observations (no code change):

  • 17/20 interim margin — documented in gunbc_ci_floor_width_fold_disposition (Terminal); dissolves with resource-aware-scheduler Node B/C.
  • Width=1 co-shard sample (4.25 GiB) in the max list — intentional conservative bias; max only tightens the fold.

§5 receipt (CI run 28333860768, green): spawn_width=1, floor VmHWM 5490982912, cgroup peak 7661727744 vs memory.max 8589934592 (~882 MiB headroom, no exit-137).

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Re: cursor/composer-2.5 review 32894 (REQUEST_CHANGES)

Both findings verified valid on cfb0698fbc and fixed in 9e75c99b73 (CI run 28334431269 in flight):

  1. Budget-tree prose contradiction — worst_observed ≤ hard_cap / floor(pool / hard_cap) still referenced the fused ~31 GiB cap after PR-A moved srv1_ci_run_container_hard_cap() to the 8 GiB runner cgroup. Updated dsl/gunbc/plans/budget_tree.dag + regenerated docs/plans/budget-tree.md: worst-observed bounds against dashboard_session_cap (31.27 GiB); hard-guarantee uses worst_observed (whole-run peak), explicitly distinct from the within-run 8 GiB runner cap.

  2. Stale PerShardRssPeakMeasurement — removed unused scaffold (3.25 GiB @ width=2); single authority is gunbc_ci_floor_per_shard_peak_samples / gunbc_ci_floor_per_shard_peak_max().

— sent from jolly-carp-807

briansrls and others added 3 commits June 28, 2026 20:08
PR-A: de-conflate gunbc_ci_host_container_memory_cap into
gunbc_ci_runner_cgroup_memory_cap (8GiB within-run OOM authority) and
gunbc_ci_dashboard_session_container_cap (31.27GiB session pool).
srv1_ci_run_container_hard_cap and srv1_floor_memory_budget bind runner cap.

PR-B: retire confirmed_safe_width Scaffold; derive spawn_width from
runner_cap * 17/20 - measured executor base (1610612736, run 28331500155)
/ max-observed per_shard (4556861440 across 3 samples). Witnessed width=1
at runner cap with committed fit under usable budget.

Co-authored-by: Cursor <cursoragent@cursor.com>
51ad25a updated dsl/gunbc/plans/budget_tree.dag but left docs/plans/budget-tree.md stale, reding generated_artifact_drift_gate on CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
Address dashboard review: worst_observed bounds against dashboard session
cap (31.27GiB), not the 8GiB runner cgroup; hard-guarantee uses
worst_observed not hard_cap. Remove unused PerShardRssPeakMeasurement
(3.25GiB@width2) now superseded by peak_samples max authority.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls force-pushed the session/jolly-carp-807 branch from 9e75c99 to 70cf865 Compare June 28, 2026 20:08
@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

§5 execution receipt (derived width=1, run 28333860768 @ cfb0698f, prior to rebase onto current main)

claim_executor: spawn_width=1 from src/v2/workflow/ci_floor_plan.dag::gunbc_ci_floor_spawn_width
[measurement] floor peak RSS: 5490982912 bytes (VmHWM) at spawn_width=1
[measurement] cgroup peak: 7661727744 bytes (memory.peak @ actions-runner@srv1-04.service) memory.max=8589934592 bytes context=floor spawn_width=1

Verdict: No exit-137. Cgroup peak 7.13 GiB vs 8 GiB cap → ~885 MiB headroom. Batch-4 regen_verify_gate_passes CLEAN on green main.

Rebase: Rebased onto current origin/main (6a95b3ee89, includes #5899+#5906); force-pushed 70cf865ede. Addressed cursor review (cap-split plan prose + retired stale PerShardRssPeakMeasurement scaffold). Awaiting fresh CI on new HEAD.

— jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

§5 execution receipt — FINAL @ rebased HEAD 70cf865ede (run 28334476422)

claim_executor: spawn_width=1 from src/v2/workflow/ci_floor_plan.dag::gunbc_ci_floor_spawn_width
[measurement] floor peak RSS: 5457575936 bytes (VmHWM) at spawn_width=1
[measurement] cgroup peak: 7640317952 bytes (memory.peak @ actions-runner@srv1-07.service) memory.max=8589934592 bytes context=floor spawn_width=1
✓ PASS [batch 4] regen_verify_gate_passes

Verdict: No exit-137. Cgroup peak 7.12 GiB vs 8 GiB runner cap → ~905 MiB headroom. Derived width=1 from honest fold against gunbc_ci_runner_cgroup_memory_cap.

Merge readiness: CI green · 2 distinct dashboard approvals (claude, cursor) · mergeable=CLEAN · ready for operator manual merge.

— jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Response to claude review #32880 (APPROVE @ bb0292fc): verified on current HEAD 70cf865ede.

No code change required — the approval's claims match the live diff:

  • PR-A cap split: gunbc_ci_runner_cgroup_memory_cap (8 GiB, within-run OOM) and gunbc_ci_dashboard_session_container_cap (31.27 GiB, inter-run session pool) are distinct carriers; fused gunbc_ci_host_container_memory_cap nickname retired (gunbc_ci_cap_split_disposition).
  • PR-B honest width fold: gunbc_ci_floor_memory_derived_width over gunbc_ci_floor_per_shard_peak_max() (max of measured samples), gunbc_ci_floor_executor_base_overhead (~1.61 GiB), and 17/20 usable fraction via measure_scale_fraction_floor; confirmed_safe_width scaffold gone.
  • Witnesses: witness_runner_cgroup_cap_lt_dashboard_session_cap, witness_derived_width_committed_fits_with_margin, witness_per_shard_max_is_at_least_every_sample, witness_derived_width_at_runner_cap_is_one — all in ci_floor_measurement_per_shard_test.dag / ci_budget_tree_witness_test.dag.

Subsequent commit 70cf865ede also addressed cursor REQUEST_CHANGES (cap-split plan prose: worst_observed bounds against dashboard_session_cap, not 8 GiB runner cap; retired stale PerShardRssPeakMeasurement scaffold). CI run 28334476422 green; §5 receipt pasted.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Response to cursor review #32881 (APPROVE @ bb0292fc): verified on current HEAD 70cf865ede.

No code change required. Substantive claims match the live diff:

  • PR-A: gunbc_ci_runner_cgroup_memory_cap (8 GiB) vs gunbc_ci_dashboard_session_container_cap (31.27 GiB); fused nickname retired; witnesses witness_runner_cgroup_cap_lt_dashboard_session_cap, witness_hard_cap_is_runner_cgroup_cap, etc. in ci_budget_tree_witness_test.dag.
  • PR-B: confirmed_safe_width scaffold replaced by honest fold over gunbc_ci_floor_per_shard_peak_max(), executor base overhead, and measure_scale_fraction_floor / measure_fit_count_floor / byte_size_saturating_sub.
  • Spawn-width consumers read runner cgroup cap via srv1_floor_memory_budget() → gunbc_ci_runner_cgroup_memory_cap.

One nuance on wording: gunbc_per_runner_memory_cap is not deleted from fleet_host_budget.dag — it delegates to gunbc_ci_runner_cgroup_memory_cap (data gunbc_per_runner_memory_cap: ByteSize = gunbc_ci_runner_cgroup_memory_cap), preserving a single authority with a witnessed equality check in witness_spawn_width_budget_is_per_runner_cap. That is de-conflation (alias → delegate), not a parallel cap fork.

Subsequent 70cf865ede addressed the only cursor REQUEST_CHANGES (plan prose + stale per-shard scaffold). CI green; merge-ready.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

CI status check (dashboard alert @ bb0292f): already resolved on current HEAD 70cf865ede.

Investigated: the failure on bb0292fc (run 28333126790) was generated_artifact_drift_gate_passes — docs/plans/budget-tree.md stale after budget_tree.dag edit. Fixed in cfb0698fbc (regen) + 70cf865ede (review follow-ups).

Current PR HEAD checks (run 28334476422):

  • ci — pass
  • rust_tests — pass
  • batch-4 regen_verify_gate_passes — pass

gh pr checks 5910 shows all green. No new commit required unless dashboard is pinned to an old SHA.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Response to claude review #32893 (APPROVE @ cfb0698f): verified on current HEAD 70cf865ede.

No code change required — no findings in the review; all claims match the live diff:

  • §3 de-conflation: gunbc_ci_runner_cgroup_memory_cap (8 GiB) vs gunbc_ci_dashboard_session_container_cap (31.27 GiB); fused gunbc_ci_host_container_memory_cap nickname retired across importers.
  • PR-B construction-first fold: gunbc_ci_floor_memory_derived_width = min(cpu_bound, floor((cap·17/20 − executor_base) / per_shard_max)) via measure_scale_fraction_floor, byte_size_saturating_sub, measure_fit_count_floor; confirmed_safe_width scaffold gone.
  • Per-shard authority: max(gunbc_ci_floor_per_shard_peak_samples) with three cited runs (not single-run mean).
  • Witnesses: witness_runner_cgroup_cap_lt_dashboard_session_cap, witness_floor_budget_equals_runner_cgroup_cap, witness_derived_width_committed_fits_with_margin — in ci_budget_tree_witness_test.dag / ci_floor_measurement_per_shard_test.dag.

Subsequent 70cf865ede landed cursor REQUEST_CHANGES (cap-split plan prose + retired stale PerShardRssPeakMeasurement). CI run 28334476422 green; §5 receipt pasted.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Response to cursor review #32894 (REQUEST_CHANGES @ cfb0698f): already addressed in 70cf865ede.

Both findings were valid on the reviewed SHA and fixed in commit 70cf865ede ("Fix cap-split plan prose + retire stale per-shard measurement scaffold"):

Finding 1 — contradictory hard_cap plan prose (budget_tree.dag:48, budget-tree.md:64):

  • Was: worst_observed ≤ hard_cap with 31.27 GiB kill-ceiling language after hard_cap was redefined as 8 GiB runner cgroup.
  • Now: reservation < worst_observed ≤ dashboard_session_cap — INTER-run whole-run peak bounded by gunbc_ci_dashboard_session_container_cap (31.27 GiB), explicitly distinct from the 8 GiB within-run runner cap; hard-guarantee uses floor(pool / worst_observed), not floor(pool / hard_cap).

Finding 2 — vestigial PerShardRssPeakMeasurement (ci_floor_measurement.dag:27-34):

  • Was: stale 3.25 GiB@width2 row diverging from gunbc_ci_floor_per_shard_peak_max() (4.25 GiB).
  • Now: type + gunbc_ci_floor_per_shard_rss_measurement data row deleted; single authority is gunbc_ci_floor_per_shard_peak_samples → gunbc_ci_floor_per_shard_peak_max().

Cursor re-reviewed current HEAD 70cf865ede as APPROVE (#32899). CI run 28334476422 green.

— sent from jolly-carp-807

@gunbai-bot

gunbai-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Response to cursor review #32899 (APPROVE @ 70cf865ede): verified — no action required.

Reviewed SHA is current HEAD. All claims match:

  • Cap split: gunbc_ci_runner_cgroup_memory_cap (8 GiB) vs gunbc_ci_dashboard_session_container_cap (31.27 GiB); fused nickname retired.
  • Honest width fold: executor base overhead + 17/20 usable fraction + gunbc_ci_floor_per_shard_peak_max(); confirmed_safe_width scaffold gone.
  • Witnesses: witness_runner_cgroup_cap_lt_dashboard_session_cap, witness_derived_width_committed_fits_with_margin, cap-split budget-tree checks — all present.
  • .dag-only diff; ByteSize/std.measure throughout; no DESIGN.md violation requiring pre-merge action.

This is the post-REQUEST_CHANGES approval on the same commit that retired PerShardRssPeakMeasurement and fixed cap-split plan prose. CI green; merge-ready.

— sent from jolly-carp-807

@briansrls
briansrls merged commit f7d28bc into main Jun 28, 2026
2 checks passed
@briansrls
briansrls deleted the session/jolly-carp-807 branch June 28, 2026 20:51
briansrls added a commit that referenced this pull request Jun 28, 2026
briansrls added a commit that referenced this pull request Jun 28, 2026
briansrls added a commit that referenced this pull request Jun 28, 2026
briansrls added a commit that referenced this pull request Jun 28, 2026
briansrls added a commit that referenced this pull request Jun 28, 2026
Instrument claim_batch with getrusage children-max RSS probes, add
measure_whole_tree_resolve bin, and record canonical 8 GiB floor receipts
(spawn_width=1, ~5.12 GiB peak) vs the 14.2→5.5→5.1 GiB arc.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jun 29, 2026
…e floor self-RSS + cgroup peak + whole-tree resolve RSS, chronicle vs memory PRs (#5919)

* Add execution-grounded interpreter memory chronicle (post-#5910).

Instrument claim_batch with getrusage children-max RSS probes, add
measure_whole_tree_resolve bin, and record canonical 8 GiB floor receipts
(spawn_width=1, ~5.12 GiB peak) vs the 14.2→5.5→5.1 GiB arc.

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

* Fix cargo fmt on claim_batch RSS probe helpers.

Unblocks rust_tests fmt gate on PR #5919.

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

* Address review: source excludes from FLOOR_DISCOVERY_EXCLUDES, document getrusage layout.

measure_whole_tree_resolve now extends cli_run::FLOOR_DISCOVERY_EXCLUDES
instead of copying the floor roster; claim_batch documents the Linux lp64
ru_maxrss offset assumption per opus-4-7 review.

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

* Link interpreter-memory-chronicle into ROADMAP doc graph.

Fixes doc_graph_has_no_orphan_docs floor failure on PR #5919 — the
chronicle was an unreachable docs/plans orphan without an inbound link.

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

* Deduplicate peak_rss probe and gate getrusage to lp64 only.

Extract cli_run::peak_rss_vhwm_bytes for measurement bins; refuse
children-max-rss on non-lp64 Linux rather than silently misreading.

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

* Note libc::rusage migration path on getrusage probe scaffold.

Documents opus-4-7 review: hand-decoded rusage dissolves with PerformanceReceipt.

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

---------

Co-authored-by: Brian Searls <briansrls@gunb.ai>
Co-authored-by: Cursor <cursoragent@cursor.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