docs: Plan C Phases 1, 2, 5 merged; STATUS + ROADMAP updated

Three parallel worktree streams landed 2026-05-30 evening:
- Phase 1 (StateHost typing): c3f8e35
- Phase 2 (SW storage extract): b6707f4
- Phase 5 (P2 cluster: 5 small fixes): 0496dfe

Combined: 389/389 vitest passing. Phases 3, 4, 6 remain. Phase 4 (vault.ts
split) and Phase 6 (status indicator) both unblocked by Phase 1; Phase 3
(setup wizard SW migration) is the biggest single remaining piece.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken
2026-05-30 22:07:10 -04:00
parent 0496dfe533
commit 8249f9e3d3
2 changed files with 11 additions and 12 deletions

View File

@@ -5,7 +5,7 @@
## Version
**Last release tagged:** v0.6.0 — rolled up Phase 2B, v0.5.1 Streams A/B/C, 1C-γ, Plan B refactor (Cycles 1+2), management-surfaces revamp, and the doc-structure redesign into one tag.
**Active track:** extension restructure planning (CLI restructure + security polish both confirmed shipped; only extension restructure is genuinely outstanding from the 2026-05-04 architecture-review specs)
**Active track:** extension restructure execution — Plan C Phases 1, 2, 5 merged 2026-05-30 (three parallel worktree streams). Phases 3, 4, 6 remain.
## What landed on main since the v0.5.0 version bump
@@ -128,15 +128,14 @@ Per the 2026-05-30 post-v0.6.0 audit of the three 2026-05-04 architecture-review
- **CLI restructure** (`2026-05-04-cli-restructure-design.md`) — *already shipped* as Plan B Cycles 1+2 (`b9bd152`, `3dd1e1b`, `3759f6a`, `e69b347`); the last gap (read-side `refresh_groups_cache` callers in list/get) closed in `d717f0d`. Done-criteria all met.
- **Security polish** (`2026-05-04-security-polish-design.md`) — *already shipped* as Stream A Cycle 1 (`89090a8`) plus follow-ups (`0c9387f` start.sh fourth window, `229e483` recovery_qr.rs docs). All four phases done.
- **Extension restructure** (`2026-05-04-extension-restructure-design.md`) — **the only genuinely outstanding spec.** Plan written 2026-05-30: `docs/superpowers/plans/2026-05-30-extension-restructure.md` (6 phases, 24 tasks, ~145 bite-sized steps).
- Phase 1 (S-M): `StateHost` typing + `__resetHostForTests` — foundation, blocks 3 + 4.
- Phase 2 (S): Extract `service-worker/storage.ts` + move `itemToManifestEntry` — independent.
- Phase 3 (L): Setup-wizard SW migration + step registry + `clearWizardState`.
- Phase 4 (M): Split `vault.ts` into 5 modules + lift `vault_locked` channel.
- Phase 5 (M): Five P2 fixes (timer reset rule, gitHost on expiry, teardown dedup, allSettled, MutationObserver debounce) — independent.
- Phase 6 (S-M): `get_vault_status` SW handler + sidebar status indicator (closes the `relicario status` CLI/extension parity gap).
- Recommended sequence: Phase 1 → Phase 2 → Phase 5 → Phase 4 → Phase 6 → Phase 3 (independents first, Phase 3 last because it's the biggest single phase and benefits from all the supporting infrastructure landing first).
- Maximum parallelism (subagent-driven): 3 streams (Phases 1+2+5 concurrent; Phases 4 + 6 sequential after 1; Phase 3 sequential after 1).
- **Extension restructure** (`2026-05-04-extension-restructure-design.md`, plan `docs/superpowers/plans/2026-05-30-extension-restructure.md`) — half-shipped:
- **Phase 1 (StateHost typing)** — merged `c3f8e35` (4 commits, 378/378 tests). View+PopupState moved to `shared/popup-state.ts`; `StateHost` interface fully typed; `__resetHostForTests` exported; double-registration guard. PopupState widened to absorb VaultState's vault-tab-only fields.
- **Phase 2 (SW storage extract)** — merged `b6707f4` (1 commit, 376/376 tests). `loadDeviceSettings` / `saveDeviceSettings` / `loadBlacklist` / `saveBlacklist` consolidated in `service-worker/storage.ts`; `itemToManifestEntry` moved to `service-worker/vault.ts`. Router files shrank ~70 LOC combined.
- **Phase 5 (P2 cluster)** — merged `0496dfe` (5 commits, 377/377 tests). Inactivity timer rule inverted (READ_ONLY_CONTENT_CALLABLE exclusion set); `state.gitHost` cleared on session expiry; `teardownSettingsCommon` extracted; `Promise.allSettled` in devices (trash.ts was a no-op — single-message load path on current main); MutationObserver `scan()` debounced 200ms.
- **Phase 3 (Setup wizard SW migration + step registry)** — Effort: L. Depends on Phase 1 ✅. Biggest single phase. Adds `create_vault` / `attach_vault` SW handlers; setup.ts drops direct WASM imports + collapses six renderStepN/attachStepN pairs into a step registry + adds `clearWizardState`.
- **Phase 4 (vault.ts split + vault_locked channel lift)** — Effort: M. Depends on Phase 1 ✅. Splits 1037-LOC vault.ts into 5 modules (vault-shell, vault-sidebar, vault-list, vault-drawer, vault-form-wrapper); lifts the vault_locked RPC intercept into shared/state.ts's sendMessage wrapper.
- **Phase 6 (get_vault_status + sidebar status indicator)** — Effort: S-M. Depends on Phase 4. Closes the `relicario status` CLI/extension parity gap.
- Combined test count at end of three-stream merge: **389/389** vitest passing (baseline 371 + 18 new across the three phases).
Beyond extension restructure, ROADMAP medium-term holds Phase 4 command palette (no spec yet). Long-term: relay server, mobile.