K0 report, SPEC v0.36: K0 results, windowed history fetch (D-177 to D-180), card artwork cropped
Build Kvitt images / build (push) Failing after 3h10m35s

K0 ran on the owner's SJ Prio Mastercard on 2026-10-24; the report
docs/spikes/K0-enable-banking.md holds aggregates only. SPEC v0.36 answers
every K0 TODO(spec) of §9.12: D-177 K0's outcome and the owner's
assumptions (partner card, pending->booked, next-day session; verified by
K1's owner steps), D-178 the windowed history fetch (100-row cap, no
continuation key: 30-day windows split at 100 rows), D-179 the transaction
mapping (merchant from remittance_information, booking date else value
date, FEE debits to handle, debtor/CPAN fields never stored), D-180 the
artwork cropped to the card (1313 x 829) and committed for Android and the
web. K plans, prompts/README and HANDOFF follow; K1 to K3 spec text goes
into v0.37.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 12:31:06 +02:00
parent 8fa91986f0
commit 8b620c8c6a
11 changed files with 224 additions and 78 deletions
+2 -2
View File
@@ -40,7 +40,7 @@ Plans in the same wave can run in parallel (they own disjoint paths, SPEC §14.7
| 5 | M2c-pi Infra on the Pi (bundle `infra/pi/`, D-100) | `M2c-pi.md` | M2c-dev, M8; runs last, after the app is proven | bundle done (`2476667`, D-103 to D-106); reshaped by the NPM rework (`4f69ae0` to `9231a1d`, D-120) and made a self-contained compose project (`6e5981d`, D-125); the plan is superseded where it names Caddy, cert-sync, scripts or `/opt/kvitt`; the owner's install on the Pi is in progress (2026-10-20) |
| 6 | M10 First release | `M10.md` | M2c-pi, M3, M4, M8 | none |
| 7 | M11 Import history | `M11.md` | M9, M10 | none |
| 8 | K0 Card purchases spike (local test app, D-176) | `K0.md` | SPEC v0.35; the owner's Enable Banking account, application and key (PLAN-K0 §8) | none; the app landed `2ce317f`, the run with the owner and the report remain |
| 8 | K0 Card purchases spike (local test app, D-176) | `K0.md` | SPEC v0.35; the owner's Enable Banking account, application and key (PLAN-K0 §8) | done 2026-10-24 (app `2ce317f`; report `docs/spikes/K0-enable-banking.md`; answers in SPEC v0.36, D-177 to D-180) |
| 9 | K1 Card purchases: server (schema 4, E-36 to E-44) | `K1.md` | SPEC v0.36 (K0's answers) | K2, K3; lands first |
| 9 | K2 Card purchases: Android (`:feature:cards`, Room 2) | `K2.md` | SPEC v0.36; rebases on K1 before its gate | K1, K3; lands after K1 |
| 9 | K3 Card purchases: web (W-21 to W-23) | `K3.md` | SPEC v0.36; rebases on K1 and K2 before its gate | K1, K2; lands after K2 (card strings) |
@@ -54,5 +54,5 @@ Plans in the same wave can run in parallel (they own disjoint paths, SPEC §14.7
- **M6** landed `7730a31` (D-063 to D-066): charts on `Canvas`, Expressive fallbacks against material3 1.4.0, formatting tables in code, one golden per sheet × theme × language (+200 %), which M7a to M7f follow. Its M8 contract requests are in SPEC §11.3.
- **M12** (D-054): done; the importer test `category_table_matches_the_spec` is green again since M12b (`6eaccec`). M12d (D-059) landed `557af7e` (D-060 to D-062); M7a to M7f run on top of both.
- **Phone:** M2b (one `installDebug`), M5 (only if instrumented tests), M8 and M10 use the phone; only one at a time, named in the notes. M8's on-phone test was run by the orchestrator with the owner on 2026-10-18; M12e did not use the phone; its APK needs a schema-3 server (SPEC §14.8), and the dev server already runs it.
- **K0 to K3** (D-176, SPEC §11.3): K0 runs with the owner on the Mac only; its `TODO(spec)` answers go into SPEC v0.36 through a docs agent before K1 starts. K1 owns the contract (migration 0004, OpenAPI E-36 to E-44, examples, `match_card_purchase.json`) and lands first; K2 and K3 may start on the spec and fakes and rebase before their gates. Give K1, K2 and K3 disjoint decision ranges. No agent ever prints, logs or commits a real card purchase; the owner's BankID steps are relayed in chat.
- **K0 to K3** (D-176, SPEC §11.3): K0 ran with the owner on the Mac only and is done; its answers are in SPEC v0.36 (D-177 to D-180), so K1 to K3 can start. For K1 to K3 fill `{{SPEC_VERSION}}` with v0.37 (their proposed spec text is recorded together in v0.37) and `{{NEXT_DECISION}}` from D-181 on, in disjoint ranges. K1 owns the contract (migration 0004, OpenAPI E-36 to E-44, examples, `match_card_purchase.json`) and lands first; K2 and K3 may start on the spec and fakes and rebase before their gates. Give K1, K2 and K3 disjoint decision ranges. No agent ever prints, logs or commits a real card purchase; the owner's BankID steps are relayed in chat.
- **Outside the repository:** M2c-dev (D-022, done), M2c-pi needs none: it writes the `infra/pi/` compose project and the owner runs it on the Pi (D-100, revises D-023; D-125); M8 (dev server on the Mac), M10 and M11 (production) need the owner's allowance in the notes.