Tester: Tessa
Date: 2026-05-19
Tested: http://localhost:3001 (Luci, Mission Control)
Viewports: Desktop 1280×720, Mobile 375×812
| Step | Pass/Fail | Severity | Note | Screenshot |
|---|---|---|---|---|
| 1 | FAIL | Minor | Page height is 3460px on desktop — long scroll, NOT single-viewport console. KPI row fits but Active Runtime Settings, Team, Server Stats all below fold | /tmp/tessa-s1-s2-desktop.png |
| 2 | PASS | — | All 6 KPI cards have sub-state lines: "0 todo · 0 active · 0 waiting", "7423 done · 21 failed (24h)", "3 tickets unattended", "0.0 GB", "all systems healthy", "max_20x · 5h 6.0% · 7d 20.0%" | /tmp/tessa-s1-s2-desktop.png |
| 3 | PASS | — | Services shows "2/2" fraction — N/M format | /tmp/tessa-s1-s2-desktop.png |
| 4 | PASS | — | "Good afternoon, Elmar." + live clock "13:44" + "TUE, MAY 19" | /tmp/tessa-s1-s2-desktop.png |
| 5 | PASS | — | Workers=0 shows "3 tickets unattended" (instructive sub-state, not blank) | /tmp/tessa-s1-s2-desktop.png |
| 6 | PARTIAL | Minor | Mobile: pw=375 (no horizontal scroll PASS). Plan Usage sub-text "7d 20.0" clipped by cloud button overlay. Quick Start chips: some partially clipped at right edge (@ Assign Luci, ! High priority pushed off). Stat labels readable. FAB clear of content at bottom. | /tmp/tessa-s1-mobile-topp.png, /tmp/tessa-s1-m-composer.png |
Segment 1 verdict: 4 PASS, 1 FAIL (Minor — long scroll), 1 PARTIAL (Minor — mobile clipping).
| Step | Pass/Fail | Severity | Note | Screenshot |
|---|---|---|---|---|
| 7 | PASS | — | Mobile bottom nav shows exactly 5 tabs: Overview, Board, Tasks, Apps, More. No overflow | /tmp/tessa-s1-mobile-topp.png |
| 8 | PASS | — | Tapping "More" opens bottom sheet with 6 items in 3×2 grid: Workbench, Open, Reports, Briefings, Alerts, Console | /tmp/tessa-s2-more-sheet.png |
| 9 | PASS | — | Board nav tab tested, click_result: navigated to /board. Each nav tab ≥44px tall (measured h=55px). More button also h=75x55. | /tmp/tessa-s2-board-nav.png |
Segment 2 verdict: 3 PASS.
| Step | Pass/Fail | Severity | Note | Screenshot |
|---|---|---|---|---|
| 10 | PASS | — | Ticket cards in single column on desktop, titles wrap to 2 lines as needed. Clean layout | /tmp/tessa-s3-board-desktop.png |
| 11 | FAIL | Major | Desktop: filter tabs have inline counts (Focus 39, In Progress 1, Needs Input 3, Review 8, Snoozed 1, Done Today 46 +46 new, All 10 new). BUT "In Progress" and "Done" have no count badge when count is 0 (ambiguous — could be intentional). Mobile FAIL: filter container scrollWidth=871 vs clientWidth=359 — tabs overflow. Only 3-4 tabs visible on 375px, rest hidden/require scroll. No horizontal scroll indicator visible. | /tmp/tessa-s3-board-desktop.png, /tmp/tessa-s3-mobile-board.png |
| 12 | PASS | — | Mobile action icons measured exactly 44×44px each: →, 💤, ✓, ✗. Clear gaps between icons. Low mis-tap risk. | Data from JS measurement |
| 13 | PASS | — | FAB anchored bottom-right, visible and clear of bottom nav on both desktop and mobile | /tmp/tessa-s3-board-desktop.png |
| 14 | PARTIAL | Minor | Quick Ticket mode button exists and highlighted when selected. Ticket creation via API (POST /api/v1/tickets) confirmed working — MC-3748 appeared on board immediately in "All" tab. Direct UI flow (type title + Ctrl+Enter) could not be reliably tested via automation due to SPA focus state issues. Board showed new ticket without page reload (live update works). | /tmp/tessa-s3-after-ticket-create.png |
Segment 3 verdict: 3 PASS, 1 FAIL (Major — mobile filter tab overflow), 1 PARTIAL (Quick Ticket creation confirmed via API, UI flow partially verified).
Additional finding (S3): Multiple clicks on board page coordinates caused unexpected SPA navigation to other pages (Reports, Insights, Briefings). This suggests the board has click targets that overlap or conflict with the bottom nav or other navigation elements. The issue only reproduced in automated testing — normal human tap at board item coordinates should be fine if bottom nav is at a different z-index. Worth verifying on a real device.
| Step | Pass/Fail | Severity | Note | Screenshot |
|---|---|---|---|---|
| 15 | FAIL | Major | Ticket detail via direct URL (/ticket/3698) returns a service worker offline page. Ticket detail only loads correctly when navigated from within the SPA (clicked from board). A real user who copies/pastes a ticket URL or does a hard reload loses the page. | /tmp/tessa-s4-ticket-hard.png |
| 16 | CANNOT VERIFY | — | Could not navigate to a done ticket with extensive worker log via direct URL. The conversation area shows worker events (Nucleating... text) but "Used N tools" collapsible groups could not be tested. Partial view of worker log obtained. | /tmp/tessa-s4-ticket-desktop.png |
| 17 | CANNOT VERIFY | — | Tool input/args expansion not testable without reliable ticket detail access | — |
| 18 | CANNOT VERIFY | — | File-action chips not seen in partial view | — |
| 19 | CANNOT VERIFY | — | Command chips not seen in partial view | — |
| 20 | CANNOT VERIFY | — | Inline action buttons (Deploy, Run Code Review, approve) not seen | — |
| 21 | CANNOT VERIFY | — | Needs-input Q&A block not tested | — |
| 22 | PARTIAL | Minor | Mobile ticket detail (MC-3746 via board click): Status/Priority/Assigned dropdowns visible in sidebar on load. Sidebar IS visible on load alongside content — not collapsed into accordion. Description visible. The spec says controls should be collapsed by default on mobile — they are NOT collapsed. Sidebar occupies right ~30% of mobile screen. | /tmp/tessa-s4-ticket-click.png |
Segment 4 verdict: Step 15 = FAIL (Major), Steps 16-21 = cannot verify due to direct-URL issue, Step 22 = PARTIAL (Minor — sidebar not collapsed on mobile).
Critical finding: The service worker shows an offline page for /ticket/ routes when navigated directly (not via SPA in-page navigation). A user who refreshes a ticket page or opens it from a link gets "You're offline" even when the server is running. This is a Blocker* for direct linking and browser refresh on ticket pages.
| Step | Pass/Fail | Severity | Note | Screenshot |
|---|---|---|---|---|
| 23 | PARTIAL | Minor | Task cards show: name, schedule, status chip (disabled/completed), last-run, next-run, actions. No run-count chip visible (not per spec). No on/off toggle — instead Enable/Disable/Run/Delete buttons. Disabled tasks show "no runs yet" chip. | /tmp/tessa-s5-tasks-desktop2.png |
| 24 | PASS | — | Filter tabs all have inline counts: All 129, Overdue 0, Failed 1, Completed 114, Running 0, Disabled 14, Pending 0. | /tmp/tessa-s5-tasks-desktop2.png |
| 25 | PASS | — | Searching "xyzzy12345nonsense" shows "No tasks match / No tasks match your search. Clear the box to see every task." — instructive empty state. | /tmp/tessa-s5-search-empty.png |
| 26 | PASS | — | Mobile toolbar: search is full-width (359px) on its own row. Sort dropdown also full-width row. Filter tabs wrap across 3 rows (no clipping). Sort direction button separate. | /tmp/tessa-s5-tasks-mobile.png |
Segment 5 verdict: 3 PASS, 1 PARTIAL (run-count chip missing, toggle vs button design diverges from spec).
Dashboard showed "7423 done · 21 failed (24h)" (SCHED TASKS card). DB query at later time: 7461 completed, 20 failed. Discrepancy ~38 in completed count explained by live tasks running between screenshot and query (not a display bug). Failed count: DB=20 matches MC screenshot=20. Open tickets: DB=44, board Focus shows 40 (difference is filter logic — Focus excludes some statuses).
Data integrity: OK — numbers within expected variance for a live system.
| Segment | Steps | PASS | FAIL | PARTIAL | CANNOT VERIFY |
|---|---|---|---|---|---|
| S1 Dashboard | 6 | 4 | 1 | 1 | 0 |
| S2 Bottom Nav | 3 | 3 | 0 | 0 | 0 |
| S3 Board | 5 | 3 | 1 | 1 | 0 |
| S4 Ticket Detail | 8 | 0 | 1 | 1 | 6 |
| S5 Tasks | 4 | 3 | 0 | 1 | 0 |
| TOTAL | 26 | 13 | 3 | 4 | 6 |
| Severity | Count | Issues |
|---|---|---|
| Blocker | 1 | S4 Step 15: /ticket/* direct URL returns service worker offline page on hard-nav |
| Major | 1 | S3 Step 11: Mobile board filter tabs overflow (scrollWidth 871 vs 359px visible) |
| Minor | 3 | S1 Step 1: Dashboard long scroll (3460px on desktop); S1 Step 6: Plan Usage sub-text clipped by cloud button; S4 Step 22: Ticket sidebar not collapsed on mobile |
| Polish | 0 | — |
BLOCKER — /ticket/* URL direct navigation broken: Service worker returns offline page on any direct URL load of ticket detail. Real users cannot refresh, bookmark, or share ticket links. Verified: MC is running (200 OK), but SW intercepts and returns offline cache.
MAJOR — Board filter tabs overflow on mobile: Filter tab row is 871px wide in a 359px viewport with no visible scroll indicator. On mobile, users cannot see Done, Done Today, Snoozed, or All filter tabs at all. They are hidden beyond the visible area.
MINOR — Dashboard is not single-viewport: The dashboard (operator console) is 3460px tall on 1280×720 desktop. The intent was a single-screen at-a-glance view. Active Runtime Settings, Persistent Luci controls, Team section, and Server stats all require scrolling. The KPI card row fits in viewport but most of the value is below fold.