Keystack · sequencing · fix now vs hold

What to fix now, and what to hold for the optimization pass.

Khoa's call: fix the current build first, then optimize for user-friendliness. To make sure Nico/Rafi touch each thing once, here's every Keystack surface tagged. The global fixes apply everywhere now; then per-surface it's either fix-now (correctness/baseline that a redesign builds on) or hold (I'll restructure it, so don't polish it twice).

FIX NOW = it sticks.

Correctness (readability, controls, focus) + baseline "look like EmuBrain." A friendliness redesign builds on top of these — it won't throw them away.

HOLD = I'll restructure it.

Surfaces/flows I plan to rework in the optimization. Fixing their layout now = double work. Apply the global tokens, but leave the structure for the redesign.

Global — apply to every surface now (the frame)

These are correctness + the shared chrome; they stick no matter what we optimize later.

Per surface

Fix now — correctness / baseline

Nico · PR #8Catalogue — operator authoring & preview

Build my redesign (keystack-catalogue.pages.dev) — this is the improved design (real chat bubbles + composer, demoted plumbing). Not "hold" — it's the target.

RafiSign-in / auth

Rename the duplicate "Log in" → Sign in / Create account (mode toggle) with one primary submit; unify the button colours; header gutter; focus ring. Small, and it sticks.

RafiChat — no-agent state

Gate the avatar video on an active agent (don't autoplay a face with none selected). Correctness. ✓ done

RafiAll surfaces — the global fixes above

Theme tokens + header + controls + focus land on every page (Team, Catalogue-grid, Tasks, Children, Gallery, Chat, Account). This alone makes the app readable and on-language.

RafiHousekeeping

Drop the positional (nth-child) card borders; add hover/transition on interactive elements.

Hold — I'll restructure in the optimization

Team / Overview

First-run experience, empty states, and "what's my next action" guidance. Apply the tokens now, but leave the page structure — it's the #1 friendliness win and I'll redesign it.

Catalogue — tenant "hire an agent" grid

How a family discovers & hires an agent (cards, filtering, the hire flow). Readable now; the discovery UX is a redesign target.

Tasks / Work orders

The create-a-work-order flow — a core action worth making much friendlier. Don't polish the current form; I'll rework it.

Chat — the talk-to-agent experience

The whole text + digital-avatar layout. The no-agent bug is fixed now, but the experience itself I'll redesign.

Onboarding / create-family-account

The signup form is heavy (org name + your name + email + pw + confirm). A friendlier onboarding is a redesign, not a polish.

Children · Account/Appearance · Gallery

Lower-priority hold-lite: tokens apply now; their layouts/flows can be optimized in a later pass.

What happens next

So the dispatch is clean: Rafi deploys the global fixes + the small auth/housekeeping items; Nico builds the Catalogue operator redesign (PR #8). Nobody touches the hold surfaces' structure. Then I take the optimization pass on the hold list — Overview first (biggest friendliness win), then the hire flow, work-order create, and chat — and hand those as redesigns so the devs build each once. Nadia can queue the fix-now column straight off this board.

Keystack fix-now vs hold · Sana → Khoa / Nadia / Rafi / Nico · 2026-07-24 · follows the audit (keystack-audit.pages.dev) + token table (keystack-tokens.pages.dev). Design-only; the fix-now global + auth items are already built by Rafi (in review, undeployed) and the Catalogue redesign is spec'd for Nico's PR #8.