Skip to content

The 2026-09-23 floor sizing receipt: uncensored at the 26 GiB row, the microVM shape resolves, the fit stall retires - #12117

Merged
gunbai-bot[bot] merged 12 commits into
mainfrom
crisp-raven-893-receipt
Sep 23, 2026
Merged

gunbai-bot[bot] merged 12 commits into
mainfrom
crisp-raven-893-receipt

Conversation

@gunbai-bot

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

Copy link
Copy Markdown
Contributor

Deliverable 4 of the floor memory attribution lane (work item adhoc-80d33957-f14). This builds on #12078 (instrument) and #12088 (the one reduction). Until those land, the diff also shows their commits; the change here is the last commit.

The receipt

gunbc.floor_demand gunbc_floor_memory_stat_receipt_2026_09_23 is a dated successor to _2026_09_21, and it is now the input to gunbc_floor_held_set_standing.

Carrier and folds

  • FloorSeam gains one arm per seam the instrument now names (lane-roster through publication). receipt_peak_seam answers each; the match is exhaustive.
  • FloorMemoryStatBeat.swap: BeatSwap is SwapRead { bytes } or SwapUnread. Every earlier beat carries SwapUnread, never a fabricated zero.
  • receipt_peak_reading_standing reads the peak beat's leaf swap first. A zero reading means none of the leaf's pages were in swap at the peak, so a slot that COULD swap did not at that instant, and the peak is PeakIsUncensoredSampledMaximum. A non-zero reading censors as SwapHeldPagesAtPeak { beat, swapped }. SwapUnread falls through to the declared-policy rule, unchanged, now peak_standing_from_swap_policy. This is the consumption floor_receipt_uncarried_observation_frontier asks for, and that frontier's text is updated: swap leaves it; PSI, oom and process overlap are now printed every beat but not yet carried.

The fit, re-judged against current demand

With the new standing, gunbc_runner_microvm_shape resolves on production inputs, with the cell row (26 GiB) and the realization allowance (1 GiB) unchanged and nothing deleted or supplied.

  • The flip: the expecting-red probe the_production_shape_refuses_today_on_the_memory_remainder_with_all_three_figures flips (DESIGN §4b(4)) to the regression control the_production_shape_resolves_on_the_memory_remainder_since_the_2026_09_23_receipt. It cites the DEMAND RECEIPT as what moved and derives the sum through the same folds, with no transcribed figures.
  • The stall row: gunbc.guarantee_stall.runner_microvm_floor_fit_stall, whose next_rung_trigger is exactly this capability, is deleted along with its roster entry. Its executed evidence stays enrolled. the_production_shape_answers_according_to_the_floor_demand_standing (either-state) asserts the refusal triple the day a later receipt moves demand back over, and the supplied-input controls keep ShapeRefusedWorkMemoryExceedsCellRemainder executed.
  • Prose updated: the rung drop slot_row_pinned_below_demonstrated_demand_unrefused keeps its own trigger, and only its mention of the stall changes. docs/plans/microvm-and-floor-wind-down-state.md §2 gains a dated note and keeps the prior state as history.

Margin, stated as a bet (§4d): the demand is one warm run's SAMPLED maximum, a lower bound on true demand at 60 s cadence plus seam beats, and the sum fits by about a gibibyte. A later receipt can put it back over, and the either-state witness is what would say so.

New witnesses

  • a_leaf_swap_reading_at_the_peak_decides_before_the_declared_policy: one declared-swap receipt driven three ways (read zero → uncensored, read non-zero → SwapHeldPagesAtPeak, unread → policy cause).
  • the_2026_09_23_receipt_reads_an_uncensored_sampled_maximum_through_its_leaf_swap: real rows, asserting the ROUTE (peak beat swap read zero, and the policy alone would censor), not only the answer.
  • the_standing_receipt_attributes_its_peak_to_a_named_seam: re-pointed to the 09-23 standing (peak during publication), still asserting the 09-21 attribution.

Executed

claim_batch over dag/test/claim/floor/floor_demand_witness_test.dag (28) and dag/test/claim/runner/runner_microvm_witness_test.dag (48), on BuildBuddy with GUNBC_MEMORY_BUDGET_BYTES and EstimatedMemory=48GB: exit 0, which claim_batch returns only when no claim failed, so 76/76 passed. The required CI check runs no claims since #11742, so this is the execution.

