End-to-end test of the chat-first Mission Control (MC-3754, all 4 phases). Format: DO → EXPECT. Test desktop 1280×720 and mobile 375×812. MC: http://localhost:3001. Spec: reports/mc-ux-journey.html + mc-chat-first-design.md.
Tester: screenshot per step, PASS/FAIL + one-line note, severity (Blocker/Major/Minor/Polish) on any FAIL.
Segment 1 — Landing (chat-first)
- DO: Open
/. EXPECT: you land in a chat — chat log + composer fill the viewport. NOT a board, NOT a KPI dashboard. Compact status bar at top only.
- DO: Look for the board. EXPECT: board is NOT the landing surface — it's a secondary nav tab, reachable but not in your face.
- DO (mobile 375×812): reload
/. EXPECT: chat fills the screen; composer pinned bottom; no horizontal scroll; chat usable within ~1s.
Segment 2 — Threads
- DO: Find the thread list — desktop left rail, mobile
[≡] header sheet. EXPECT: it's there; shows existing threads with titles + relative time.
- DO: Tap
+ New Session / + New thread. EXPECT: a fresh empty chat thread opens.
- DO: Switch between two threads. EXPECT: each thread keeps its own message history — no bleed.
Segment 3 — Talk to the orchestrator
- DO: In a thread, type a plain question (e.g. "what's on the board right now?") and send. EXPECT: a live "working" indicator, then a reply inline in the thread — no redirect to a workbench page.
- DO: Send a second message referring to the first. EXPECT: continuity — the orchestrator remembers the first message.
- DO: Check the reply formatting. EXPECT: readable — no raw markers, no leaked
mc-proposal/mc-action fenced blocks in the visible text.
Segment 4 — Intent decomposition + action cards
- DO: State a multi-part intent (e.g. "we should fix the mobile nav and add a dark-mode toggle"). EXPECT: the reply renders proposal/action cards — one per suggested ticket/action — with title, meta, and a button.
- DO: Check tap targets on cards (mobile). EXPECT: all buttons ≥44px.
- DO: Tap "Create ticket" on one card. EXPECT: a ticket is created (confirmed inline); appears on the board.
- DO: If an action card offers "Run now" / "Open in Workbench" — tap it. EXPECT: the right thing happens (dispatch / navigation), confirmed in-thread.
Segment 5 — Secondary views still work
- DO: From the chat shell, navigate to the board (nav tab). EXPECT: board loads, shows tickets, fully functional.
- DO: Open a ticket, then Runtime Workbench, then Tasks. EXPECT: all load and work — chat-first did not break them.
- DO: Return to the chat. EXPECT: your thread + history are intact.
Segment 6 — Mobile journey (375×812)
- DO: Walk steps 4–13 entirely on mobile. EXPECT: thread sheet, composer, cards, proposal buttons all usable; no overflow; no element <13px body text; all controls ≥44px.
Segment 7 — Regression
- DO: Use the composer's other modes if present (Quick Ticket / "Luci do it now"). EXPECT: still work as bypass shortcuts.
- DO: Hard-refresh a
/ticket/<id> URL. EXPECT: loads (no SW offline page — MC-3749 fix holds).
- DO: Check bottom nav. EXPECT: 4–5 tabs + More; all sections reachable; no overflow on mobile.
Known residual (don't re-report — already ticketed)
- MC-3785: bottom nav clips chat ~30px on desktop; 409-rejected send shows optimistic with no error toast.
- MC-3752 (insights nav), MC-3753 (dashboard 1px text) — in fix queue.
Anything ELSE Tessa finds → flag it. Goal: walk the chat-first journey as a real user and surface every break.