← All tests

Loyalty P4 + P5 — prod promote PROD

The scheduled staging → main promote of the loyalty stack that was parked on staging, plus the admin shop-user branch-assign fix. All slices were Gate-2’d on *.staging.nixtech.app before this promote (see the matching STAGING cards). Deployed 2026-07-08 (00:00 KR).

What shipped tonight — nix-cafe staging→main (cb86124 + ece1508 + da640dd + f8cd4e7 + 1efb1df), nix-loyalty-backend Fly deploy (P5 + 1255c89 + 12ac8a1) with migrations 0004 + 0005 applied schema-first via Fly release_command, and nix-outdoor-sales-backend staging→main (admin fix 0ccbfc1) on Render. Real Claude-vision OCR key set on prod Fly.

P4 — Reward Shop admin tab da640dd

Points-redemption catalog CRUD (3rd tab under Reward Settings), mapping reward types → point prices.

P4 — Reward Shop un-gated for points-only tenants f8cd4e7

Reward Shop + reward types show for points-only (non-spin) tenants; only the spin Reward Pool stays gated.

P5 — Food Delivery Apps POS register ece1508

Delivery-orders list (status filter all/ingested/claimed/voided) + Void, wired to the loyalty backend /admin/delivery-orders. Migration 0004 delivery_order.

P5 — Food Delivery Settings: NIX menu-code map cb86124 · 12ac8a1

Register|Settings toggle; Settings = NIX:101–999 → product map. Ingest resolves each line’s NIX:xxx tag → product and honors per-product spin eligibility (disabled item earns 0 delivery spins). Migration 0005 delivery_menu_map.

Admin — shop-user branch-assign 500 fix 0ccbfc1

Cpanel shop-user assign wrote an admin INTEGER id into the uuid assigned_by FK → 500. Fixed (write null). Code-only, no migration. First fix through the new dev→staging→main pipeline.

Gate 2 (prod) & regression

loyalty backend deploy: release_command applied 0004 + 0005 schema-first · /health ok · delivery tables serve (menu-map + orders 200)
nix-cafe main deploy landed (CF Worker 53532d25, today) · new loyalty UI live (menu-map editor present)
outdoor-backend main deploy (Render) · 0ccbfc1 · api.nixtech.app/health ok
loyalty settings render on demo — Reward Shop tab · Food Delivery › Settings (screenshots below)
full narongix regression sweep 51/51 (phase1 11 · sso-outdoor 6 · m1 10 · r7 14 · r8 4 · multishop 6) — pre-promote baseline also 51/51

Prod screenshots

Reward Shop admin tab (prod)
Reward Settings › Reward Shop — points-redemption catalog (prod)
Food Delivery Settings menu-map (prod)
Food Delivery › Settings — NIX menu-code map (prod)

Staging evidence: test-loyalty-delivery-settings-staging.mjs 11/11 · test-loyalty-delivery-menumap-select-staging.mjs 11/11 (real-product dropdown + eligibility) · staging smoke 5/5. Promote runbook: promote-runbook-2026-07-07.md.