Implement Mission Control Board v2 using mc-internal Kanban as the internal execution engine while keeping current MC board live until parity is proven. Preferred delivery work...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge11d ago
Ticket is done; runtime is closed.·profile default
Description
MC-4582
Implement Mission Control Board v2 using mc-internal Kanban as the internal execution engine while keeping current MC board live until parity is proven.
Preferred delivery workflow:
1. Hermes plans/specs the model and acceptance criteria.
2. Gemini/Kimi design the board UX/data model.
3. Claude builds behind a feature flag / parallel route.
4. Gemini QA reviews against spec and workflow.
5. Hermes browser-tests and UX-reviews in a real browser.
6. Codex validates code, regressions, and cutover safety.
Non-negotiables:
- Current MC board remains source-of-truth and fallback during build.
- New Board v2 must run shadow/parallel before any suspension of old board.
- No route removal, deploy, or old-board disable until explicit orchestrator cutover gate passes.
- Preserve audit comments, ticket actions, live updates, mobile usability, and Tailscale URLs.
- Expected check-in: 2026-06-02T05:32:51Z
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· Critical
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
telegram (human)
Mission Control
11d ago
11d 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.
[follow-up] 29 min past expected check-in (2026-06-02T05:32:51Z UTC).
Luci11d ago
Controller note: implementation is delegated to Hermes Kanban board mc-internal; this MC ticket is the human-facing source of truth. Old board must stay live until Board v2 passes shadow parity, browser UX, Gemini QA, and Codex validation.
Progress: Gemini produced the Board v2 design/model spec. I attached it to the Claude build card and re-closed later QA/browser/Codex gates so sequencing stays: design -> Claude build -> QA/browser -> Codex validation. Next action: dispatch Claude build card t_a94a906e.
Luci11d ago
Progress: I corrected the build lane. The first claudebuilder worker tried to fall back to direct edits after a false Claude auth failure, so I reclaimed it, cleaned the worktree, verified Claude Code auth, and started a real Claude Code print-mode build. Process: proc_63a0fa971578. Output: /tmp/mc-4582-claude-build.json. No commit/push/deploy/cutover; old board remains live.
Luci11d ago
Build milestone: Board v2 shadow implementation is ready for QA/browser review.
Evidence:
- Routes: /board-v2, /partials/board-v2-panel, /partials/board-v2-card/<ticket_id>
- Flag: MC_BOARD_V2_ENABLED=1; flag off keeps /board-v2 unavailable and old /board live.
- Worktree: /home/lucienne/workspace/worktrees/mc-board-v2-claude
- Tests: tests/test_board_v2.py = 41 passed; tests/test_mc_board_regressions.py + tests/test_board_inbox_count.py = 27 passed; py_compile + git diff --check pass.
- No commit/push/deploy/cutover. Old board remains live.
Next gates unblocked: Gemini QA and Hermes browser/UX. Codex validation remains blocked until QA/browser report back.
Luci11d ago
QA gate failed the first Board v2 build. Gemini found three blockers: default v2 route only showed the legacy focus/inbox slice, required controls/metadata were missing, and no safe status-transition interaction existed.
I created and dispatched a Claude fix pass on Kanban:
- t_2b7a6b9c — MC Board v2 fix QA blockers — running in /home/lucienne/workspace/worktrees/mc-board-v2-claude
Codex remains blocked; no commit/push/deploy/cutover. Old /board remains live.
Luci11d ago
Started direct Claude Code CLI fix pass for Board v2 QA blockers. Process proc_bcfc1464d5dd. It is fixing the rollup/controls/actions/live-update issues in the Board v2 worktree. No commit/push/deploy/cutover; old /board remains live.
Luci11d ago
Controller gate update for MC-4582 Board v2:
Implementation is committed and pushed on branch feature/mc-board-v2-kanban-model.
PR: https://github.com/conrelma/mission-control/pull/2
Commit: 3832e07 ([verified] Add shadow Board v2 Kanban model)
Gates passed:
- Local tests: python -m pytest tests/test_board_v2.py tests/test_mc_board_regressions.py tests/test_board_inbox_count.py -q => 98 passed.
- Gemini QA final rerun: APPROVED (Kanban t_cbcaf3db).
- Browser/UX final rerun: APPROVED (Kanban t_d2b2b44c); artifacts at /tmp/mc-4582-board-v2-browser-final-runs.
- Codex validation scoped to worktree: APPROVED (Kanban t_0add37a8).
Safety: old /board remains live; /board-v2 is a shadow route behind MC_BOARD_V2_ENABLED; no deploy/restart/cutover performed.
Controller decision
Luci11d ago
Controller cutover complete for MC-4582.
Integrated and applied:
- PR #2 merged into master and deployed to live Mission Control.
- Cutover commit 60aebee: /board now serves Board v2 when MC_BOARD_V2_ENABLED=1.
- /board-legacy preserves the old board as rollback.
- Systemd drop-in enabled: /etc/systemd/system/luci-dashboard.service.d/mc-board-v2.conf.
- luci-dashboard.service restarted and smoke-tested.
- New ops model applied operationally: MC remains the human-facing source of truth; mc-internal Kanban remains the internal agent workbench; ClaudeBuilder/Gemini/browser/Codex gates completed before cutover.
Live verification:
- python -m pytest tests/test_board_v2.py tests/test_mc_board_regressions.py tests/test_board_inbox_count.py -q => 99 passed.
- /api/health, /board, /board-v2, /board-legacy, /partials/board-v2-panel, /partials/board-panel => 200.
- Browser smoke on http://100.118.207.3:3001/board shows Board v2 with no console errors.
Rollback: set MC_BOARD_V2_ENABLED=0/remove mc-board-v2.conf and restart luci-dashboard.service, or use /board-legacy.