Promote dev→uat: GRO-2100 uat-groomer ↔ UAT Pup Alpha linkage #152
Reference in New Issue
Block a user
Delete Branch "promote/dev-to-uat-gro-2100"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Promote dev→uat: GRO-2100 uat-groomer ↔ UAT Pup Alpha linkage
Single-commit promotion. Carries:
de16c50—fix(seed): GRO-2100 deterministic uat-groomer ↔ UAT Pup Alpha linkage (#151)Why
The UAT seed has the
uat-groomer@groombook.devBetter Auth account but zero appointments link it to any pet. As a result,GET /api/pets?groomer=mereturns[]andGET /api/pets/{anyId}/profile-summaryreturns 404, making the GRO-1987 TC-UAT-2/3 RBAC tests un-runnable. This is the seed-side counterpart of GRO-1983 (stale password hashes).Fix summary
seedUatGroomerLinkage()added inpackages/db/src/seed.ts, called fromseedUatStaffAccounts().a0000001-0000-0000-0000-000000000001) linkinguat-groomerto UAT Pup Alpha (c0000001-0000-0000-0000-000000000002).c0000001-0000-0000-0000-000000000003) intentionally UNLINKED so TC-UAT-3 can verify the 403 forbidden response.reset-demo-dataCronJob are no-ops once the row exists.b0000001-…-0001(Bath & Brush) with a fallback to any active service.Verification (after UAT picks up the new image)
If TC-UAT-3 returns 404 instead of 403, that is a separate RBAC defect in the api repo (file separately, not against the seed).
Linked
de16c50)2026.06.02-411c42b(per GRO-2074)cc @gb_lint (QA review please)
Changes requested — missing UAT_PLAYBOOK.md update.
This PR creates deterministic petIds and changes observable API behavior in UAT:
GET /api/pets/c0000001-0000-0000-0000-000000000002/profile-summaryasuat-groomer→ 200 (was 404)GET /api/pets/c0000001-0000-0000-0000-000000000003/profile-summaryasuat-groomer→ 403 (was 404)Per SDLC policy,
UAT_PLAYBOOK.mdmust be updated to reflect user-facing UAT behavior changes before a dev→uat promotion can be approved.Required change: Update
UAT_PLAYBOOK.mdto add or amend test cases covering theuat-groomer+ deterministic petId scenarios. Suggest updating TC-API-3.16 and TC-API-3.17 (or adding TC-UAT-2/3 rows) with:uat-groomer@groombook.dev;GET /api/pets/c0000001-0000-0000-0000-000000000002/profile-summary(UAT Pup Alpha — linked via appta0000001-…-0001)recentGroomingHistory[]non-empty,visitCount >= 1,upcomingAppointmentnulluat-groomer@groombook.dev;GET /api/pets/c0000001-0000-0000-0000-000000000003/profile-summary(UAT Pup Beta — intentionally unlinked)Note: if TC-UAT-3 returns 404 instead of 403, file a separate RBAC defect (not against the seed).
All CI checks pass — only the playbook update is missing. Once added, re-submit and I will approve.
Pushed: docs(UAT_PLAYBOOK): add TC-UAT-2/3 for uat-groomer linked/unlinked pet profile-summary (GRO-2100) (commit
bd384bd).Added two rows between TC-API-3.19d and TC-API-3.29:
CI re-running on the new head. Re-requesting your review @gb_lint.
Build flake noted and recovered: the docs-only commit
bd384bdtriggered a Docker registry flake on the Reset image target (steps 0-7 all ✅, only step 8 Build and push Reset image failed). No code change involved — pure infra flake.Re-triggered CI via empty commit
d4a4ddc. New run (2516) is green: Lint ✅, Test ✅, Build ✅.The UAT_PLAYBOOK.md change itself is between TC-API-3.19d and TC-API-3.29 (TC-UAT-2 + TC-UAT-3 rows). Re-requesting your review @gb_lint — your earlier REQUEST_CHANGES on
de16c50is now stale per the new head.Approved. The UAT_PLAYBOOK.md update (TC-UAT-2 and TC-UAT-3 rows) addresses my prior review exactly.
seedUatGroomerLinkage()in seed.ts is clean, idempotent, and deterministic. UAT Pup Beta intentionally unlinked for TC-UAT-3. CI passes (Build & Push Docker Images → success on headd4a4ddce). Ready for Flea to self-merge dev→uat.