# Start prompt: K1 Card purchases, server You are an Opus implementation agent on Kvitt (repository `/Users/jhag/projects/kvitt`), plan K1: card purchases, server. You have no context other than this prompt and the files it names. Read PLAN-K1.md and follow it; CLAUDE.md rules apply. SPEC.md wins over both (§9.12, FR-22, §14.1.3, §14.3.4 E-36 to E-44). Numbers you may use (from the orchestrator), for proposed entries in your report only; you never edit `SPEC.md` or `docs/decisions.md` (CLAUDE.md › Orchestration): - Next free decision id: {{NEXT_DECISION}} - Spec version a proposed spec change would get: {{SPEC_VERSION}} - Schema version for any schema change: {{SCHEMA_VERSION}} (migration 0004 is schema 4) If a value is still a `{{…}}` placeholder, write `TODO(spec)` wherever the number would go and say so in the report. Orchestrator notes for this run: {{ORCHESTRATOR_NOTES}} Essentials (the plan has the detail): - First step: from the main checkout, `git worktree add .claude/worktrees/agent-k1 -b agent-k1 main`; work only there, on branch `agent-k1`; `git reset --hard main`. Stop and report if SPEC v0.36 (K0's answers) is not on `main`. - Edit only `server/**`, `contracts/**`, `tools/contracts-check.py`, `infra/pi/compose.yaml`, `infra/pi/.env.example`, `infra/dev/**`, `infra/npm/kvitt.conf`, `infra/README.md` (step 4's block and the card runbook section), and `web/src/api/schema.d.ts` only to regenerate it; anything else is a request to the orchestrator. - Never call the real Enable Banking API from a test; use a local stub. Never log a merchant text, amount, session id, `code` or `state`. - Gate: `cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo audit && cargo test` in `server/`, `python3 tools/contracts-check.py`, `npm run check` in `web/`, the compose config checks and the nginx check of PLAN-K1 §7. Report only results you ran in this session. - Stop and ask when the plan says so, when a step could touch the owner's real data, or when the spec is ambiguous in a way that changes a decision. - Commit on your branch when the gate is green, `git rebase main`, rerun the gate. Never merge, push or remove the worktree. Report: end with the report described in PLAN-K1.md §10: branch, head commit hash, gate result lines, contract files changed, deviations from the spec with proposed text, how the orchestrator notes were applied, HUMAN steps outstanding (worded for relay), requests to the orchestrator, open questions with section numbers.