Repository navigation
test(cb-70mv): fleet-view-restart.sh presses g instead of waiting out the work pane's 30s refresh - #537
Conversation
… the work pane's 30s refresh The start on cb-b2 and the guard's hold each need a board read taken after the pass ended; the suite waited for app::WORK_REFRESH_INTERVAL to give it one. It now drives the view through tests/lib/pty-drive and presses g while it waits, so both steps take a few seconds instead of up to thirty. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKexJtfAU67v3sjW244j
|
Review (cold read, No findings. Checked: the plan is met (only the suite changed, |
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🟢 Approval recommended
The change is a contained refactor to use the shared pty-driving helper while adding bounded refresh/polling and enhanced stderr-based diagnostics, with no review evidence indicating unresolved problems.
No open issues 🎉
What changed in this PR
Speeds up and stabilizes the R15 system suite by actively triggering fleet-view refreshes instead of waiting on the work pane’s fixed 30s refresh interval.
Changes:
- Switch
tests/fleet-view-restart.shfrom a private pty helper to sharedtests/lib/pty-drive(keys FIFO + screen capture). - Add a
refreshingwrapper that throttlesg(refresh-all) presses while polling predicates within bounded waits. - Improve failure diagnostics by including the view’s stderr tail in the suite’s evidence output.
| File | Description |
|---|---|
| tests/fleet-view-restart.sh | Migrates the test to pty-drive, adds a throttled g-driven refresh/polling helper to avoid 30s timer waits, and expands failure evidence to include fleet-view stderr. |
Review effort: Balanced
…d-only view while CI was green Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKexJtfAU67v3sjW244j
Bead: cb-70mv — R15's suite waited on the 30-second work-pane refresh.
What changed
tests/fleet-view-restart.shonly:tests/lib/pty-drive(as fleet-keys.sh and fleet-role-triggers.sh do), which gives it a keys fifo; the suite's privatepty.pyis gone.refreshing <predicate>wrapper pressesg(refresh everything) at most every two seconds, then asks the predicate. Steps 2 (start on cb-b2 after the closing pass) and 3 (held_by_guardafter the give-back) wait through it, bounded at 60s, instead of waiting onapp::WORK_REFRESH_INTERVAL. Pressed repeatedly because aglanding on an in-flight work read is dropped, and a read begun before the pass ended answers the old board.Validation
time bash tests/fleet-view-restart.sh— 16.5s, 17.5s, 19.6s locally, all three passes; 28 consecutive green runs of the suite while chasing a flake (below).bash tests/gate: every suite and the Rust and UI legs green excepttests/fleet-keys.sh, which timed out ("the stub agent to start", a 20s bound) in both runs. It is untouched here, passed twice alone, and the same failure hit two other producers' worktrees (cb-15cw, cb-yf8h) on this machine in the same hour; CI decides.Deviation from the plan
main.rsresolves the lease endpoint once at startup (read_supervisor_endpoint(...).ok()), so one slowfleet-supervisorunder load leaves a view unable to supervise for life. Not reproduced in 28 later runs and not in this diff's scope; noted for the navigator.🤖 Generated with Claude Code
https://claude.ai/code/session_01WCDKexJtfAU67v3sjW244j