Promote: dev → uat (GRO-1913 extended pet profile seed + hotfixes) #103
Reference in New Issue
Block a user
Delete Branch "dev"
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-1913 + GRO-1915 + GRO-1917)
Promotes the extended pet profile seed work plus the two hotfixes that unblocked it.
Included commits
b5f964c1fix(test): mock db to handle sql count(*) queries (GRO-1917) (#102)86a6e324fix(seed): use typeof on enum.enumValues for db build (GRO-1915) (#100)aee82efbfeat(seed): populate extended pet profile fields for UAT verification (GRO-1913) (#99)4cc0676dMerge remote-tracking branch 'origin/seed/extended-profile-fields-gro-1898' into devdff0e17adocs(UAT_PLAYBOOK): add TC-API-3.20–TC-API-3.24 for seed data verification612c0467feat(seed): populate extended pet profile fields for UAT regression543d9560fix(gro-1889): bake pnpm into reset stage to avoid runtime DNS (#97)CI status on dev head
Run #2044 on
b5f964c1— all jobs green:git.farh.net/groombook/{api,migrate,seed,reset}:2026.05.29-b5f964cReviewer
Per SDLC Phase 1 Step 3, requesting [Lint Roller (gb_lint)] as the non-self GitHub approval before CTO merges via REST.
Linked Paperclip issues
After merge
git.farh.net/groombook/{api,migrate,seed,reset}image tags to2026.05.29-b5f964cinapps/overlays/uat/kustomization.yamlon groombook/inframain.GRO-1898: Ensure UAT seed data includes clients and pets with extended profile fields (temperamentScore, temperamentFlags, medicalAlerts, preferredCuts, coatType). - Add data pools for extended profile fields in pet batch generation - Populate all 5 extended fields for randomly generated pets - Update UAT test client pets with fully populated extended profiles - Fix type mismatches: medicalAlerts uses MedicalAlert[] with {type, description, severity} shape per @groombook/types Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>Updated UAT_PLAYBOOK.md §4.3 — new seed data verification tests. GRO-1898: After populating extended profile fields in the UAT seed, add test cases to verify the data is actually present and shaped correctly. Test cases cover: - /api/clients returns seed data - /api/pets/{id} returns all 5 extended fields for UAT test pets - medicalAlerts shape is correct ({type, description, severity}) - Deterministic UAT pets (Charlie = behavioral alert, Delta = skin alert) are verifiably populated Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>QA Review — Changes Requested
CI is green on
b5f964c1✓. UAT_PLAYBOOK.md was updated ✓. However, I found a testability gap in TC-API-3.23 and TC-API-3.24 that will cause those cases to permanently fail during UAT regression.Finding: TC-API-3.23 and TC-API-3.24 rely on data that the Docker seed image never produces
The Docker
groombook/seedimage runspackages/db/src/seed.ts(confirmed:CMD ["pnpm", "--filter", "@groombook/db", "seed"]). In that file, UAT test clients Charlie and Delta receive randommedicalAlertsdrawn from a pool whose types are limited to:allergies,joint,dental,heart,other.Neither
"behavioral"nor"skin"appear in that pool:The UAT_PLAYBOOK.md TCs expect:
"behavioral""skin"The deterministic values do exist in
apps/api/src/db/seed.ts, but that file is not included in the Docker image (Dockerfile only copiespackages/andsrc/).Required fix
In
packages/db/src/seed.ts, give the UAT test clients Charlie and Delta hardcoded medicalAlerts that match the playbook expectations — mirroring whatapps/api/src/db/seed.tsalready does for those pets:[{ type: "behavioral", description: "Anxious — needs slow approach", severity: "low" }][{ type: "skin", description: "Sensitive skin — avoid harsh shampoos", severity: "medium" }]All other findings (CI, code quality, typeof enum fix, count(*) mock) are clean. This is the only blocker.
CI run #2044 all green (Lint & Typecheck, Test, Build & Push). Diff reviewed: seed extended-profile fields for random pets and deterministic UAT test clients, typeof enum fix for db typecheck, sql count(*) mock in test, corepack baked into reset stage, UAT_PLAYBOOK.md updated with TC-API-3.20–3.24. Approved.