Skip to content

srv1 runner width subtracts the served-slice charge (14 -> 11); shakedown index derived - #12354

Closed
gunbai-bot[bot] wants to merge 7 commits into
mainfrom
session/snappy-seal-148
Closed

gunbai-bot[bot] wants to merge 7 commits into
mainfrom
session/snappy-seal-148

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Operator option A (2026-09-26): srv1's runner width subtracts the served-deployment slice charge.

What changed

  • gunbc.runner_slot_allocation envelope: subtracts gunbc.live_deploy.served_slice_charge host_served_deployment_claim (new envelope_after_control_plane), using the control plane's arms: NotPlaced is a grounded zero, and Unmeasured refuses the envelope. Before this, the width ignored a charge that the verdict (gunbc.ci_runner_placement host_standing_at_width) counts. That gave two answers to one pool.
  • Second fork, exposed once the first closed: the verdict charged every slot at the fleet row, including the shakedown slot, which the width charges its full cell + controller. The new gunbc_runner_pool_for_host_at_width is read by the placement verdict and by the conservation witness.
  • The shakedown slot index is derived (parent ruling from proud-deer-538): it is the last index under gunbc_runner_committed_width instead of the authored 13. The width change silently falsified the old note ("below its memory-admitted width"). The host is split into gunbc_microvm_shakedown_host, so the width does not depend on the index. New claim the_shakedown_index_is_the_top_of_srv1s_committed_width.

Evidence (executed, local claim_batch, private target dir, base f17c19a vs head)

  • srv1 committed width: 14 on base, 11 at head (probe claims via gunbc_runner_committed_width / host_memory_admitted_width).
  • committed_width_fits_on_every_host_with_an_established_charge: FAIL on base (discriminating RED), PASS at head.
  • one_more_slot_than_memory_admits_refuses_on_every_host (+1 control): PASS at head. It reddened after the first fix alone, which is how the shakedown under-charge surfaced.
  • srv1's placement standing: Refused (oversubscribed) on base, Derived at head.
  • Census: every test fn in the 42 witness files importing runner_slot_allocation / ci_runner_placement / runner_host_deploy / fleet_host_budget / runner_microvm_slot_controller / runner_lifecycle. 384 base vs 384 head identities: 0 PASS→FAIL, 9 FAIL→PASS. The 9 are the conservation witness plus 8 in host_converge_slice1_witness_test, which were red on main because srv1 had dropped out of the converge policy. Caveat: floor_cold_build_receipt_witness_test stopped the batch (wet witness), so the census covers the files around it, same population on both sides.
  • Pre-existing and not touched: saturation_refuses_rather_than_reporting_the_ceiling FAILs on base and head.

Enrolment

The conservation witness is in no CI lane. It should be enrolled: it's cheap (2,810 eval_steps), and it is the only check that sees width vs. verdict disagreement. But enrolling the file surfaces the pre-existing saturation_refuses… red, so enrolment needs that red resolved or declared first. Left to a follow-up.

srv1 observation (by proud-deer-538, 2026-09-26, not re-measured here)

502 GiB physical and 12 runners active at 26 GiB caps (free -g). Roadmap slice peak 51.1 GB vs 52.6 GB MemoryHigh (systemctl show -p MemoryHigh -p MemoryPeak <slice>).

Apply consequence: NOT RUN

Width 14→11 makes srv1-12 and srv1-14 required retirees (via the open runner-slot-26-25-gib transition, prior_width 50, required_retirees_for_host), and the shakedown cell renames srv1-13 → srv1-11 (fabric-cell-srv1-11, gunbc-microvm-slot@srv1-11). srv1-11 is live as a GitHub slot today. Per proud-deer-538, the plan's REMOVE/rename lines go to them before any srv1 apply.

🤖 Generated with Claude Code

gunbc-ci-auto-heal and others added 2 commits September 26, 2026 15:09
… 11; operator option A)

The runner memory envelope divided by the per-slot cap ignored the served
deployment's slice allowance (gunbc.live_deploy.served_slice_charge) while
host_allocation_verdict charged it, so srv1's committed width (14) did not
conserve and its placement plan refused as oversubscribed. The envelope now
subtracts host_served_deployment_claim with the control plane's arm
discipline, and the verdict's runner pool charges the shakedown slot what the
width charged it (gunbc_runner_pool_for_host_at_width).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…parent ruling)

The authored index 13 carried a note that it sat below srv1's memory-admitted
width; the served-charge subtraction took the width to 11 and silently
falsified it, stranding the shakedown cell in the open retiree range. The
index is now the last index under gunbc_runner_committed_width, with the host
split into its own row so the width does not depend on the index. New claim:
the_shakedown_index_is_the_top_of_srv1s_committed_width.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot and others added 5 commits September 26, 2026 17:06
Ledger-Repair-Judged: docs/design-rung-drops.md
Ledger-Rows-Repaired: docs/design-rung-drops.md microvm_shakedown_slot_row_above_fleet_row
Heal-Candidate-Run: 36252738476
# Conflicts:
#	provisioning/srv1/gunbc-ghrunner.sudoers
…eview 71598)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ce does not change

Turning data u into fn u() registered as SeedDeclarationInterfaceChangedConsumer
(SignatureChanged) and pulled every bare-name consumer of u into the floor plan,
where test.claim.emit_subject_clean_frontier_witness failed to resolve
PopulationUnreadable. A data row whose value calls microvm_slot_start_unit keeps
the declared type and still derives the unit from the shakedown slot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 26, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 27, 2026
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 27, 2026
@gunbai-bot
gunbai-bot Bot removed this pull request from the merge queue due to a manual request Sep 27, 2026
@gunbai-bot

gunbai-bot Bot commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Closing: superseded by #12339 (96e6331), which landed the same served-charge subtraction, charges the shakedown slot at real size, and sets srv1 width 11, keeping srv1-13 by identity under an operator ruling. #12357 is rebased to carry only the host_allocation_conservation gate enrolment that main still lacks. — sent from proud-deer-538

@gunbai-bot gunbai-bot Bot closed this Sep 27, 2026
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.

0 participants