docs(plan): mark M1–M3 complete; .env.example done; editor wired to drafts; outline remaining tasks

This commit is contained in:
Ender 2025-10-24 03:06:57 +02:00
parent 8e76c349eb
commit d07646f2e1

18
PLAN.md
View File

@ -16,16 +16,16 @@ Voice-first authoring tool for single-user Ghost blog. Capture audio, refine wit
- [x] Build password gate (frontend form + backend verification).
- [x] Connect FE<->BE via Vite proxy and enable CORS.
- [x] Load .env in API with explicit path.
- [ ] Bootstrap base admin layout with navigation placeholders.
- [x] Bootstrap base admin layout with navigation placeholders.
- [ ] Document manual test checklist for auth flow.
- **M2 · Voice Capture Pipeline** (Scope: Goal 2)
- [ ] Add browser audio recorder UI & permissions handling.
- [ ] Stream/upload audio blobs to backend endpoint.
- [ ] Persist raw audio (S3/local) with metadata.
- [x] Add browser audio recorder UI & permissions handling.
- [x] Stream/upload audio blobs to backend endpoint.
- [x] Persist raw audio (S3/local) with metadata.
- **M3 · Speech-to-Text Integration** (Scope: Goal 3)
- [ ] Invoke OpenAI STT API server-side.
- [ ] Surface transcript in rich editor state with status feedback.
- [ ] Log conversion lifecycle for debug.
- [x] Invoke OpenAI STT API server-side.
- [x] Surface transcript in rich editor state with status feedback.
- [x] Log conversion lifecycle for debug.
- **M4 · Rich Editor Enhancements** (Scope: Goal 4)
- [ ] Integrate block-based editor (e.g., TipTap/Rich text) with custom nodes.
- [ ] Implement file/image upload widget wired to storage.
@ -51,7 +51,7 @@ Voice-first authoring tool for single-user Ghost blog. Capture audio, refine wit
- [ ] ESLint + Prettier shared config.
- [ ] Commit hooks (lint-staged, Husky) optional.
- **Secrets**
- [ ] `.env.example` for common keys (ADMIN_PASSWORD_HASH, OPENAI_API_KEY, GHOST_ADMIN_API_KEY, S3 credentials).
- [x] `.env.example` for common keys (ADMIN_PASSWORD_HASH, OPENAI_API_KEY, GHOST_ADMIN_API_KEY, S3 credentials).
- [ ] Instructions for local secret population.
## Tooling Decisions
@ -74,7 +74,7 @@ Voice-first authoring tool for single-user Ghost blog. Capture audio, refine wit
## Next Priorities
- [x] Save transcript into an editor document (draft state) and display in editor.
- [x] Add simple document persistence API (filesystem) at `/api/drafts` (list/get/save).
- [ ] Wire editor to use `/api/drafts` (load/save) instead of only localStorage.
- [x] Wire editor to use `/api/drafts` (load/save) instead of only localStorage.
- [ ] List uploaded media items and allow re-use/deletion.
## Verification Steps