Owner request and answers of 2026-10-24: each user connects their own SJ Prio
Mastercard through Enable Banking (restricted production, BankID); only the
card holder sees the purchases; a fourth bottom destination "Kortköp"
(revises D-048); "Anslut kort" in Settings with the card artwork; one- and
two-tap linking to household expenses; web as a later plan.
FR-22, §9.12 (CP-1 to CP-14), server schema 4 (migration 0004), Room 2,
E-36 to E-44, S-23 to S-27, W-21 to W-23, OQ-7, OQ-8. PLAN-K0 describes the
test app of 2ce317f and the remaining run and report; K1 server, K2 Android,
K3 web. HANDOFF and prompts/README updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.5 KiB
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, writeTODO(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 branchagent-k1;git reset --hard main. Stop and report if SPEC v0.36 (K0's answers) is not onmain. - 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), andweb/src/api/schema.d.tsonly 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,
codeorstate. - Gate:
cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo audit && cargo testinserver/,python3 tools/contracts-check.py,npm run checkinweb/, 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.