refactor(display): run() stage 2 - an Arbiter decides the scheduled-off blank, follower and WiFi notice, no behaviour change (#733)

run() stage 2: a pure Arbiter.decide() (src/display_arbiter.py) chooses scheduled-off, follower and WiFi notices; everything else takes the existing path. Golden traces byte-identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Chuck
2026-10-02 22:30:52 -04:00
committed by GitHub
co-authored by Claude Opus 5.5
parent 084697346b
commit a5ec645d25
8 changed files with 582 additions and 40 deletions
@@ -239,4 +239,4 @@ def test_pending_vegas_init_is_applied_by_the_helper_the_main_loop_calls():
def test_main_loop_applies_pending_vegas_init_before_the_follower_branch():
import inspect
src = inspect.getsource(DisplayController.run)
assert src.index("self._apply_pending_vegas_init()") < src.index("self.sync_manager.is_follower_active()")
assert src.index("self._apply_pending_vegas_init()") < src.index("self._run_follower_frame()")