# Dev A Kickoff Prompt — v0.5.0 Plan A (Security + Cleanup) Paste everything below the `---` line into a fresh Claude Code terminal as the first user message. --- You are a **senior developer** owning Plan A for the Relicario v0.5.0 "polish + harden" release. Plan A is Rust + docs work: the security-vulnerability anchor (pre-receive hook), tar hardening, env-var audit, and a stale-branch cleanup. A PM in another terminal coordinates you with Dev B (extension UX). The user relays messages between terminals. ## Setup (do this first) ```bash cd /home/alee/Sources/relicario git fetch git checkout main git pull git worktree add ../relicario.plan-a -b feature/v0.5.0-plan-a-security-cleanup cd ../relicario.plan-a pwd # should print /home/alee/Sources/relicario.plan-a ``` **ALL subsequent work happens in `/home/alee/Sources/relicario.plan-a`**. Project memory note: subagent prompts MUST start with `cd /home/alee/Sources/relicario.plan-a` — otherwise subagents commit to main. Today: 2026-05-02. Project rules in `CLAUDE.md` apply. ## Required reading (in order) 1. `CLAUDE.md` — project rules 2. `docs/superpowers/specs/2026-05-02-v0.5.0-polish-harden-design.md` — spec (your scope is **S1, S2, S3, C1 only**) 3. `docs/superpowers/plans/2026-05-02-v0.5.0-plan-a-security-cleanup.md` — your plan, execute task by task ## Execution mode Use **subagent-driven-development** (per project memory's default). Invoke `superpowers:subagent-driven-development` and follow it: fresh subagent per task, two-stage review between tasks. **Every subagent prompt MUST start with**: ``` cd /home/alee/Sources/relicario.plan-a ``` …before any other instruction. This is non-negotiable per project memory. ## Your scope and boundaries **In scope:** S1 (pre-receive hook), S2 (tar hardening), S3 (env-var audit), C1 (branch cleanup). **Out of scope:** anything in Plan B (B1, P1-P4). If you trip over a Plan B issue or a new bug while doing your work, file it via a `## QUESTION TO PM` block and keep moving. **Hard rules:** - S1 is HIGH-severity security. Don't relax acceptance tests or skip any of the four scenarios (registered-accepted, unregistered-rejected, revoked-after-rejected, revoked-before-historical-accepted). - C1 is git-destructive (`git branch -D`). For each of the five branches, print the merge-status check, then ask the user **before** deletion. Do not batch the deletes. - Do not merge your branch to main. The PM owns merges. - Do not push `--force` or run `git reset --hard`. Per `CLAUDE.md`: ask first. ## Coordination protocol You are one of three terminals. The user relays messages between them. **Emit at every task boundary** (when you complete a task, get blocked, or want to ask): ``` ## STATUS UPDATE — DEV-A Time: Branch: feature/v0.5.0-plan-a-security-cleanup Task: Status: STARTED | IN-PROGRESS | DONE | BLOCKED | REVIEW-READY Last commit: Tests: Notes: ``` **Emit when you need PM input mid-task**: ``` ## QUESTION TO PM — DEV-A Time: Context: Options: Recommended: Blocker: yes | no (does work stop without an answer?) ``` **You'll receive (pasted by user)**: `## DIRECTIVE TO DEV-A` blocks from the PM. Acknowledge and act. ## Authority within the plan You don't need PM permission to: - Execute task-to-task per the plan - Make implementation decisions consistent with the plan and spec - Write tests, refactor your own code, fix bugs you introduce - Push commits to your feature branch You **do** escalate to PM when: - A scope question outside the plan - A test you can't make green after honest debugging (don't fudge — debug) - A discovered bug not in your plan - Anything destructive (per project rules) - Before opening the PR for review ## Final steps before REVIEW-READY 1. Full `cargo test` (workspace) — must be green 2. `cargo build -p relicario-wasm --target wasm32-unknown-unknown` — must succeed 3. `cargo clippy --workspace --all-targets -- -D warnings` — must succeed 4. Push the branch: `git push -u origin feature/v0.5.0-plan-a-security-cleanup` 5. Open PR: `gh pr create --base main --head feature/v0.5.0-plan-a-security-cleanup --title "v0.5.0 Plan A: security + cleanup" --body "$(cat <<'EOF' ## Summary Implements Plan A for v0.5.0 polish + harden: - S1: pre-receive hook fix (HIGH-severity revocation/registered-device bypass) - S2: tar archive path-traversal hardening on backup restore - S3: RELICARIO_* env-var audit + cfg-gating of dev-only vars - C1: stale local branch cleanup Spec: docs/superpowers/specs/2026-05-02-v0.5.0-polish-harden-design.md Plan: docs/superpowers/plans/2026-05-02-v0.5.0-plan-a-security-cleanup.md ## Test plan - [x] cargo test (workspace) green - [x] cargo build -p relicario-wasm --target wasm32-unknown-unknown - [x] cargo clippy --workspace --all-targets -- -D warnings - [ ] PM review 🤖 Generated with [Claude Code](https://claude.com/claude-code) EOF )"` 6. Emit `## STATUS UPDATE` with `Status: REVIEW-READY` and the PR URL ## First action After reading: emit a `## STATUS UPDATE` confirming setup complete (worktree created, plan absorbed, on `feature/v0.5.0-plan-a-security-cleanup`), then start Task 1 of Plan A.