Not done

The 28 GiB fresh-attempt-cgroup run. It waits on #12011's shakedown slot, and the slot lane has not answered. This receipt judges only the 26 GiB row.

🤖 Generated with Claude Code

Brian Searls and others added 12 commits September 22, 2026 21:01
…swap, PSI, local events and charged processes

The 2026-09-19 sizing receipt bounds the held set only to the minute and is
censored on swap, because the watchdog names the minute a phase was in and the
swap figure beside it was the host's. floor_seam now emits one [floor-cgroup]
beat at every phase boundary (seams added inside strict-preparation, at
publication, and in claim_executor at parse/declarations/floor-entry), and each
beat also prints the leaf's memory.swap.current, memory.events.local,
memory.pressure and cgroup.procs as pid:comm:VmRSS, all raw.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ap/PSI/events/procs line and seam beats on top

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…irement covers everything the reader prints (review 70239)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… seams inside the planning window

The first attributed run (floor job 106950715986) put most of the floor
process's growth in the planning window before resolve, with no overlapping
process of size. floor_heap_beat reads mallinfo2 at each seam so retained
state and allocator-held freed memory separate without the trim that would
change the heap; nominal-subject-seeds, arm-set-planning and lane-roster seams
split the window.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…seam, and seams inside the diff projections

Floor job 106963145694 put the peak's early growth in live heap, from the
lane-roster evaluation (which resolves through the process-lifetime shared
index/store) and the diff projections. The census says whether those stores
grow and whether any later seam reads them; the seams say which projection.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ops resolving the whole CI spec

v2.workflow.floor_diff_observe needs base, head and range form; it reached
them through gunbc.ci_spec gunbc_ci_spec, and closure is module-grain, so the
floor resolved and typechecked a 1,548-module closure (gate roster, deploy
stages and their imports) that the process resolve store held for the whole
run beside the floor's own prepared subject. DiffMode, DiffPolicy and the
policy value move to gunbc.ci_diff_policy; gunbc.ci_spec carries it by
reference; the observer and the four other importers read it there.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…compile-clean doc at the policy's new home (review 70278)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… seams placed before it

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e microVM shape resolves, the fit stall retires

A dated successor to gunbc_floor_memory_stat_receipt_2026_09_21 from required-floor
run 35815214135 (a base carrying #12081 and #12088, instrument #12078): 40 beats,
one at every phase seam, each with the leaf's own memory.swap.current. The beat
carrier gains the new seams and a BeatSwap field (SwapUnread on every earlier
beat), and receipt_peak_reading_standing reads the peak beat's leaf swap before the
declared policy, so this receipt's peak reads PeakIsUncensoredSampledMaximum.

With it as the standing, gunbc_runner_microvm_shape resolves on production inputs
at the unchanged cell row and reserve: the expecting-red probe flips to a
regression control citing the demand receipt as what moved, and
runner_microvm_floor_fit_stall, whose trigger that is, retires.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… leading annotation (DESIGN 4c: module-item grain)

emit-build refused 40 body-grain annotations inside
gunbc_floor_memory_stat_receipt_2026_09_23; the ordinal-to-token mapping now
lives in the declaration's own leading comment.

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 23, 2026
Merged via the queue into main with commit 3ba7f6c Sep 23, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the crisp-raven-893-receipt branch September 23, 2026 10:52
@briansrls
briansrls restored the crisp-raven-893-receipt branch September 23, 2026 11:49
gunbai-bot Bot pushed a commit that referenced this pull request Sep 23, 2026
…roducer; the frontier and its refusal arm are deleted

observe_app_control_plane returns observe_github_app_control_plane(lifecycle_controller_app,
lifecycle_controller_app_key, gunbai_ci_declared_installation_id,
gunbai_ci_registration_goal.required_permissions); an unreachable control plane is
carried inside GitHubAppControlPlaneState and refused at the mint's credential join.
app_control_plane_producer_frontier, AppControlPlaneObservation and
SlotControllerRefusal AppControlPlaneUnproduced are deleted; the producer's header
names this consumer.

The shape witness drops its fleet-row-refuses half: #12117 moved the demand so the
fleet row's shape resolves and retired the fit stall; the shakedown half stands.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.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.

0 participants