diff --git a/docs/PRODUCTION_READINESS_HANDOFF_ROADMAP.md b/docs/PRODUCTION_READINESS_HANDOFF_ROADMAP.md index 06d5743..334117a 100644 --- a/docs/PRODUCTION_READINESS_HANDOFF_ROADMAP.md +++ b/docs/PRODUCTION_READINESS_HANDOFF_ROADMAP.md @@ -190,7 +190,7 @@ Goal: the web app is the production-grade primary NoteLett surface. - [x] **P6.2** Verify all mutation flows use offline queue or clear retry UX where appropriate: note create/update/archive/restore, workspace CRUD, link note, task/artifact creation, prompts, intake, reviews. Commit: `454b200`; Verified: `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run typecheck'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web exec vitest run src/lib/mutation-retry.test.ts src/lib/notes-client.test.ts src/lib/prompt-client.test.ts src/lib/api-helpers.test.ts'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run test'`; `git diff --check`. Added a shared mutation retry helper, queued offline-safe note/workspace/link/task/artifact/template/intake-rule mutations through `@bytelyst/offline-queue`, and added clear reconnect-and-retry errors for prompt runs, intake submissions, review decisions, and collaboration mutations that need immediate server results. - [x] **P6.3** Add user-facing error states and empty states for backend down, platform down, extraction down, blob upload failure, and feature disabled. Commit: `a72d6b7`; Verified: `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run typecheck'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web exec vitest run src/lib/user-facing-states.test.ts src/components/StateNotice.test.tsx src/components/AuthGuard.test.tsx'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run test'`; `git diff --check`. Added shared user-facing dependency state mapping and notice UI; surfaced backend-down/empty dashboard states, platform readiness failures and feature-disabled kill-switch states, extraction empty/down states, and blob upload failure/empty artifact states. - [x] **P6.4** Complete import/export readiness: JSON and Markdown export, deterministic metadata, auth checks, and web download UX. If import is deferred, document scope and acceptance criteria. Commit: `09f30c0`; Verified: `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/backend run typecheck'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run typecheck'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/backend exec vitest run src/modules/notes/export.test.ts src/modules/notes/routes.integration.test.ts'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web exec vitest run src/lib/notes-client.test.ts'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/backend run test'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run test'`; `git diff --check`. Hardened authenticated JSON/Markdown export with paged backend reads, stable `notelett.notes.export.v1` metadata, deterministic note fields/sorting, safe filenames, web JSON/Markdown download actions, and documented import deferral scope plus acceptance criteria in `docs/IMPORT_EXPORT_READINESS.md`. -- [ ] **P6.5** Verify note sharing/collaboration flows: public share safety, workspace collaborator access, revocation, and UI copy. Commit: +- [x] **P6.5** Verify note sharing/collaboration flows: public share safety, workspace collaborator access, revocation, and UI copy. Commit: `e71febe`; Verified: `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/backend run typecheck'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run typecheck'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/backend exec vitest run src/modules/notes/routes.integration.test.ts src/modules/note-collaborators/routes.test.ts src/modules/notes/routes.test.ts'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web exec vitest run src/lib/notes-client.test.ts src/components/ShareDialog.test.tsx'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/backend run test'`; `zsh -lc 'source ~/.zshrc; export GITEA_NPM_TOKEN; pnpm --filter @notelett/web run test'`; `git diff --check`. Added expiring public shares, list/revoke endpoints, no-store/noindex public share responses, direct collaborator read/edit authorization checks, owner-gated collaborator listing, collaborator-safe export/deep-link access, and web share-dialog copy plus revoke/remove controls. - [ ] **P6.6** Add Playwright coverage for create note, edit note, archive/restore, link note, review approve/reject, prompt run, intake URL, settings smoke, and public share. Commit: - [ ] **P6.7** Add web build analysis for bundle regressions and remove unused route/runtime code. Commit: