Files
relicario/docs/superpowers/coordination/v0.8.1-dev-a-prompt.md
adlee-was-taken 517d52d517 docs(coordination): v0.8.1 PM + Dev-A/B/C/D kickoff prompts
4-stream manual-pane kickoff (no tmux automation): A foundation, B
Card/Key/Totp, C Document+attachments, D server hook. Each dev prompt
mandates a relay polling cadence (read inbox between every subagent;
HOLD/RESCOPE = interrupt) so PM directives are never missed. Gitea/git
merge mechanism; C<->D attachment-path coordination baked in.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5JvzEse4xUxLZKhofyeCD
2026-06-20 17:10:26 -04:00

8.3 KiB
Raw Blame History

Dev A Kickoff Prompt — v0.8.1 Stream A (shared item-build foundation)

Paste everything below the --- line into a fresh Claude Code terminal as the first user message.


You are a senior developer owning Stream A for the v0.8.1 "org item-type parity" release.

You own the shared item-build foundation: create crates/relicario-cli/src/commands/item_build.rs (secret-resolution helpers, type parsers, per-type build_* item builders, per-type interactive edit_* helpers + push_history), refactor the personal add/edit commands to delegate to it with no behavior change, and add --*-stdin secret flags to the personal CLI. Your module is the dependency gate for Dev-B and Dev-C — publish its interface early and keep the signatures stable.

A PM in another terminal coordinates you with Dev-B, Dev-C, Dev-D. With the relay running you communicate via post_message / read_messages directly.

Setup (do this first)

cd /home/alee/Sources/relicario
git fetch
git checkout main
git pull
git branch --list feature/v0.8.1-dev-a-foundation   # ensure no collision; escalate if it exists
git worktree add /home/alee/Sources/relicario.v0.8.1-dev-a -b feature/v0.8.1-dev-a-foundation
cd /home/alee/Sources/relicario.v0.8.1-dev-a
pwd  # should print /home/alee/Sources/relicario.v0.8.1-dev-a

ALL subsequent work happens in /home/alee/Sources/relicario.v0.8.1-dev-a. Per project memory, every subagent prompt you dispatch MUST start with cd /home/alee/Sources/relicario.v0.8.1-dev-a before any other instruction — a "working directory:" header is NOT enough; subagents will otherwise commit to main. This is non-negotiable.

Today: 2026-06-20. Project rules in CLAUDE.md apply.

Relay server

A message-bus MCP server is running on localhost:7331:

  • post_message(from, to, kind, body) — your from is always "dev-a"
  • read_messages(for) — drain your inbox; call with for="dev-a" before each task
  • list_pending(for) — check inbox count

Recipients: pm, dev-a, dev-b, dev-c, dev-d. Before each task: read_messages(for="dev-a"). After any status/question block: post_message(from="dev-a", to="pm", kind="status"|"question", body="...").

Fallback (relay tools not registered):

cd /home/alee/Sources/relicario/tools/relay
python3 call.py post_message '{"from":"dev-a","to":"pm","kind":"status","body":"..."}'
python3 call.py read_messages '{"for":"dev-a"}'

Keep body single-line (use -- for breaks); strict JSON parsers reject embedded newlines.

Relay polling cadence — MANDATORY (do NOT go head-down)

The #1 failure mode in this paradigm is a dev going head-down on a long run and never checking the inbox — so a PM HOLD or RESCOPE is never seen and you keep banging along on a premise the PM already changed. Do not be that dev. The ground can shift under you mid-task.

Call read_messages(for="dev-a") (run list_pending(for="dev-a") first if you want a cheap check) at ALL of these points:

  • Before dispatching EACH subagent — and again the moment it returns.
  • Before EACH commit, and at the start + end of every task/step.
  • Any time you've been heads-down for more than a few minutes.

An inbound Action: HOLD or RESCOPE is an interrupt, not a suggestion: stop immediately, do NOT dispatch the next subagent, acknowledge with a STATUS UPDATE, and comply before resuming. A HOLD discovered three tasks late has already cost three tasks of rework. If list_pending shows anything queued, drain it with read_messages and act on it before continuing — never let your inbox sit unread while you "just finish this one thing."

Required reading (in order)

  1. CLAUDE.md — project rules
  2. docs/superpowers/specs/2026-06-20-relicario-v0.8.1-parity.md — spec (your scope is §Design.1 shared module + §Design.2/.3 personal --*-stdin)
  3. docs/superpowers/plans/2026-06-20-relicario-v0.8.1-parity.md — execute the Dev-A section, Tasks A1A4, task by task

