MC: confirm/fix board canary headless browser (KEYSTONE for MC-4912 Home+IA)
Prerequisite for the board/Home tester-panel work (MC-4912). The board-change gate is MANDATORY (MC CLAUDE.md): python3 tests/canary/run_board_battery.py drives controls in a re...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge3d ago
Ticket is done; runtime is closed.·profile claude_opus_1m_high
Description
MC-4915
Prerequisite for the board/Home tester-panel work (MC-4912). The board-change gate is MANDATORY (MC CLAUDE.md): python3 tests/canary/run_board_battery.py drives controls in a real headless browser. During the 2026-06-10 audit, browser-harness CDP on Luci failed 3 distinct ways (no Chrome on 9222 -> bg-reaped Chrome -> stale WS 404). Verify the canary battery actually runs headless on Luci; if it shares the broken Chrome/CDP path, fix it. Home redesign + IA restructure CANNOT land until this is green (they change board/Home and need the execution gate). Runs/Activity work (MC ticket below) does NOT need this.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· High
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
3d ago
3d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.MC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
RESOLVED — no fix needed. Ran the board canary battery (python3 tests/canary/run_board_battery.py): 13/13 PASS, consoleErrors=0, exit 0. The gate runs on gstack's 'canary' CLI (~/.npm-global/bin/canary, @usecanary/cli — installed this session), NOT browser-harness. The browser-harness CDP failures during the audit were a SEPARATE tool (used for the deferred live-render screenshots); the mandatory board gate is fully operational. Keystone cleared: MC-4917 (Home) and MC-4918 (IA) are unblocked — both can gate on this working battery. Verified the canary's [CANARY-TEST] fixture (MC-4903) self-cancelled; no real ticket affected.
luci-board-manager3d ago
[visibility-only board-manager] Controller gate passed and closed MC-4915. Re-ran the mandatory board canary directly from the live MC repo: `python3 tests/canary/run_board_battery.py` returned 13 pass, 0 fail, consoleErrors=0. This confirms the board-change gate is operational on Luci via Canary; MC-4917/MC-4918 are no longer blocked on the keystone. No MC runtime/pickup/send/harvest endpoints were used.