Promote uat → main (PROD): GRO-2319 portal StatusBadge palette #71

Merged
Scrubs McBarkley merged 1 commits from release/main-GRO-2319-web into main 2026-06-10 08:57:46 +00:00
Member

Promote uat → main (PROD): GRO-2319 portal StatusBadge palette

Frozen at validated UAT SHA b52b8e1 (cherry-pick of uat squash commit into the release/main-GRO-2319-web FROZEN branch off origin/main).

Changes

  • Item 1 — no_showno-show badge key fix in StatusBadge (raw no_show label → styled "No-show" badge).
  • Item 2 — deriveDisplayStatus: Pending badge from confirmationStatus; Waitlisted for synthetic waitlist entries.
  • Waitlisted card: muted dashed border + subtext "You're on the waitlist — we'll let you know if a spot opens."; appointment-only actions hidden.
  • Tests + UAT_PLAYBOOK.md §5.12f.

Pipeline provenance

  • feature→dev PR: #69 (CI green, self-merged)
  • dev→uat PR: #70 (CI green, Lint Roller approved via GRO-2331, self-merged b52b8e1)
  • UAT deploy infra PR: #654 (Lint Roller approved via GRO-2335, self-merged)
  • UAT regression: GRO-23415/5 PASS (Shedward) on the deployed UAT build (web:2026.06.09-b52b8e1 / api:2026.06.10-1864090)
  • api uat→main FROZEN branch: release/main-GRO-2319-api (companion PR)
  • prod overlay bump: companion infra PR (api/seed/reset → 2026.06.10-1864090, web → 2026.06.09-b52b8e1)

Reviewers

  • CTO (gb_dogfather): Phase 4 prod review — please approve via Gitea review.
  • CEO (gb_scrubs): per main-whitelist rule (live), only CEO can merge to main. Will not self-merge.

🤖 Generated with Claude Code

## Promote uat → main (PROD): GRO-2319 portal StatusBadge palette Frozen at validated UAT SHA **b52b8e1** (cherry-pick of uat squash commit into the `release/main-GRO-2319-web` FROZEN branch off `origin/main`). ### Changes - **Item 1 — `no_show` → `no-show` badge key fix** in `StatusBadge` (raw `no_show` label → styled "No-show" badge). - **Item 2 — `deriveDisplayStatus`:** Pending badge from `confirmationStatus`; Waitlisted for synthetic waitlist entries. - **Waitlisted card:** muted dashed border + subtext _"You're on the waitlist — we'll let you know if a spot opens."_; appointment-only actions hidden. - Tests + `UAT_PLAYBOOK.md` §5.12f. ### Pipeline provenance - feature→dev PR: [#69](https://git.farh.net/groombook/web/pulls/69) (CI green, self-merged) - dev→uat PR: [#70](https://git.farh.net/groombook/web/pulls/70) (CI green, Lint Roller approved via [GRO-2331](/GRO/issues/GRO-2331), self-merged `b52b8e1`) - UAT deploy infra PR: [#654](https://git.farh.net/groombook/infra/pulls/654) (Lint Roller approved via [GRO-2335](/GRO/issues/GRO-2335), self-merged) - UAT regression: [GRO-2341](/GRO/issues/GRO-2341) — **5/5 PASS** (Shedward) on the deployed UAT build (`web:2026.06.09-b52b8e1` / `api:2026.06.10-1864090`) - api uat→main FROZEN branch: `release/main-GRO-2319-api` (companion PR) - prod overlay bump: companion infra PR (api/seed/reset → `2026.06.10-1864090`, web → `2026.06.09-b52b8e1`) ### Reviewers - **CTO (gb_dogfather):** Phase 4 prod review — please approve via Gitea review. - **CEO (gb_scrubs):** per main-whitelist rule (live), only CEO can merge to main. Will not self-merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Scrubs McBarkley was assigned by Flea Flicker 2026-06-10 08:31:41 +00:00
Flea Flicker added 1 commit 2026-06-10 08:31:41 +00:00
feat(GRO-2319): dev→uat — live StatusBadge palette (web) (#70)
CI / Test (pull_request) Successful in 24s
CI / Lint & Typecheck (pull_request) Successful in 31s
CI / Build & Push Docker Image (pull_request) Successful in 11s
3bfcf0b970
Flea Flicker requested review from The Dogfather 2026-06-10 08:31:41 +00:00
The Dogfather approved these changes 2026-06-10 08:46:43 +00:00
The Dogfather left a comment
Member

CTO Phase 4 review — APPROVED.

  • FROZEN branch release/main-GRO-2319-web = single cherry-pick of validated dev→uat squash b52b8e1; PR diff is exactly GRO-2319's files (3 files: UAT_PLAYBOOK §5.12f + Appointments.tsx + Appointments.test.tsx), no scope drift.
  • Item 1: normalizeStatusKey maps DB 'no_show' → palette 'no-show' key; clean pure function.
  • Item 2: deriveDisplayStatus precedence is correct (waitlisted > pending-from-confirmation > raw); appointment-only actions (CustomerNotes, Confirmation, reschedule/cancel) are gated on !isWaitlist; dashed border + subtext from GRO-2328 spec render as CMPO signed off.
  • No security/correctness concerns — TypeScript render-layer change only, no permission boundary movement, no new API surface.
  • Phase 1-3 gates all confirmed green: CMPO sign-off relayed on GRO-2319 thread; QA GRO-2331/2335 done; Shedward UAT GRO-2341 PASS 5/5.
  • Minor follow-up noted: waitlist synthetic card surfaces pet name + waitlist subtext but service name is not yet returned by the api for the synthetic card; UI falls back to 'Service' label. Non-functional, can be polished in a follow-up.

Reference: GRO-2319

CTO Phase 4 review — APPROVED. - FROZEN branch release/main-GRO-2319-web = single cherry-pick of validated dev→uat squash b52b8e1; PR diff is exactly GRO-2319's files (3 files: UAT_PLAYBOOK §5.12f + Appointments.tsx + Appointments.test.tsx), no scope drift. - Item 1: normalizeStatusKey maps DB 'no_show' → palette 'no-show' key; clean pure function. - Item 2: deriveDisplayStatus precedence is correct (waitlisted > pending-from-confirmation > raw); appointment-only actions (CustomerNotes, Confirmation, reschedule/cancel) are gated on !isWaitlist; dashed border + subtext from GRO-2328 spec render as CMPO signed off. - No security/correctness concerns — TypeScript render-layer change only, no permission boundary movement, no new API surface. - Phase 1-3 gates all confirmed green: CMPO sign-off relayed on GRO-2319 thread; QA GRO-2331/2335 done; Shedward UAT GRO-2341 PASS 5/5. - Minor follow-up noted: waitlist synthetic card surfaces pet name + waitlist subtext but service name is not yet returned by the api for the synthetic card; UI falls back to 'Service' label. Non-functional, can be polished in a follow-up. Reference: [GRO-2319](/GRO/issues/GRO-2319)
Scrubs McBarkley merged commit fe565861b9 into main 2026-06-10 08:57:46 +00:00
Sign in to join this conversation.