86e08a12cf
D-044 adds nine Swedish Splitwise category names to the SPEC §10.8 table and splitwise_categories.csv. D-045 records the reconciliation against the totals rows; D-046 the importer CLI semantics and exit codes. M9 marked landed at ab298ab, the M11 rehearsal recorded, server/README.md and prompts/README.md updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
5.1 KiB
5.1 KiB
Handoff: state of the work
Living document, rewritten in place (never a second copy). A new orchestrator session reads CLAUDE.md, then this.
1. Where things stand
mainatab298ab(M9) plus the SPEC v0.7 docs commit fromagent-spec7once it lands. History:5e1be38plans and prompts,c885abaM2c-dev,76ee957SPEC v0.3,fad6fc9M2b,fdf2093M2a,040bf41SPEC v0.4,503cee5M3,c28c52bM5,982451dSPEC v0.5,bd6f10aM4,23a2f1eSPEC v0.6,ab298abM9.- Landed: M0 spec, M1 contracts and vectors (
c6df2ab), M2a server skeleton andkvitt-domain(fdf2093), M2b Android skeleton and:domain(fad6fc9), M2c-dev infra for development (c885aba), M3 server core API (503cee5), M4 server sync, audit, push, scheduler (bd6f10a), M5 Android data layer (c28c52b), M9 Splitwise importer (ab298ab), SPEC v0.6 (23a2f1e). Withagent-spec7: SPEC v0.7 with M9's D-044 to D-046 and D-044's nine Swedish names inserver/crates/kvitt-import/data/splitwise_categories.csv. - Both gates exist: Android
tools/gradle-serial.sh check(fromandroid/), servercargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test(fromserver/). - Worktrees in flight under
.claude/worktrees/:agent-spec7(this docs change: SPEC v0.7). - The owner runs the UX sprint in a separate Claude session in
~/orca/workspaces/kvitt/UX-sprinton branchUX-sprint; it commits only underdocs/ux/and rebases onmainbefore landing. U1 is committed onUX-sprintat210ab5c(docs/ux/: directions, ia, screens, flows, components, tokens,strings.csv); the owner has not yet picked a direction. - Importer rehearsal (M11 preparation), 2026-10-18: the real run reconciled on both real files in a throwaway database (Vardag 1746 rows, Hemma 37 rows); 21 rows were unmapped before D-044, 0 are expected after it (confirm with the next dry run). The CSV files stay in
export/(git-ignored). - Development stack (M2c-dev): running on the Mac with the M4 image, reachable at
http://192.168.1.210:8080; the owner confirmed/healthfrom the phone on the home Wi-Fi on 2026-10-17. Firebase projectkvitt-1337with appsse.hagstedt.kvittandse.hagstedt.kvitt.debug; service accountkvitt-fcm;infra/secrets/fcm-service-account.jsonandinfra/secrets/google-services.jsonin the main checkout (git-ignored). - Installed on the owner's phone (SM-S942B): the debug app
se.hagstedt.kvitt.debugbuilt frommainatc28c52b, as of 2026-10-18.
2. Open work (one line each, with who owns it: agent or owner)
- Land
agent-spec7(orchestrator): SPEC v0.7, decisions D-044 to D-046, the category data file,server/README.md, prompts/README status. - Image build for the Pi (M2c-pi or M10): since M4 the arm64 server image needs a C toolchain in the build stage (aws-lc-rs) and CA roots in the distroless image (§10.3); confirm both and one FCM send from the shipped image.
- D-027 re-stamp (orchestrator assigns: M8 as a contract request on
:data, or a small:dataagent): on the first sync attempt after aclock_skewrejection the phone re-stampsupdated_atof each such pending row to its current clock before pushing. Not in:dataatc28c52b. - Picture size (M6, if needed):
:dataalways fetches E-11 at 512; a size parameter for the 128 variant is a contract request on:core:modeland:data. - Plans (SPEC §11.2 v0.7), in dependency order; prompt
prompts/<id>.md:- M1, M2a, M2b, M2c-dev, M3, M4, M5, M9: landed.
- U1 UX directions: committed on
UX-sprint(210ab5c); waiting for the owner's pick. - Next waves: U2 UX design spec (owner's session, after the pick; owner approves; then the §9.7 colour change goes into the spec by a docs agent), then M6 Design system, M7a to M7f Features after M6 in parallel, M8 App integration after M7, M2c-pi Infra on the Pi after M8 (owner: answer OQ-3, grant the Pi, Home Assistant Pi, Gitea and Drive allowances at the start, D-023), M10 First release after M2c-pi (owner: keystore per §10.6, D-024), M11 Import history after M9 and M10 (procedure §10.8 "Production run", D-025; each run must reconcile, D-045).
3. HUMAN steps pending (relay in chat)
- UX direction pick from U1's directions in
docs/ux/onUX-sprint, with comments (owner's UX-sprint session).
4. Owner questions (asked, unanswered)
- OQ-3 LAN addresses and SSH users of the Kvitt Pi and the Home Assistant Pi; SSH port of the HA Pi; certificate directory there; which SSH add-on (SPEC §12). Needed by M2c-pi only. The only open question (OQ-1, OQ-2, OQ-4 answered: D-001, D-003, §10.9).
5. Paused (waiting on something outside the repo)
- Nothing.
6. Numbering
- Decisions: D-001 to D-046 used (D-008 and D-009 unused). Next free: D-047.
- Spec version: v0.7 written; next v0.8.
- Server schema version 1; next 2. Room schema version 1 (
android/data/schemas/se.hagstedt.kvitt.data.db.KvittDatabase/1.json); next 2. - Sync protocol 1, push payload 1.
7. How the work is run
See CLAUDE.md › Orchestration. HUMAN steps in reports are relayed in chat by the orchestrator; the owner does not read them in files.