2026-04-24 on prod. Three small wins shipped together: settings sidebar
discoverability for the three built sub-pages, a Render/knex divergence
guard so cafe.user_pos_access can't permanently resurrect,
and a sunset README on the NIX Cash Chrome extension pointing operators at
the native R1.7 / R1.8 / NIX-OS-70 replacements.
cafe.user_pos_access is gone after the
push (the divergence guard ran cleanly via node migrate.js).
SSO login → /cafe/settings renders the new nav →
Customer Display row has the right href → clicking each of the three
wired links lands on the correct sub-page and the sub-page renders. No
5xx during the flow.
r1-1 "Inactive chip" UI race fix (passed on its own this run
but the underlying race is still real),
AGENTS.md note about local stale-dev-server bypass routes,
and updates to stale R1 tests (r1-2, r1-3,
r1-3-1) so the full regression suite turns green again.
| test-nix-os-68a-prod.mjs — NIX-OS-68A Polish bucket Tier A (new) | 8/8 |
| test-phase1-prod.mjs — SSO smoke + route auth | 11/11 |
| test-phase2-sso-outdoor-prod.mjs — Outdoor SSO bridge | 6/6 |
| test-phase2-cafe-multishop-prod.mjs — Cafe multi-shop | 6/6 |
| test-m1-prod.mjs — Dashboard/Orders/Reports shop scoping | 10/10 |
| test-r1-1-cashiers-prod.mjs — R1.1 cashier admin | 9/9 |
| test-r1-4-drafts-prod.mjs — R1.4 drafts (after 1 retry) | 9/9 |
| test-r1-9-daily-report-prod.mjs — NIX-OS-72 Daily Sale Report | 11/11 |
| test-nix-os-69-1-prod.mjs — NIX-OS-69.1 Kitchen foundation | 10/10 |
| test-nix-os-69-2-prod.mjs — NIX-OS-69.2 Kitchen Display | 11/11 |
| test-nix-os-70-prod.mjs — NIX-OS-70 Personalize Customer Display | 10/10 |
| test-r1-10-cash-movements-prod.mjs — R1 cash (transient — 503 /cafe/team) | 10/12 |
| test-r1-11-telegram-events-prod.mjs — R1 telegram (transient — shift-open flake) | 8/11 |
HTTP 503 GET /cafe/team — Worker rate-limited from the
parallel test traffic across 13 prior suites; the 12-check version passed
earlier today on the 70 Gate 2. r1-11's 3 failures are the same shift-open
flake we've hit consistently (cashier seed + open + ring race against
Odoo's RPC throughput). Neither is a 68A regression — 68A.1 only
touches settings nav rendering, 68A.2 is a no-op DB drop, 68A.3 is a
docs-only commit.
3c4c4db — orphan
20260419100003_create_cafe_user_pos_access.ts deleted +
migrate.js idempotent re-drop entry. Verified on prod:
= cafe.user_pos_access already absent.1d19a60 — auto-deployed.
app/(authed)/settings/page.tsx SettingsLink now accepts
an href; three rows wired
(/settings/payment-methods,
/settings/payment-diff-reasons,
/settings/display). Unbuilt placeholders stay
disabled-styled.a0a1a62 on
main — README prepended with a DEPRECATED block +
capability-mapping table to R1.7 / R1.8 / NIX-OS-70 native
replacements. Code unchanged so vanilla-Odoo cafes can keep using it.