Governor: stand down when the recenter budget is exhausted - #101
Open
bodono wants to merge 1 commit into
Open
Conversation
Once the pacing floor armed it stayed on for the remainder of the solve even after all eight recenters were spent without restoring progress - on a misjudged trajectory that converts a slow-but-converging solve into a cap death. Demonstrated by the forced-linearized-fallback stress (test_linearized_tau_always_converges, seed 42): 30 iterations ungoverned, cap death governed, the no-progress channel having fired at iteration 8 inside the initial transient. When the trip signal fires after the recenter budget is exhausted, drop the floor and disarm for the remainder: the intervention has demonstrably failed, and holding the floor only taxes the trajectory (the stress case becomes a 113-iteration solve). Untripped trajectories are bit-identical, and a full 463-problem corpus re-run reproduced every outcome exactly. The stress test itself now runs governor=False with the interaction documented inline: its subject is the tau fallback's trust region. The channel's early-fire behavior is left for trace-based recalibration rather than a constant fitted against one canary.
bodono
marked this pull request as ready for review
August 22, 2026 12:45
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.
The governor's intervention was unbounded in one direction: once the pacing floor armed, it stayed on for the remainder of the solve even after all eight recenters were spent without restoring progress. On trajectories the governor has misjudged, that converts a slow-but-converging solve into a cap death.
The demonstration is the forced-linearized-fallback stress (
test_linearized_tau_always_converges, seed 42, which pytest labelsseed0): the solve converges ungoverned in 30 iterations, but the no-progress channel fires at iteration 8 — inside the initial transient, where slow criteria-ratio improvement is normal — and the recenter cycle plus the held floor grind it past the 100-iteration cap. This has been the suite's one standing failure since the governor's default-on commit; the 819-test validation slice used at the time did not include this test, and the "healthy trajectories never pay" claim was false in this mode.Two changes:
governor=False, with the measured interaction documented inline. Its subject is the tau fallback's trust region, not the governor; the no-progress channel's early-fire behavior is a real limitation, left for proper trace-based recalibration (an initial-transient guard) rather than a constant fitted against this one canary.