From d07646f2e1fd410cd09e2e7e7faa32baa0672b0a Mon Sep 17 00:00:00 2001 From: Ender Date: Fri, 24 Oct 2025 03:06:57 +0200 Subject: [PATCH] =?UTF-8?q?docs(plan):=20mark=20M1=E2=80=93M3=20complete;?= =?UTF-8?q?=20.env.example=20done;=20editor=20wired=20to=20drafts;=20outli?= =?UTF-8?q?ne=20remaining=20tasks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PLAN.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/PLAN.md b/PLAN.md index b516d93..8b7db25 100644 --- a/PLAN.md +++ b/PLAN.md @@ -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