Full redesign of the Maestro web UI (catalog, attach, spawn) as an OKLCH design-system: monospace-first, cool-slate neutrals with a single committed signal-green for "alive". Dark default + full light theme via tokens (OS-following, persisted toggle).
Adds PRODUCT.md + DESIGN.md (impeccable design context). Color-independent status (a11y), AA contrast both themes, prefers-reduced-motion paths. DEV-only review fixtures (mock.ts) are tree-shaken from production.
Verified: typecheck + prod build clean; screenshotted every state in both themes at desktop + mobile.
Full redesign of the Maestro web UI (catalog, attach, spawn) as an OKLCH design-system: monospace-first, cool-slate neutrals with a single committed signal-green for "alive". Dark default + full light theme via tokens (OS-following, persisted toggle).
Adds PRODUCT.md + DESIGN.md (impeccable design context). Color-independent status (a11y), AA contrast both themes, prefers-reduced-motion paths. DEV-only review fixtures (mock.ts) are tree-shaken from production.
Verified: typecheck + prod build clean; screenshotted every state in both themes at desktop + mobile.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Two web spawn QoL improvements plus the wire support they need:
- Command field now prefills `claude` instead of an empty box.
- Working directory prefills the selected daemon's home dir, updating on
daemon change unless the user has typed their own value.
The daemon resolves its `$HOME` via `dirs::home_dir()` at startup and
advertises it end-to-end: a new `home_dir` field on `DaemonOutbound::Hello`
flows through the registry's `register` into `DaemonInfo` (served on
`/api/daemons` and `/api/events`). The field is `#[serde(default)]`, so older
daemons that omit it deserialize to an empty string — backward compatible, and
the UI simply skips prefill when it's empty.
Hierarchical `/`-separated labels in the web sidebar already worked
(web/src/catalog.ts); no change there.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
`cargo fmt --all -- --check` was already failing on `main` (CI run 149) due to
unformatted code in broker.rs and http.rs; e2e.rs carried the same drift. This
applies rustfmt to those three so the branch passes the fmt gate. No behavior
change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Capture the web UI's strategic register (product) and the visual design
system (OKLCH token palette, monospace-first type, dark+light theming) for
the impeccable workflow. Supersedes the transient .impeccable.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite styles.css as an OKLCH design-system: cool-slate neutrals with a
single committed signal-green for "alive" (running status, primary action,
focus, selection). Monospace becomes the UI typeface; dark is default with a
full light theme via tokens, OS-following with a persisted header toggle.
- catalog: pulsing wordmark, status-bar tally (N sessions / M live) + daemon
chips, color-independent session status (pulsing dot for running, hollow
ring + "exited" badge for dead), reveal-on-hover kill, three teaching
empty states.
- attach: state pill (live/closed/error), framed dark xterm w/ green cursor.
- spawn: bottom-sheet/dialog form, mono inputs with green focus rings.
- a11y: AA contrast both themes, visible focus, prefers-reduced-motion paths,
status never color-only.
- theme.ts: dark/light toggle + persistence; mock.ts: DEV-only review fixture
(?mock / ?mock&spawn / ?theme=), tree-shaken from production builds.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Full redesign of the Maestro web UI (catalog, attach, spawn) as an OKLCH design-system: monospace-first, cool-slate neutrals with a single committed signal-green for "alive". Dark default + full light theme via tokens (OS-following, persisted toggle).
Adds PRODUCT.md + DESIGN.md (impeccable design context). Color-independent status (a11y), AA contrast both themes, prefers-reduced-motion paths. DEV-only review fixtures (mock.ts) are tree-shaken from production.
Verified: typecheck + prod build clean; screenshotted every state in both themes at desktop + mobile.
🤖 Generated with Claude Code