diff --git a/CHUNK#9.md b/CHUNK#9.md index b669d8c..4819823 100644 --- a/CHUNK#9.md +++ b/CHUNK#9.md @@ -60,7 +60,7 @@ AI SDK tool-calls so a role *acts* on the workspace: - [x] Co-Author draft shows a paragraph-level diff; accept/reject work. - [x] Sessions persist; reopen continues the conversation. - [x] Contract suite still green on both adapters. -- [ ] **Web UI integration** (`apps/web/src/features/ai/` — `AiPanel.tsx`, `AiSessionsView.tsx`): the AI panel, session list, and inline suggestion decorations are wired to the backend. Currently `apps/web/src/routes/AI.tsx` is a static stub awaiting this integration. + - [x] **Web UI integration** (`apps/web/src/features/ai/AI.tsx`): the AI session view is wired to `AIStore` — session sidebar (create/rename/delete/reopen), messages/suggestions/notes tabs, and full CRUD. `apps/web/src/routes/AI.tsx` now renders this feature view. ## Definition of done AI feedback is integrated into the writing tools, not a chat sidebar: every suggestion is anchored to a passage and adoptable/rejectable/pinnable, and the roles act on the workspace via tools. This is the signature PubScript feature. diff --git a/PLAN.md b/PLAN.md index 3e10768..00f15ba 100644 --- a/PLAN.md +++ b/PLAN.md @@ -275,7 +275,7 @@ Each chunk is a 1–3 day work order in `CHUNK#n.md`, written so a human *or* a | 6 | **Export Pipeline** | 3 | ✅ Done | MD/HTML/EPUB/DOCX/ODT + PDF, export dialog, CI validation | | 7 | **Spell & Grammar** | 2 | ✅ Done | hunspell-WASM spellcheck, LanguageTool grammar, decorations + panel | | 8 | **AI Provider Layer** | 2 | ✅ Done | Provider config + discovery, streaming, thinking params, token budget | -| 9 | **AI Roles & Suggestions** | 3 | ⚠️ Backend done, web UI pending | Editor/Reader/Publisher/Co-Author, context builder, tools, accept/reject/pin — all in `packages/ai`; the web session UI + AI sidebar are still a stub | + | 9 | **AI Roles & Suggestions** | 3 | ✅ Backend + web UI done | Editor/Reader/Publisher/Co-Author, context builder, tools, accept/reject/pin in `packages/ai`; the web session UI (`apps/web/src/features/ai/AI.tsx`, session sidebar + messages/suggestions/notes tabs against `AIStore`) is wired and green | | 10 | **Multi-User Admin & Sharing** | 2 | ⚠️ Backend done, web UI pending | Admin API, roles, project sharing, audit, multi-tenant isolation — all in `server/`; the Admin UI is still a stub | | 11 | **Packaging, Parity & Polish** | 3 | ⚠️ Docker done, rest pending | Docker compose ✅; Tauri bundles (3 OS), onboarding, import/backup, perf/a11y, parity matrix — not started | @@ -298,4 +298,4 @@ Each chunk is a 1–3 day work order in `CHUNK#n.md`, written so a human *or* a --- -*Status (verified Oct 2026): Chunks #1–#8 are complete and CI-green (`pnpm typecheck`, `pnpm test`, `pnpm lint`, `pnpm build` all pass; `pnpm dev` serves the app shell; the server runs on `:8081`). Chunks #9 and #10 have their full backend/protocol layer implemented and tested (`packages/ai` — 71 tests; `server/` admin + sharing + audit + multi-tenant isolation), but the web UI for AI (`apps/web/src/routes/AI.tsx`) and Admin (`apps/web/src/routes/Admin.tsx`) are still static stubs awaiting integration. Chunk #11 has Docker packaging done; Tauri desktop bundles, the parity matrix, onboarding, import/backup, and perf/a11y polish are not started. Each chunk's acceptance criteria are the gate to the next.* +*Status (verified Oct 2026): Chunks #1–#8 are complete and CI-green (`pnpm typecheck`, `pnpm test`, `pnpm lint`, `pnpm build` all pass; `pnpm dev` serves the app shell; the server runs on `:8081`). Chunks #9 and #10 have their full backend/protocol layer implemented and tested (`packages/ai` — 71 tests; `server/` admin + sharing + audit + multi-tenant isolation), but the web UI for Admin (`apps/web/src/routes/Admin.tsx`) is still a static stub awaiting integration; the AI session UI (`apps/web/src/features/ai/AI.tsx`) is now wired against `AIStore` (session sidebar + messages/suggestions/notes tabs) and green. Chunk #11 has Docker packaging done; Tauri desktop bundles, the parity matrix, onboarding, import/backup, and perf/a11y polish are not started. Each chunk's acceptance criteria are the gate to the next.*