Review these two commits in mission-control repo:
- 48977e9 [t-3390] feat: reboot queue + simplified start.sh β kill auto-restart loops
- 927c4ab [t-3390] feat: RebootQueuePanel β surface pending reboot requests + manual trigger
Files to inspect:
- start.sh (113 lines, no watchdog, exit 78 on hard fail)
- lib/reboot-queue.ts (state machine + janitor)
- app/api/reboot-queue/* (3 routes)
- scripts/execute-reboot.sh (runs in transient systemd unit)
- components/RebootQueuePanel.tsx
- tests/reboot-queue.test.ts (17 tests, all passing)
Look for:
- Race conditions on the queue file (atomic writes use temp+rename β good)
- Error paths in execute-reboot.sh (cleanup on partial failure)
- Auth: should /api/reboot-queue/trigger require login? Currently anyone with HTTP access can trigger. Check middleware.ts.
- start.sh edge cases: what if .next is missing? what if port is held by another process?
- UI accessibility (button states, error toasts)
File findings as a Vera review note; no code changes required unless critical.