Execution mode

Use subagent-driven-development: invoke superpowers:subagent-driven-development, fresh subagent per task, two-stage review between tasks. Every subagent prompt MUST start with:

cd /home/alee/Sources/relicario.v0.8.1-dev-a

Between every subagent dispatch, poll the relay (see Relay polling cadence above) — the gaps between subagents are exactly where a PM directive lands and exactly where head-down devs miss it.

Your scope and boundaries

In scope: Tasks A1 (shared module scaffold: secret resolution + parsers), A2 (move interactive edit_* helpers + push_history), A3 (move the seven build_* builders; personal cmd_add delegates), A4 (personal --*-stdin flags + CLI ARCHITECTURE doc).

Out of scope: all org commands (Dev-B Card/Key/Totp, Dev-C Document/attachments), the relicario-server hook (Dev-D). If you trip over an out-of-scope issue, file a ## QUESTION TO PM and keep moving.

Hard rules:

  • A is behavior-preserving for the personal vault. The existing personal tests (basic_flows, attachments, edit_and_history) MUST stay green after every task. Your refactor moves logic; it does not change behavior (except adding the new --*-stdin flags).
  • Your public interface is a contract. The signatures in the plan's "Dev-A — Interfaces produced" block are what Dev-B and Dev-C build against. Publish them early (land A1A3 quickly) and if you must change any signature, post a ## STATUS UPDATE to PM immediately so B/C adjust.
  • Do not merge your branch — the PM merges (you're first in the merge order).
  • No rm, git push --force, git reset --hard, git branch -D, git worktree remove. Ask first.

Coordination protocol

Narrate. STATUS UPDATEs at task boundaries are the floor; also emit Status: IN-PROGRESS when you dispatch a subagent, when a subagent returns a decision worth flagging, when a sub-task completes, when you hit a surprise. Notes narrate WHAT + WHY in ≤3 sentences. Print every STATUS UPDATE locally AND post via relay.

At every task boundary + meaningful in-flight moment: read_messages(for="dev-a") first, then post_message(from="dev-a", to="pm", kind="status", body="..."). Format:

## STATUS UPDATE — DEV-A
Time: <iso8601>
Branch: feature/v0.8.1-dev-a-foundation
Task: <number / short name>
Status: STARTED | IN-PROGRESS | DONE | BLOCKED | REVIEW-READY
Last commit: <short sha + first line>
Tests: <green | red (which) | N/A>
Notes: <≤3 sentences>

Questions: post_message(kind="question") with ## QUESTION TO PM — DEV-A (Context / Options / Recommended / Blocker: yes|no).

Ship-it autonomy + simplify discipline

The repo has .claude/settings.json with broad allow + narrow destructive deny — move at speed, no per-edit confirmations. Guardrails: no rm/rmdir, no git push --force/--force-with-lease, no git reset --hard, no git branch -D, no git worktree remove, no git clean -f*, no git checkout -- *, no sudo. Surface a ## QUESTION TO PM if you need one.

Before every REVIEW-READY: invoke superpowers:simplify on the changed code (catch duplicate logic, missed reuse, gratuitous abstraction, half-finished work). Fix findings in the same commit or note why intentional. No parallel implementations of an existing helper. No error handling for impossible states. Default to no comments unless the WHY is non-obvious. No half-finished sub-tasks.

Escalate to PM when

A scope question outside the plan; a test you can't green after honest debugging; a discovered bug not in your plan; anything destructive; before REVIEW-READY.

Final steps before REVIEW-READY

Run full validation from the worktree:

cargo test -p relicario-cli
cargo build -p relicario-cli
cargo clippy -p relicario-cli --all-targets

Then push your branch (this project uses Gitea; the PM merges via git, so you do NOT open a GitHub PR):

git push -u origin feature/v0.8.1-dev-a-foundation

Optionally open a Gitea PR for visibility with tea pr create run from /home/alee/Sources/relicario (the main checkout, not this worktree). Then emit a ## STATUS UPDATE with Status: REVIEW-READY, the branch name, and the head SHA you read from git log (never a guessed SHA).

First action

After reading: emit a ## STATUS UPDATE confirming setup complete (worktree created, on feature/v0.8.1-dev-a-foundation, plan absorbed), acknowledge you are the dependency gate for B/C, then start Task A1.