Files
kvitt/prompts/README.md
T
jacobh2 5e1be38364 Plans and start prompts for every milestone; SPEC v0.2
PLAN-<id>.md for U1, U2, M1, M2a, M2b, M2c-dev, M2c-pi, M3, M4, M5, M6,
M7a-M7f, M8, M9, M10, M11, each with the eleven fixed sections, and a
start prompt per plan in prompts/ plus prompts/README.md (dependency
order and parallel waves).

SPEC v0.2: owner answers D-001 (development-first, M2c split into
M2c-dev and M2c-pi, Gitea registry), D-002 (local backups deleted once
on Drive), D-003 (Splitwise CSV format, English and Swedish variants,
category mapping), OQ-1, OQ-2, OQ-4 answered; M1's readings of
ambiguous contract points stated explicitly in §14.3 to §14.5.
HANDOFF §2 lists the plans.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 21:05:34 +02:00

42 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Start prompts
One ready-to-paste start prompt per plan (`PLAN-<id>.md` at the repository root), plus `ORCHESTRATOR-prompt.md`. Before pasting, the orchestrator fills `{{NEXT_DECISION}}`, `{{SPEC_VERSION}}`, `{{SCHEMA_VERSION}}` (disjoint ranges for agents that run in parallel, CLAUDE.md › Numbering) and `{{ORCHESTRATOR_NOTES}}` (answers to the plan's open points, phone assignment, overrides). `U2.md` also takes `{{OWNER_PICK_AND_COMMENTS}}`. U1 and U2 run in the owner's own Claude session on branch `agent-ux`.
Dependencies follow SPEC §11.1 and §11.2 (v0.2, D-001). Status as of 2026-10-17: M0 done, M1 landed (`c6df2ab`).
## Dependency order and waves
Plans in the same wave can run in parallel (they own disjoint paths, SPEC §14.7). Android agents share one Gradle build at a time (`tools/gradle-serial.sh`) and one agent on the phone at a time.
| Wave | Plan | Prompt | Depends on | Parallel with |
|---|---|---|---|---|
| 0 | M1 Contracts and vectors | `M1.md` | M0 | done (`c6df2ab`) |
| 0 | U1 UX directions | `U1.md` | M0 | everything in waves 0 to 2 (owner's session) |
| 1 | M2a Server skeleton and `kvitt-domain` | `M2a.md` | M1 | M2b, M2c-dev, U1/U2 |
| 1 | M2b Android skeleton and `:domain` | `M2b.md` | M1 | M2a, M2c-dev, U1/U2 |
| 1 | M2c-dev Infra for development | `M2c-dev.md` | M0 (its health check needs M2a's image) | M2a, M2b, U1/U2 |
| 1 | U2 UX design spec | `U2.md` | U1 and the owner's pick | M2a, M2b, M2c-dev, wave 2 |
| 2 | M3 Server core API | `M3.md` | M2a | M4 (see coupling below), M5, M6 |
| 2 | M4 Server sync, audit, push, scheduler | `M4.md` | M2a | M3, M5, M6 |
| 2 | M5 Android data layer | `M5.md` | M1, M2b | M3, M4, M6 |
| 2 | M6 Design system | `M6.md` | U2 approved, M2b, the §9.7 colour spec change | M3, M4, M5 |
| 3 | M7a Feature onboarding | `M7a.md` | M6 | M7b to M7f, M9 |
| 3 | M7b Feature home and account | `M7b.md` | M6 | M7a, M7c to M7f, M9 |
| 3 | M7c Feature expense | `M7c.md` | M6 | M7a, M7b, M7d to M7f, M9 |
| 3 | M7d Feature settle | `M7d.md` | M6 | M7a to M7c, M7e, M7f, M9 |
| 3 | M7e Feature analytics | `M7e.md` | M6 | M7a to M7d, M7f, M9 |
| 3 | M7f Feature settings | `M7f.md` | M6 | M7a to M7e, M9 |
| 3 | M9 Splitwise importer | `M9.md` | M2a, M4 | M5, M6, M7a to M7f |
| 4 | M8 App integration | `M8.md` | M3, M4, M5, M7a to M7f, M2c-dev | M9 if still running |
| 5 | M2c-pi Infra on the Pi | `M2c-pi.md` | M2c-dev, M8; OQ-3 answered | none needed |
| 6 | M10 First release | `M10.md` | M2c-pi, M3, M4, M8 | none |
| 7 | M11 Import history | `M11.md` | M9, M10 | none |
## Constraints the orchestrator must keep in mind
- **M3 and M4 are coupled** through recurring generation (E-28 generates a due period; §9.5 logic, audit writer and push queue are M4's). Decide the interface before starting both (PLAN-M3 open point a, PLAN-M4 open point b), or land M4's generation function first.
- **M2a and M2b need the stub-file decisions** in their notes before starting (PLAN-M2a open points a to f, PLAN-M2b open points a to g): they create files in directories §14.7 gives to later milestones.
- **M7a to M7f** need M2b's feature convention (Hilt or not, navigation callbacks) and M6's shared components (ledger rows, expense form fields) settled first.
- **Phone:** M2b (one `installDebug`), M5 (only if instrumented tests), M8 and M10 use the phone; only one at a time, named in the notes.
- **Outside the repository:** M2c-dev (gcloud, Firebase, secrets in the main checkout), M2c-pi (SSH to the Pi, Gitea, Drive), M8 (dev server on the Mac), M10 and M11 (production) need the owner's allowance in the notes.