Re-skins the whole app to the dark design comps and wires the new surfaces to
the backend (the /api proxy + auth + schemas are unchanged).
Design system:
- globals.css: remapped @theme tokens to the comp palette (#08080a base, coral
#ff6f61, status cyan/green/amber/purple/teal); token names preserved
- MeshMark: triangle + 3-node brand glyph; cm-flow/cm-blink/cm-halo keyframes
- marketing flipped light → dark
Backend (migration 0012):
- agents.model_binding (persisted on team deploy) + GET /api/claws/{id}/runtime-config
- routine_runs table + scheduler journaling + GET /api/routines/runs
- GET /api/claws/{id}/compartments (anatomy aggregate)
- GET /api/structure/stats (workspace counts)
Frontend:
- Landing: full dark marketing page (hero constellation, deploy ladder,
12-topology taxonomy, recursive execution, compare/Pareto, safety, self-host)
- Auth: dark split-panel AuthShell + comp LoginForm + Clerk SignIn themed dark
- Dashboard shell: TopBar (breadcrumb + live stats + deploy + user) + StatusBar
(runner/sandbox/doors); rail slimmed to 60px + 252px context column
- ConstellationCanvas (radial recursive) replaces the graph view in StructureCanvas;
selecting a claw opens ComputerPanel (apps/now-running/dock); RoutinesPanel
- Claw anatomy view (/claws/[id]/anatomy) from compartments + runtime-config
Co-Authored-By: Claude Opus 4.8 <[email protected]>
22 lines
1.0 KiB
SQL
22 lines
1.0 KiB
SQL
-- Dashboard surfaces (design-comp redesign): persist a claw's model binding so
|
|
-- the claw card/anatomy can show it (today it's ephemeral in the ZeroClaw
|
|
-- runtime config), and journal routine firings so the routines panel can show
|
|
-- run history. Everything else the dashboard needs (compartments, counts,
|
|
-- now-running) is aggregated from existing tables at read time.
|
|
|
|
-- The model a claw was deployed with (e.g. "claude", "gemini", "glm-5.2").
|
|
-- NULL for claws created before this migration / outside the team flow.
|
|
ALTER TABLE agents ADD COLUMN model_binding TEXT;
|
|
|
|
-- One row per routine firing — the routines panel's run history + live loops.
|
|
CREATE TABLE routine_runs (
|
|
id UUID PRIMARY KEY,
|
|
routine_id UUID NOT NULL REFERENCES routines (id) ON DELETE CASCADE,
|
|
status TEXT NOT NULL DEFAULT 'running', -- running | ok | error
|
|
started_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
completed_at TIMESTAMPTZ,
|
|
error TEXT
|
|
);
|
|
|
|
CREATE INDEX routine_runs_routine_idx ON routine_runs (routine_id, started_at DESC);
|