2026-04-21. Third cycle of R1 (NIX-OS-67 Phase 3 POS): a new fullscreen route
/cafe/pos/register/[configId] opens in its own tab from the landing. Three-phase state
machine: Locked (PIN keypad) → PreShift (beginning cash count) → Open
(register UI). PIN verified via PBKDF2 hash from R1.1; active cashier rides a signed
nix_active_cashier JWT cookie separate from the web session. New server actions:
unlockRegister, openShift, lockRegister, closeShift.
NIX cafe.sessions rows are created on cash-count confirm and mirror Odoo
pos.session.
get-coffee.nixtech.app. A test cashier was left from R1.1; we'll reset its PIN,
unlock the new-tab shell with it, enter a beginning cash amount, and verify the Register loads.
Loading…
cafe.sessions lifecycle✓ 7 assertionsLoading…
cafe.sessions already landed in R1.2.get-coffee.nixtech.app./cafe/pos → click a register card → new tab opens at /cafe/pos/register/[configId].