Why: Phase 1 of the approved frontend redesign: re-skin the shell to the
Zai look (floating rounded panels on an inset base with 4px gutters),
invert primary buttons to the mono scheme, and move every font size onto
the --fs-ui-* scale. Also wires @ui/motion.css and replaces local
keyframes with mk-* utilities.
Evidence: npx tsc -b clean; npm test -> 38 passed (new host-side
design-guard ratchet); npm run build succeeds. Combined Dev make test
recorded in the Dev task card.
Impact: styles.css fully re-tokenized (panel borders/radius, primary
button color-mix hover, login brand panel in near-mono navy); inline
fontSize literals in components replaced with scale tokens except one
decorative glyph in the ratchet baseline. No component class names or
behavior changed.
Refs: Agent-System-Dev task feature/ui-tokens-v3; DESIGN.md (parent repo).
Why: avatars, cards, and settings are base capabilities now (user
decision 2026-09-30); the host must eat its own dogfood so plugins get
the identical surfaces.
Evidence:
- Local icons.tsx removed; Icon/Avatar/BrandMark/primitives/Settings
Shell imported from @ui; message stream gains avatar columns (user
initial from /api/me name, assistant brand mark); SettingsModal
rebuilt on SettingsShell (side-nav sections with badges, EmptyState
for plugins, iconified actions); AdminUsersModal rows show shared
avatars.
- tsconfig paths pin react/react-dom types to the frontend copy — the
source-composed ui package otherwise resolves a second @types/react
through its own node_modules during make frontend (npm ci), which
breaks type identity (surfaced by SVGProps crossing the boundary);
vite dedupe already guarantees one runtime copy.
- Headless on the real binary: avatar columns render, settings shell
switches sections with badges, admin rows show avatars, zero console
errors; build + vitest green.
Impact: visual/structural only; no API or state changes.
Refs: Agent-System-Documents proposal 2026-09-30-ui-redesign-and-auth.md
Why: The schema renderer and design tokens moved to the new Agent-System-UI
repo (D29); Frontend becomes the first host consuming it through the @ui
source alias so future inbox/card/workspace components land in the shared
library instead of this repo.
Evidence: tsc+build clean with modules/ui materialized; vitest 9/9 pass;
combined CSS (tokens.css + ui.css + styles.css) verified rule-identical to
the pre-migration styles.css except comments and a collision-free block
relocation; doc-ref store access replaced by injected DocBridge at the two
call sites (plugin panels, card parts, HITL forms).
Impact: Requires sibling modules/ui checkout (Dev worktree provides it); vite
dedupe keeps single react/marked copies in the bundle.
Refs: Agent-System-Documents proposal 2026-09-30-ui-inbox-command-workspace (D29)
Details (original message):
Implement the three-column workbench frontend: resizable/collapsible nav with overshorthand collapse, streaming chat with part renderers and process collapse, HITL choice cards with impact display and free-input pivot, plan/todos/artifacts/agents tabs, subagent tracker modal, schema-driven settings center with effect badges and masked secrets, profile management with import/export, plugin panel rendering, doc viewer with edit-save; contract shape tests.