⌂ Home ☷ Board

MC-4223 Live UA/Browser Sign-Off

Run time: 2026-05-26 10:12 SAST Target: http://100.118.207.3:3001/ Method: live Mission Control in Chromium via Playwright, desktop 1440x1000 and mobile 390x844 with touch events. This was not a DOM/unit-test pass.

Gate prompt used exactly:

Run a real UA/browser sign-off, not a DOM/test sign-off. Use live Mission Control, desktop and mobile, click through every visible link/button in scope, complete the main user flow, verify scroll/touch behavior, check console/network errors, attach screenshots, and explicitly list what was not tested. Do not close the ticket until those pass.

Verdict

FAIL.

The live UI is broadly usable, but the regression gate is not clean: Home chat navigation and New Chat creation throw a reproducible JavaScript page error. Fix ticket created and routed: MC-4232. MC-4119 remains open/waiting.

Screenshots

Desktop evidence: - Home: home-desktop.png - Board: board-desktop.png - Ticket detail: ticket-desktop.png - Tasks: tasks-desktop.png - Workbench: workbench-desktop.png - Settings after safe theme toggle: settings-desktop-after-theme-toggle.png - New Chat opened: home-desktop-new-chat-opened.png - New Chat created: home-desktop-new-chat-created.png - Workbench console panel: workbench-desktop-console-click.png

Mobile evidence: - Home: home-mobile.png - Home menu: home-mobile-menu-open.png - Board: board-mobile.png - Ticket top: ticket-mobile-top.png - Ticket detail after touch scroll: ticket-mobile-scroll.png - Tasks chips: tasks-mobile.png - Tasks chips after touch horizontal scroll: tasks-mobile-chips.png - Workbench: workbench-mobile.png - Workbench console after closing switch overlay: workbench-mobile-console-after-close-overlay.png

Raw interaction log: interaction-results.json

Coverage Notes

Home/cockpit: - Desktop Home loaded; sidebar/controller/recent chat rail visible. - Controller row clicked and navigated to /?thread=1. - First recent chat clicked and navigated to /?thread=323. - Recent chat kebab opened without navigation failure. - New Chat modal opened, title entered, and chat created: /?thread=324&chat_created=1 with title MC-4223 UA sign-off smoke 100847. - Settings opened; safe appearance setting changed Light -> Auto and stayed usable. - Board, Tasks, Workbench, Settings, mobile hamburger, and bottom More were clicked.

Board: - Desktop and mobile ticket cards remain readable; long titles wrap rather than collapsing to useless ellipses. - Representative card opened a correct ticket URL: /ticket/4231. - Mobile bottom navigation to Board worked.

Ticket detail: - Desktop and mobile MC-4223 detail loaded with long description readable. - Mobile touch scroll worked: scrollY 0 -> 653. - Primary actions were visible/reachable; state-changing actions were not submitted. - Activity/comments area loaded. Comment textarea accepted typed text; it was not submitted from the browser because that form is human-authored. Durable Luci progress comments were posted via mc-coord instead.

Tasks: - Desktop Tasks loaded; status chips were visible and clickable. - Mobile Tasks showed explicit overflow cue on filter chips. - Mobile horizontal touch scroll worked on chip rail: scrollLeft 0 -> 338. - Mobile Failed and All filters were tapped successfully.

Runtime/workbench/chat surfaces: - Workbench opened for MC-4223 on desktop/mobile. - Chat/Raw, Min/Full, Switch, and Console controls were exercised. - Console button changes the panel in place rather than changing URL; no 404 observed.

Console / Network Notes

Blocking JS error: - Severity: Major. - Repro: open Home, click Controller row or first Recent Chats row; also repros after New Chat -> Create chat. - Actual: browser pageerror: Failed to execute 'insertBefore' on 'Node': Identifier 'MC4123_PROVIDERS' has already been declared - Stack source: /static/vendor/htmx.min.js while processing the htmx response. - Impact: violates the required clean console gate after a scoped route/interaction. Fix routed as MC-4232.

Non-blocking noise observed: - net::ERR_ABORTED for /api/v1/stream, /api/v1/stream?topics=..., /api/v1/tickets?limit=200, and /api/v1/tickets/4223/stream during route changes. These are browser-aborted long-poll/SSE/fetch requests while navigating, not server 4xx/5xx responses. - Headless Chromium emitted WebGL GPU stall due to ReadPixels warnings while screenshots were captured on Workbench; no app failure followed.

No obvious 404s or HTTP 5xx responses were observed in scoped routes.

Issues

  1. Major: Home chat htmx navigation re-injects scripts and throws duplicate MC4123_PROVIDERS declaration.
  2. Steps: open http://100.118.207.3:3001/; click Controller row or a Recent Chats row.
  3. Steps: open http://100.118.207.3:3001/; click New chat; enter a title; click Create chat.
  4. Expected: thread/chat navigation completes with no page errors.
  5. Actual: pageerror above is emitted on each path.
  6. Routed: MC-4232, assigned to Luci, status todo.

  7. Minor observation: mobile Workbench top toolbar has tight horizontal overflow; the left Board toolbar control can be clipped while bottom nav remains usable. Not the binary blocker, but should be polished after the console-error fix.

Not Tested