⌂ Home ☷ Board

MC Chat-First — User Journey Test Plan

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)

  1. 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.
  2. DO: Look for the board. EXPECT: board is NOT the landing surface — it's a secondary nav tab, reachable but not in your face.
  3. DO (mobile 375×812): reload /. EXPECT: chat fills the screen; composer pinned bottom; no horizontal scroll; chat usable within ~1s.

Segment 2 — Threads

  1. DO: Find the thread list — desktop left rail, mobile [≡] header sheet. EXPECT: it's there; shows existing threads with titles + relative time.
  2. DO: Tap + New Session / + New thread. EXPECT: a fresh empty chat thread opens.
  3. DO: Switch between two threads. EXPECT: each thread keeps its own message history — no bleed.

Segment 3 — Talk to the orchestrator

  1. 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.
  2. DO: Send a second message referring to the first. EXPECT: continuity — the orchestrator remembers the first message.
  3. 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

  1. 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.
  2. DO: Check tap targets on cards (mobile). EXPECT: all buttons ≥44px.
  3. DO: Tap "Create ticket" on one card. EXPECT: a ticket is created (confirmed inline); appears on the board.
  4. 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

  1. DO: From the chat shell, navigate to the board (nav tab). EXPECT: board loads, shows tickets, fully functional.
  2. DO: Open a ticket, then Runtime Workbench, then Tasks. EXPECT: all load and work — chat-first did not break them.
  3. DO: Return to the chat. EXPECT: your thread + history are intact.

Segment 6 — Mobile journey (375×812)

  1. 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

  1. DO: Use the composer's other modes if present (Quick Ticket / "Luci do it now"). EXPECT: still work as bypass shortcuts.
  2. DO: Hard-refresh a /ticket/<id> URL. EXPECT: loads (no SW offline page — MC-3749 fix holds).
  3. DO: Check bottom nav. EXPECT: 4–5 tabs + More; all sections reachable; no overflow on mobile.

Known residual (don't re-report — already ticketed)

Anything ELSE Tessa finds → flag it. Goal: walk the chat-first journey as a real user and surface every break.