moving
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled

This commit is contained in:
Oleg Maslov
2026-09-02 10:10:29 +02:00
commit 0c3e2ead3b
3841 changed files with 970576 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
# UX Audit — Browser Walkthrough 2026-07-04
Method: real browser session (headless Chromium, 1440×900) against dev build
(sidecar :3333 + vite :8080), walked as a first-time user via `?forceWizard=true`.
Screenshots in session scratchpad `ux-01`..`ux-16`.
## The first-run interruption stack (the P0 story)
A new user's first 90 seconds today:
1. Onboarding ends with **"Let's go!"** — but the first task is **never sent**;
it sits prefilled in the composer (broken promise). *(F2)*
2. The instant the workspace loads, a **"Your 15-day trial has ended" modal**
covers everything. *(F1)*
3. Dismissing it immediately reveals a **4-step coach-mark carousel** over the
welcome panel. *(F5)*
4. Sending the message manually then fails: **"API key is invalid or expired"**
— even though onboarding's model step showed a green **"You have a working
model — you're ready to go."** *(F3)*
5. The error is dead-end small text: no Retry, no link to the settings screen
it names. *(F4)*
## Findings
| # | Sev | Finding | Evidence |
|---|-----|---------|----------|
| F1 | P0 | Trial-ended paywall modal re-fires on EVERY route navigation; "Continue with Free" dismissal is not persisted (fired 3× in 10 min: post-onboarding, `/`, `/memory`) | ux-07, ux-11, ux-12 |
| F2 | P0 | Onboarding final step "Let's go!" navigates to chat but does NOT send the chosen first task; text sits in composer | ux-08 |
| F3 | P0 | Model-gate step claims "You have a working model — you're ready to go" from key presence only; first real call 401s. Probe exists server-side (`llm-key-probe.ts`) but the claim isn't probe-backed | ux-03 vs ux-10 |
| F4 | P1 | Chat LLM error is inline small text, no Retry button, no link to "Settings > API Keys" it references | ux-10 |
| F5 | P1 | Coach-mark carousel fires immediately on first landing, stacking on top of the paywall dismissal; suppress on first-run landing / show later | ux-08 |
| F6 | P2 | Onboarding polish: (a) disabled "English (US)" pill looks clickable; (b) duplicate Back controls (header ← Back + footer Back); (c) all 8 "help with" chips preselected → zero signal; (d) template picker ignores stated role — no "Recommended" ranking (Strategy Consultant → no consulting-flavored guidance); (e) final step loses Back + step counter; (f) final-step suggestion chips not template/role-tailored (PRD/campaign chips inside Research Hub) | ux-01..06 |
| F7 | P2 | IA naming drift: sidebar "Agents & tasks" → page "Agent Center" (no tasks visible anywhere on it); sidebar "Library" → page/URL "Artifacts"; section label "EVERYTHING ELSE" is filler copy | ux-13, ux-14 |
| F8 | P2 | Sidebar active-state wrong on workspace Overview (highlights "Chat") | ux-15 |
| F9 | P3 | Welcome-back panel on a fresh workspace: "Here's where you left off … across 0 sessions"; should have a first-visit variant | ux-08 |
| F10 | P3 | ⌘K palette: ESC chip collides with close ✕ icon | ux-16 |
| F11 | P3 | Working-step accordion duplicates ("Worked across your memory, web & files" ×2 for one turn) | ux-10 |
| F12 | P3 | Agent Center: single row floats over a vast honeycomb void — needs a richer empty/sparse state (template suggestions) | ux-13 |
## What's already good (don't regress)
- Welcome hero: calm, single CTA, on-device trust line.
- Live greeting preview in who-are-you step.
- "Claude Code detected — 495 items — Import my history" one-click harvest.
- Chat working-state transparency (Auto Recall chip, timing).
- ⌘K palette structure (Jump to / Do).
- Trial modal's honest "You keep / You lose" framing (the content, not the timing).
## Wave plan
- Wave 1 (this session): F1, F2, F3/F4 (probe + actionable error), F5, F8, F9, F10.
- Wave 2: F6 (onboarding polish set), F7 (IA naming — product naming decision), F11, F12.