← back to index

U19 — Medium batch (4 wins bundled)PROD

Karou's pick after U18: "lets do all small/cleanup first, then medium, then larger". U19 is the medium wave. Kick auditing now records the kicker + kicked terminal whenever POS unlocks rotate the sid; Starter in-app workspace gets a kick banner so phone-vs-tablet handoff is legible; Starter listProductsForPos finally aggregates by template so multi-variant Starter products render as 1 tile + picker; admin override warning surfaces blast radius when editing a global default extra price.

Summary

Status
5/5 prod · 51/51 regression = 56/56 · shipped
Commit
nix-cafe 6f1acbe
Files
11 modified + 1 new · ~440 LOC net · no migration

What ships

5/5 prod checks

Pre-flight: lumiere owner has POS PIN; pre-clean state
Load-bearing: Two-terminal manager unlock → pos.kicked audit row written in cafe.audit_log with kickedActorKind="user" + priorSid populated + resource_id matches the register
Override-count correlated subquery returns 2 for a value with 2 template overrides (full SQL shape matches the DAO; proves Hyperdrive doesn't poison the count)
No HTTP 5xx during the flow
Cleanup: close test sessions + zero owner POS sid + delete seeds

Gate 1 (9/9) covered the rendering chain end-to-end (DAO → page → dialog source contracts + 3 DAO probes). Gate 2 focused on the load-bearing prod-side assertions: real audit row on a real kick + real subquery count through Hyperdrive.

Screenshots (click to enlarge)

Mid-Gate-2 finds

Regression sweep — 51/51

5/5 + 51/51 = 56/56 prod tests green on the karouna-dev branch.
test-phase1-prod.mjs11/11
test-phase2-sso-outdoor-prod.mjs6/6
test-m1-prod.mjs10/10
test-r7-prod.mjs14/14
test-r8-prod.mjs4/4
test-phase2-cafe-multishop-prod.mjs6/6
25th validation of feedback_phase2_cafe_multishop_solo_retry.