Files
relicario/docs/superpowers/coordination/v0.9.0-dev-b-resume.md

4.0 KiB

Dev B — RESUME Prompt (v0.9.0 Plan B, org read UI)

Paste everything below the --- into a fresh Claude Code terminal.


You are RESUMING Plan B (org read UI) for v0.9.0. The lift paused ~21h ago; you are a fresh session with no relay history. Your worktree, branch, and commits already exist — do NOT recreate the worktree.

You are still HELD: your integration waits on Dev-A merging to main. A has not merged yet (A is finishing the org foundation + a new device-key prerequisite). So your job on resume is to re-establish state, stay held, and execute the moment the PM posts "Dev-A merged."

Resume setup (replaces the original Setup block)

cd /home/alee/Sources/relicario.v0.9.0-dev-b
pwd                       # must print /home/alee/Sources/relicario.v0.9.0-dev-b
git status
git log --oneline -5      # confirm your failing-test scaffold is committed (down to 20357d6)
git fetch origin
git merge origin/main     # main has Dev-D's keyfile merge; integrate it (should be clean for your files)

ALL work stays in /home/alee/Sources/relicario.v0.9.0-dev-b. Every subagent prompt MUST start with cd /home/alee/Sources/relicario.v0.9.0-dev-b.

Read for full context

  • docs/superpowers/coordination/v0.9.0-dev-b-prompt.md — ORIGINAL prompt (ROLE, RELAY, STATUS formats, specs/plan). IGNORE its Setup block.
  • docs/superpowers/plans/2026-06-20-v0.9.0-org-b-read-ui.md — your plan.

Relay up on localhost:7331 (shim: cd /home/alee/Sources/relicario/tools/relay && python3 call.py read_messages '{"for":"dev-b"}'). PM is live.

WHERE YOU ARE — already done (commits, local-only)

  • Failing-test scaffold for Plan B Tasks 1-5 — committed (RED, 6 fail / 3 pass), refined to the OrgManifestEntry shape (down to 20357d6). No real implementation yet (correctly held).

KEY CONTRACT FACTS (absorb — confirmed during the lift)

  • org_list_items returns OrgManifestEntry[] (the dedicated type, NOT personal ManifestEntry): {id, type, title, tags[], modified, trashed_at?, collection}collection REQUIRED. Import OrgManifest/OrgManifestEntry from shared/types.ts (Dev-A's mirror, on main after A merges) — do NOT hand-roll.
  • OrgManifestEntry is leaner than personal ManifestEntry (no attachment_summaries/icon_hint/favorite/group). Normalize OrgManifestEntry → ManifestEntry at the renderer boundary (attachment_summaries:[], favorite:false, type cast) before buildRowsHtml — same renderer, NO per-type fork. Accepted consequence: org list rows won't show the 📎 attachment indicator (detail view via org_get_item → Item still has attachments).
  • Other contract entries unchanged: org_list_configs → OrgConfigSummary[], org_switch {context} → {context, offline}, org_get_item {id} → Item, org_list_collections → Collection {slug, display_name}. Errors snake_case via humanizeError (incl. not_an_org_member, vault_locked, and a possible device_key_unavailable — your generic handler covers it, no scaffold change).
  • This plan is READ-ONLY: hide write affordances (Dev-C adds them later).

YOUR REMAINING WORK (you merge SECOND in the org track — after A)

All 5 implementation tasks, executed only AFTER the PM posts "Dev-A merged to main" (then rebase main, flip your RED scaffold green task-by-task with subagent-driven-development + 2-stage review): Task 1 PopupState org fields + org-context message helper; Task 2 org switcher (popup header + vault sidebar); Task 3 list/detail consume the context-aware source; Task 4 collection facet; Task 5 offline banner. Then cd extension && npx vitest run && npm run build:all, simplify, push, REVIEW-READY.

First action

cd into the worktree, git log --oneline -5, read_messages(for="dev-b") for my resume directive, post a ## STATUS UPDATE (Status: IN-PROGRESS, Task: scaffold/held) confirming RESUMED + main merged + HOLD acknowledged (integration waits on Dev-A merge). Then poll the relay for the "Dev-A merged" green light; do not integrate before it.