chore: update planning notes

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-11 10:04:06 +08:00
parent b86173b8a7
commit 3336f23e6f
3 changed files with 60 additions and 1 deletions
+26 -1
View File
@@ -4,7 +4,7 @@
Persist Brand Kits by authenticated user, bind one optional Brand Kit to each project/canvas, expose a canvas-header selector, and make every Agent Chat turn and newly created thread use the selected kit as authoritative creative context.
## Current Phase
Phase 7
Phase 12
## Phases
@@ -68,6 +68,29 @@ Phase 7
- [ ] Provide the working preview URL and concise implementation notes
- **Status:** pending
### Phase 11: Visual Annotation Discovery and Design
- [x] Map image toolbar/action generation, canvas transforms, and reusable panel conventions
- [x] Translate the supplied annotation reference into the repository's interaction and visual language
- **Status:** complete
### Phase 12: Visual Annotation Implementation
- [ ] Add an image-toolbar entry and visual annotation editing mode
- [ ] Support brush, circle, rectangle, and cross marks on the selected image
- [ ] Make each mark's AI edit instruction directly editable and removable
- [ ] Submit the annotated source through the existing image action generation flow
- [ ] Preserve the source node and write generation state/results only to a sibling copy
- **Status:** in_progress
### Phase 13: Visual Annotation Verification
- [ ] Add focused interaction/serialization coverage where supported
- [ ] Run frontend typecheck/build and inspect desktop/mobile behavior in a real browser
- **Status:** pending
### Phase 14: Visual Annotation Delivery
- [ ] Review scope and final diff without altering unrelated user changes
- [ ] Provide the working preview URL and concise implementation notes
- **Status:** pending
## Invariants
- Brand Kits are owned and queried only through the authenticated user ID from request context.
- A project may reference zero or one Brand Kit owned by the same user.
@@ -82,6 +105,7 @@ Phase 7
- Revoked and expired sessions never authenticate or appear in the active-device list.
- Device metadata is derived from request headers for display only and never used as an authorization signal.
- Device timestamps cross the API boundary as RFC3339 UTC instants and are localized only in the browser's timezone.
- Visual annotation actions never mutate the source image node; their copied result node is the only generation target.
- Desktop and mobile web-session limits come from server configuration; the API returns the effective values and the UI never hard-codes them.
## Errors Encountered
@@ -102,3 +126,4 @@ Phase 7
| The in-app browser runtime reported no available browser backends | 1 | Keep the verified local preview running and report the browser-only visual inspection gap; do not substitute an unrelated browser surface against the browser skill rules. |
| Escaping the `psql \d` meta-command through Docker produced an invalid command | 1 | Query `information_schema.columns` and `pg_indexes` with regular SQL instead. |
| Desktop limit regression test observed two valid desktop sessions when the configured limit was 1 | 1 | Confirmed the limit was presentation-only; enforce it atomically during session creation and reconcile pre-fix sessions during device listing. |
| Launching `mcp-zero` from `server/` used a repository-root relative path | 1 | Relaunch with `../.tools/bin/mcp-zero` while keeping generation output rooted in `server/`. |