Context
Phase 558 / GitHub #239 added an internal, persistence-neutral annotation-store contract skeleton after the Phase 557 contract gate. The current stack now defines internal annotation identity/reference records, primitive payload shape, migration metadata, and a neutral boundary, but it still intentionally has no production annotation store, no GraphDocument schema change, no workspace persistence behavior, no clipboard/export serialization, no screenshot manifest expansion, and no saved whiteboard primitive state.
Before any implementation writes annotation data, the next safe step is a docs/tests-only queue split that turns the post-Phase-558 pressure into separate tracker-backed implementation candidates. This must preserve the existing contract boundaries and keep the stacked merge order explicit.
Scope
Create a bounded post-Phase-558 annotation-store implementation queue refresh:
- update EN/ZH React Flow parity roadmap docs with Phase 559, GitHub issue, and Beads ID;
- split the next annotation-store work into small follow-up candidates with explicit ownership, write sets, dependencies, and parallelism limits;
- at minimum separate an in-memory annotation-store adapter/proof route, workspace/sidecar persistence policy route, clipboard/export serialization boundary, screenshot/Cookbook proof expansion, and migration/compatibility proof route;
- keep Phase 558 as the contract skeleton only and preserve no saved whiteboard primitive state claims;
- add focused docs tests that fail if the roadmap leaves the post-Phase-558 implementation wave implicit/TBD or claims annotation persistence is implemented.
Out of scope
No production annotation store implementation, no file/database I/O, no GraphDocument schema change, no schema version bump, no workspace persistence behavior change, no clipboard/export serialization behavior change, no screenshot manifest expansion, no renderer rewrite, no pointer coordinator edits, no toolbar or eraser changes, no public API exposure, no saved whiteboard primitive state, and no full React Flow whiteboard parity claim.
Dependency / stacking
Depends on Phase 558 / PR #240 and must not merge before Phase 558 and the lower whiteboard stack land. May be implemented as a stacked docs/tests branch on top of feature/phase-558-whiteboard-annotation-store-contract-skeleton while PR #240 is blocked.
Context
Phase 558 / GitHub #239 added an internal, persistence-neutral annotation-store contract skeleton after the Phase 557 contract gate. The current stack now defines internal annotation identity/reference records, primitive payload shape, migration metadata, and a neutral boundary, but it still intentionally has no production annotation store, no GraphDocument schema change, no workspace persistence behavior, no clipboard/export serialization, no screenshot manifest expansion, and no saved whiteboard primitive state.
Before any implementation writes annotation data, the next safe step is a docs/tests-only queue split that turns the post-Phase-558 pressure into separate tracker-backed implementation candidates. This must preserve the existing contract boundaries and keep the stacked merge order explicit.
Scope
Create a bounded post-Phase-558 annotation-store implementation queue refresh:
Out of scope
No production annotation store implementation, no file/database I/O, no GraphDocument schema change, no schema version bump, no workspace persistence behavior change, no clipboard/export serialization behavior change, no screenshot manifest expansion, no renderer rewrite, no pointer coordinator edits, no toolbar or eraser changes, no public API exposure, no saved whiteboard primitive state, and no full React Flow whiteboard parity claim.
Dependency / stacking
Depends on Phase 558 / PR #240 and must not merge before Phase 558 and the lower whiteboard stack land. May be implemented as a stacked docs/tests branch on top of feature/phase-558-whiteboard-annotation-store-contract-skeleton while PR #240 is blocked.