122 lines
8.8 KiB
Markdown
122 lines
8.8 KiB
Markdown
# Waggle OS UX Refactor — Analysis & Plan Index
|
||
|
||
> This folder is the **product-interpretation layer** between the UX-Refactor PRD (the source of
|
||
> truth) and the code. It exists so an implementing agent can build the refactor screen-by-screen
|
||
> without re-deriving product decisions. Everything here is **source-grounded** against live code
|
||
> under `apps/web/src`, `packages/server/src`, and `packages/hive-mind-core/src` — every claim cites
|
||
> a real file (and line where load-bearing).
|
||
|
||
---
|
||
|
||
## Executive summary (one paragraph)
|
||
|
||
Waggle OS today is a **single-route windowed desktop OS** (`apps/web/src/components/os/Desktop.tsx`
|
||
+ `Dock.tsx`, 27 `AppId` window types, no react-router navigation) with a deep, mostly-built backend
|
||
substrate (workspace-manager, workspace-state builder, `.mind` schema, harvest pipeline, install-audit,
|
||
approval/trust runtime). The refactor turns it into a **workspace-first Agent Desktop** whose spine is
|
||
**Home Cockpit + Workspace Desktop + Command Center (Ctrl+K) + visible Memory + Artifacts + Agents/Skills/
|
||
Automations + a governed Extend layer + Team**. The locked execution model is an **in-place incremental
|
||
refactor** of `apps/web` plus **targeted local-sidecar (Fastify) backend extensions** — not a rebuild —
|
||
because most PRD §16 endpoints either exist or can be aliased/extended over existing handlers; the master
|
||
list resolves to **53 endpoints of real backend work** (35 net-new + 18 extend), **5 new sidecar route
|
||
files**, **2 new JSON-file stores**, and **at most one conditional SQLite migration**. All 21 numbered
|
||
screens + the AppShell are covered by a gap card; the highest residual risks are cross-cutting
|
||
(per-screen state coverage, approval/audit ownership, RBAC role unification, MCP runtime population).
|
||
|
||
**The master plan is [`IMPLEMENTATION-PLAN.md`](./IMPLEMENTATION-PLAN.md).** Start there once you have
|
||
read the locked decisions below.
|
||
|
||
---
|
||
|
||
## Locked decisions (do not relitigate)
|
||
|
||
1. **Execution model = in-place INCREMENTAL REFACTOR** of `apps/web` + targeted backend extensions.
|
||
NOT a from-scratch / Lovable rebuild. Reuse the existing substrate (workspace-manager,
|
||
workspace-state builder, `.mind` schema, install-audit, `ai_interactions`).
|
||
2. **Scope = FULL-STACK.** The plan covers net-new/extended **backend** APIs *and* **frontend**, because
|
||
many PRD §16 endpoints do not exist yet.
|
||
3. **Mockups are DIRECTIONAL** visual reference (PRD §24), not pixel-perfect targets. **PRD acceptance
|
||
criteria win over pixels.**
|
||
4. **Local-first by default** (PRD §6.7). The desktop frontend talks ONLY to the local sidecar
|
||
(`packages/server/src/local/index.ts`, loopback `:3333`); the Clerk-gated cloud server is out of scope.
|
||
5. **Backend-map is the contract reference** (`docs/backend-map/README.md` + `sections/` + `DIAGRAMS/`,
|
||
audited ~96%). Ground every backend claim there or in live source.
|
||
|
||
---
|
||
|
||
## Recommended reading order
|
||
|
||
1. **This README** — orientation + locked decisions.
|
||
2. **PRD** (source of truth) — `../Waggle_OS_UX_Refactor_Master_Handoff_Package/Waggle_OS_UX_Refactor_PRD.md`.
|
||
3. **[`IMPLEMENTATION-PLAN.md`](./IMPLEMENTATION-PLAN.md)** — the phased full-stack master plan (Phase 0..6).
|
||
4. **Inventories** (current state) — read the three `_inventory/*.md` before touching code.
|
||
5. **Deltas** (what changes) — `deltas/*.md`, especially `backend-api-delta.md` and `open-questions.md`.
|
||
6. **Gap cards** (per-screen build specs) — `gap-cards/S00..S21.md`, pulled in by the phase that owns them.
|
||
7. **`deltas/coverage-check.md`** — the adversarial completeness audit; read its "Concrete gaps to fix"
|
||
list and confirm the plan addresses each.
|
||
|
||
---
|
||
|
||
## Inventories — current state (`_inventory/`)
|
||
|
||
| Doc | What it maps |
|
||
|---|---|
|
||
| [`_inventory/frontend.md`](./_inventory/frontend.md) | Every `apps/web/src` surface: 26 apps, 14 overlays, the window-manager/dock shell, the `adapter.ts` HTTP/SSE gateway (~150 methods), domain hooks, `lib/types.ts`, the `ui/*` DS primitives, and current-apps → new-IA bucket mapping. |
|
||
| [`_inventory/backend-routes.md`](./_inventory/backend-routes.md) | Every existing local-sidecar endpoint by domain + a PRD §16 cross-reference (65 endpoints: **16 EXIST / 30 PARTIAL / 19 MISSING**). |
|
||
| [`_inventory/substrate-types.md`](./_inventory/substrate-types.md) | WorkspaceConfig vs §15.3, workspace-state outputs, `.mind` schema, memory frames, install-audit, and FE↔BE type drift. |
|
||
|
||
## Deltas — what the refactor adds/changes (`deltas/`)
|
||
|
||
| Doc | What it specifies |
|
||
|---|---|
|
||
| [`deltas/backend-api-delta.md`](./deltas/backend-api-delta.md) | **The build contract.** Consolidated, de-duplicated, phase-ordered master list of every endpoint to build/extend (53 with backend work) + schema migrations (§M). New route files + JSON stores + counts. |
|
||
| [`deltas/shared-types-delta.md`](./deltas/shared-types-delta.md) | PRD §15.2 unions + entity shapes (Memory, Artifact, Agent, Skill, Automation, McpInstance, Command) — NEW vs MODIFY, and where each lives (`@waggle/shared` vs FE `lib/types.ts`). |
|
||
| [`deltas/design-system-delta.md`](./deltas/design-system-delta.md) | PRD §19 component list mapped to the live Hive DS: EXISTS vs BUILD-NEW (~13 new DS components), the `--sem-*` color-semantic alias layer, dark-default/light-variant, a11y obligations. |
|
||
| [`deltas/rbac-security-delta.md`](./deltas/rbac-security-delta.md) | PRD §17/§18: the two divergent RBAC planes, the approval/consent runtime (strong, reuse it), the three audit stores, and the security build order. |
|
||
| [`deltas/open-questions.md`](./deltas/open-questions.md) | The founder-ratification list: the 8 PRD §23 questions (§A), cross-cutting decisions blocking ≥2 screens (§B), screen-local questions (§C), each with a RECOMMENDED answer + the phase it blocks. |
|
||
| [`deltas/coverage-check.md`](./deltas/coverage-check.md) | Adversarial completeness audit: 21/21 screens + 65/65 §16 endpoints + 11/11 DoD items traced; surfaces the cross-cutting gaps (screen×state grid, approval/audit owner, RBAC matrix, sessions-as-object, connector-sync stub, MCP runtime). |
|
||
|
||
## Gap cards — per-screen build specs (`gap-cards/`)
|
||
|
||
Each card carries: screen & purpose · required states · current-state-in-repo disposition · frontend
|
||
work (keep-promote / rework / create, real paths) · backend work (PRD §16 mapping) · shared types ·
|
||
dependencies · effort · open questions.
|
||
|
||
| Card | Screen | PRD § | Phase (this plan) |
|
||
|---|---|---|---|
|
||
| [S00](./gap-cards/S00-appshell-ia.md) | AppShell + IA + Navigation | §1, §19.1, §20.3 | **0** |
|
||
| [S01](./gap-cards/S01-home-cockpit.md) | Home Cockpit | §12.1 | **1** |
|
||
| [S02](./gap-cards/S02-workspace-desktop.md) | Workspace Desktop | §12.2 | **1** |
|
||
| [S03](./gap-cards/S03-command-center.md) | Command Center (Ctrl+K) | §12.3 | **1** |
|
||
| [S04](./gap-cards/S04-memory-center.md) | Memory Center | §12.4 | **2** |
|
||
| [S05](./gap-cards/S05-artifact-center.md) | Artifact Center | §12.5 | **2** |
|
||
| [S06](./gap-cards/S06-skills-hub.md) | Skills Hub | §12.6 | **3** |
|
||
| [S07](./gap-cards/S07-connector-hub.md) | Connector Hub | §12.7 | **4** |
|
||
| [S08](./gap-cards/S08-mcp-hub.md) | MCP Hub | §12.8 | **4** |
|
||
| [S09](./gap-cards/S09-agent-center.md) | Agent Center | §12.9 | **3** |
|
||
| [S10](./gap-cards/S10-team-workspace.md) | Team Workspace | §12.11 | **5** |
|
||
| [S11](./gap-cards/S11-automation-center.md) | Automation Center | §12.10 | **3** |
|
||
| [S12](./gap-cards/S12-first-launch.md) | Onboarding · First Launch | §12.12 | **2** |
|
||
| [S13](./gap-cards/S13-who-are-you.md) | Onboarding · Who Are You | §12.12 | **2** |
|
||
| [S14](./gap-cards/S14-tool-discovery.md) | Onboarding · Tool Discovery | §12.12 | **2** |
|
||
| [S15](./gap-cards/S15-memory-import.md) | Onboarding · Memory Import | §12.12 | **2** |
|
||
| [S16](./gap-cards/S16-memory-review.md) | Onboarding · Memory Review | §12.12 | **2** |
|
||
| [S17](./gap-cards/S17-workspace-creation.md) | Workspace Creation | §12.12 | **2** |
|
||
| [S18](./gap-cards/S18-agent-builder.md) | Agent Builder | §12.9 | **3** |
|
||
| [S19](./gap-cards/S19-skill-builder.md) | Skill Builder | §12.6 | **3** |
|
||
| [S20](./gap-cards/S20-automation-builder.md) | Automation Builder | §12.10 | **3** |
|
||
| [S21](./gap-cards/S21-marketplace-extend.md) | Marketplace / Extend Waggle | §12.13 | **4** |
|
||
|
||
---
|
||
|
||
## How this set was assembled
|
||
|
||
The 3 inventories were read out of live source; the 22 gap cards were written one-per-screen against
|
||
PRD §12 + the blueprint screen specs; the 6 deltas consolidate the cross-screen contracts (API, types,
|
||
DS, RBAC) and the founder decisions; the coverage-check is an adversarial audit proving completeness
|
||
against PRD §12 (screens), §16 (endpoints), and §26 (Definition of Done). The `IMPLEMENTATION-PLAN.md`
|
||
sequences all of it into one phased Phase 0..6 program under the locked in-place refactor model.
|
||
|
||
Maintained alongside `docs/backend-map/` (the source-grounded backend contract) and `CLAUDE.md` (the
|
||
operating contract — verification commands in §2, file-org rules in §3).
|