From 2937a305c3242cc8c49a2f853e73698145b836bb Mon Sep 17 00:00:00 2001 From: Dave Date: Mon, 21 Sep 2026 01:54:47 +0200 Subject: [PATCH] chore(phase-8): progress log for 8a/8b/8c tasks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Canonical record for Phase 8 task progress. Mirrored to the Apple Notes note 'Phase 8 — Public intake + PWA + project context' in the DEVELOPMENT folder; the note cannot be ticked in place from this session because Full Disk Access is not granted to the launching app (update-note requires it). --- PHASE-8-PROGRESS.md | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 PHASE-8-PROGRESS.md diff --git a/PHASE-8-PROGRESS.md b/PHASE-8-PROGRESS.md new file mode 100644 index 0000000..c76920f --- /dev/null +++ b/PHASE-8-PROGRESS.md @@ -0,0 +1,56 @@ +# Phase 8 — progress log + +> Canonical record for Phase 8 (8a public route, 8b PWA shell, 8c markdown context). +> Mirrored to the Apple Notes note titled "Phase 8 — Public intake + PWA + project context". +> Workflow: a task moves `pending → in_progress → done` as I work it; TDD red/green noted where applicable. + +## How to read + +- `[ ]` pending +- `[~]` in progress +- `[x]` done — TDD green + commit landed +- `[!]` blocked, needs decision + +--- + +## Plan 8a — Public intake links and route + +- [x] Task 1: Schema — `c99be4d`. Bridge: plan assumed `getOrCreateCollection` extended existing select values; it doesn't, so added `ensureCardsCreatedByRoleValues` and extended `ensureActivityActionValues`. Tests: 446 pass. +- [ ] Task 2: Token generator +- [ ] Task 3: Best-effort client IP +- [ ] Task 4: Rate limiter +- [ ] Task 5: Token resolver and daily counter +- [ ] Task 6: Middleware carve-out +- [ ] Task 7: The public Server Action +- [ ] Task 8: The public submission route +- [ ] Task 9: Minimal intake layout +- [ ] Task 10: The public intake page +- [ ] Task 11: The public wizard +- [ ] Task 12: The "thanks" page +- [ ] Task 13: Card submitted-by badge +- [ ] Task 14: Owner actions for intake links +- [ ] Task 15: The intake links panel +- [ ] Task 16: Wire the panel into the admin page +- [ ] Task 17: Integration tests — the public route +- [ ] Task 18: Integration tests — the owner UI actions +- [ ] Task 19: Full verification + +## Plan 8b — PWA shell + +- [ ] Task 1: The source SVG +- [ ] Task 2: The icon build script +- [ ] Task 3: The manifest +- [ ] Task 4: The service worker +- [ ] Task 5: The manifest link in the intake layout +- [ ] Task 6: Manual install verification +- [ ] Task 7: Final test run + +## Plan 8c — Per-project markdown context + +- [ ] Task 1: Schema +- [ ] Task 2: The intake context extension +- [ ] Task 3: The prompt modules +- [ ] Task 4: The prompt tests +- [ ] Task 5: The owner editor +- [ ] Task 6: Wire the editor into the admin page +- [ ] Task 7: Full verification