Repository navigation
The wall-fill stall's trigger fired without the class climbing, so the trigger is what changes - #10767
Merged
gunbai-bot[bot] merged 2 commits intoSep 7, 2026
Conversation
…e trigger is what changes `gunbc.guarantee_stall.wall_deadline_shared_fill_attribution_stall` declared its next-rung trigger as an OBSERVATION conjoined with ONE MECHANISM CHANGE: the floor's ledger reports an INTERRUPTED-BEFORE-VERDICT row whose clock is Wall, at which point the wall deadline must read a fill-netted clock. Both halves happened today -- `carrier_ref_hand_authored_census_is_zero_refusals` was refused on the Wall clock at main 9b341e1 against a 29.7s `resolve_declaration_ref_over` fill it did not cause, and gunbc#10748 netted the clock one commit later -- and the invalid state is exactly as writable as it was. That is DESIGN.md section 4b(2)'s named defect: a trigger naming less than the capability it restores is satisfied while the capability stays dead. THE ROW IS NOT RETIRED AND THE RUNG DOES NOT MOVE. Retiring on a fired trigger while the ceiling is unreached is rung inflation, which section 4b(1) prices as worse than sitting low because an inflated class never ranks for climbing again. A netted clock makes the misattribution not happen; it does not make it unwritable. And rung 2 is not reached either: #10748's discriminating RED is a `v1-compiler` lib test, and `gunbc.rung_drop` `rust_unit_tests_off_the_merge_path` records that no CI step runs that command, so nothing on the acceptance path keeps the two arms netting tomorrow. #10748 is recorded as progress against the subject, at rung 1, with the population unchanged. THE NEW TRIGGER IS AT CAPABILITY GRAIN and says what it is not sufficient for, because that is the half the old one omitted: an enforced budget's baseline must be DERIVED from the carrier that measures the fill, so a raw `Instant` or a raw thread-CPU read is not a value an arm site can supply. Both arms netting correctly -- what #10748 delivered -- explicitly does not satisfy it. AND THE ROW'S OWN JUSTIFICATION DID NOT HOLD, which is recorded in the row rather than filed as a new class. It argued it existed "because a comment beside the code would go stale on the day the population changes while this row cannot"; it went stale on the same commit as the `budgeted_cpu_nanos` comment it was written to outlive (corrected in gunbc#10764), by the same mechanism -- nothing executing reads either one. Declaring the fact as data bought COUNTABILITY, not enforcement. Both halves have existing homes: the fired-but-dead trigger is the class filed in gunbc#10755, and countability-without-enforcement is `gunbc.recurring_failure_mode.a_written_row_is_not_a_firing_mechanism`. The receipt lands on that row with the ledger's next regeneration rather than here, so this diff carries one subject. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQyej6wA7GiSibWkkjMsro
…rigger-at-capability-grain
gunbai-bot
Bot
deleted the
fix/wall-fill-stall-trigger-at-capability-grain
branch
September 7, 2026 12:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
gunbc.guarantee_stall.wall_deadline_shared_fill_attribution_stalldeclared its next-rung triggeras an OBSERVATION conjoined with ONE MECHANISM CHANGE: the floor's ledger reports an
INTERRUPTED-BEFORE-VERDICT row whose clock is Wall, at which point the wall deadline must read a
fill-netted clock. Both halves happened today --
carrier_ref_hand_authored_census_is_zero_refusalswas refused on the Wall clock at main9b341e1 against a 29.7s
resolve_declaration_ref_overfill it did not cause, and gunbc#10748netted the clock one commit later -- and the invalid state is exactly as writable as it was. That
is DESIGN.md section 4b(2)'s named defect: a trigger naming less than the capability it restores
is satisfied while the capability stays dead.
THE ROW IS NOT RETIRED AND THE RUNG DOES NOT MOVE. Retiring on a fired trigger while the ceiling
is unreached is rung inflation, which section 4b(1) prices as worse than sitting low because an
inflated class never ranks for climbing again. A netted clock makes the misattribution not happen;
it does not make it unwritable. And rung 2 is not reached either: #10748's discriminating RED is a
v1-compilerlib test, andgunbc.rung_droprust_unit_tests_off_the_merge_pathrecords that noCI step runs that command, so nothing on the acceptance path keeps the two arms netting tomorrow.
#10748 is recorded as progress against the subject, at rung 1, with the population unchanged.
THE NEW TRIGGER IS AT CAPABILITY GRAIN and says what it is not sufficient for, because that is the
half the old one omitted: an enforced budget's baseline must be DERIVED from the carrier that
measures the fill, so a raw
Instantor a raw thread-CPU read is not a value an arm site cansupply. Both arms netting correctly -- what #10748 delivered -- explicitly does not satisfy it.
AND THE ROW'S OWN JUSTIFICATION DID NOT HOLD, which is recorded in the row rather than filed as a
new class. It argued it existed "because a comment beside the code would go stale on the day the
population changes while this row cannot"; it went stale on the same commit as the
budgeted_cpu_nanoscomment it was written to outlive (corrected in gunbc#10764), by the samemechanism -- nothing executing reads either one. Declaring the fact as data bought COUNTABILITY,
not enforcement. Both halves have existing homes: the fired-but-dead trigger is the class filed in
gunbc#10755, and countability-without-enforcement is
gunbc.recurring_failure_mode.a_written_row_is_not_a_firing_mechanism. The receipt lands on thatrow with the ledger's next regeneration rather than here, so this diff carries one subject.
🤖 Generated with Claude Code
https://claude.ai/code/session_01CQyej6wA7GiSibWkkjMsro