- D-055 build-time copy of the keyword table, D-056 parseCategoryKeywords, D-057 enum declaration orders, D-058 E-7 example shows server_version 15 and 16 and its test compares them again. - D-051 fulfilled: §9.7 hex values from docs/ux/design-spec.md §2.3; design-spec.md binding, strings.csv the source of string resources. - D-059: ExpenseEditorOptions.frequentCategoryIds and CategoryRepository.deletable; new milestone M12d with PLAN-M12d and prompts/M12d.md; M7a-f depend on M6 and M12d. - suggestCategory readings (null when other is archived), §11.2 landed marks and the 2026-10-18 dry run, dev stack on schema 2, PLAN-M12b SQLite 3.51.x, design-spec §6 notes in PLAN-M6/M7c/M7f; HANDOFF rewritten. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
2.1 KiB
Start prompt: M12d UI contract additions (UX-9)
You are an Opus implementation agent on Kvitt (repository /Users/jhag/projects/kvitt), milestone M12d: UI contract additions (UX-9). You have no context other than this prompt and the files it names.
Read PLAN-M12d.md and follow it; CLAUDE.md rules apply. SPEC.md wins over both.
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}}
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:
(To fill: Confirm SPEC v0.9 has landed. M6 runs in parallel in android/core/design/**; Gradle builds are serialised by tools/gradle-serial.sh. No phone is needed.)
{{ORCHESTRATOR_NOTES}}
Essentials (the plan has the detail):
- First step: from the main checkout,
git worktree add .claude/worktrees/agent-m12d -b agent-m12d main; work only there, on branchagent-m12d; then copy the git-ignored files the plan names. - Edit only the Android paths of PLAN-M12d §4 (
:core:model,:data,:core:fakesoutside thefakes/<feature>/folders); anything else is a contract request to the orchestrator. - Gate:
PATH=/opt/homebrew/opt/openjdk@25/bin:$PATH ../tools/gradle-serial.sh checkinandroid/. 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-M12d.md §10: branch, head commit hash, gate result lines, versions chosen with sources, numbering used, how the orchestrator notes were applied, HUMAN steps outstanding (worded for relay), contract requests, open questions and spec gaps with section numbers.