2025-12-12 - 2026-06-12

Overview

185 Active Pull Requests
3 Active Issues
Excluding merges, 5 authors have pushed 14 commits to main and 306 commits to all branches. On main, 127 files have changed and there have been 33896 additions and 42 deletions.

185 Pull requests merged by 5 users

Merged #215 docs: add AGENTS.md and CONTRIBUTING.md (GRO-2381) 2026-06-12 17:00:41 +00:00

Merged #214 Promote uat → main (PROD): GRO-2359 OOBE portal-creation routing (api) 2026-06-12 16:47:31 +00:00

Merged #213 Promote dev → uat: GRO-2359 clients-from-auth endpoint 2026-06-11 16:44:52 +00:00

Merged #212 feat(GRO-2359): add POST /api/portal/clients-from-auth for OOBE 2026-06-11 16:34:34 +00:00

Merged #211 uat→main (PROD): GRO-2342 portal waitlist service {id, name} (frozen @47e2021 + cherry-pick c737bfe) 2026-06-11 08:33:53 +00:00

Merged #209 Promote dev → uat: GRO-2342 portal waitlist service {id, name} 2026-06-10 09:24:54 +00:00

Merged #208 fix(GRO-2342): portal waitlist card populates service {id, name} 2026-06-10 09:13:55 +00:00

Merged #207 Promote uat → main (PROD): GRO-2319 portal waitlist surfacing + seed 2026-06-10 08:58:26 +00:00

Merged #206 uat→main (PROD): GRO-2311 seed portal StatusBadge appointments (frozen @df5e768) 2026-06-09 11:18:04 +00:00

Merged #205 feat(GRO-2319): dev→uat — portal waitlist surfacing + seed (api) 2026-06-09 11:04:16 +00:00

Merged #203 uat→main (PROD): GRO-2172 pet extended-field schema fix (frozen @c4385617) 2026-06-09 10:52:37 +00:00

Merged #204 feat(GRO-2319): surface active waitlist entries on portal appointments + seed 2026-06-09 10:41:09 +00:00

Merged #202 dev → uat: GRO-2311 seed portal StatusBadge appointments (#201) 2026-06-09 09:56:34 +00:00

Merged #201 feat(seed): seed upcoming appointments across statuses for UAT portal customer (GRO-2311) 2026-06-09 09:53:05 +00:00

Merged #200 dev → uat: GRO-2172 extended pet fields 2026-06-09 09:22:13 +00:00

Merged #199 GRO-2172: add missing extended pet fields to create/update schemas 2026-06-09 08:56:23 +00:00

Merged #160 fix(GRO-2139): serialize the entire reset→migrate→seed chain under the seed advisory lock 2026-06-09 08:44:58 +00:00

Merged #198 uat → main: GRO-2299 redact googleMapsApiKey from PATCH /api/admin/settings 2026-06-09 07:49:49 +00:00

Merged #197 uat→main (PROD): GRO-2294 Route Optimization security hardening (frozen @2566fb8) 2026-06-09 07:38:02 +00:00

Merged #196 dev → uat: GRO-2299 redact googleMapsApiKey from PATCH /api/admin/settings 2026-06-09 06:58:39 +00:00

Merged #195 fix(GRO-2299): redact googleMapsApiKey from PATCH /api/admin/settings response 2026-06-09 06:52:49 +00:00

Merged #194 Promote GRO-2294 to UAT: Route Optimization security hardening 2026-06-09 06:27:18 +00:00

Merged #193 GRO-2294: Route Optimization security hardening (geocode-batch limit cap + redact settings secret) 2026-06-09 06:17:42 +00:00

Merged #192 uat→main (PROD): GRO-2157 nav export + GRO-2225/2235 (frozen @4868f18) 2026-06-09 01:23:06 +00:00

Merged #191 uat→main (PROD): GRO-2234 portal session fix + validated batch 2026-06-09 00:37:36 +00:00

Merged #188 Promote dev→uat: GRO-2225 + GRO-2235 + GRO-2157 (atomic) 2026-06-09 00:26:19 +00:00

Merged #190 feat(GRO-2157): navigation export endpoints (Phase 2.3) 2026-06-09 00:16:42 +00:00

Merged #189 fix(GRO-2235): return 409 on duplicate portal waitlist submit 2026-06-08 23:50:22 +00:00

Merged #186 promote(uat→main FROZEN @6120b96): + GRO-2156 route buffer/reorder (supersedes #185) 2026-06-08 23:29:59 +00:00

Merged #187 feat(GRO-2225): UAT seed route cohort + receptionist credential 2026-06-08 23:15:51 +00:00

Merged #182 Promote dev → uat: GRO-2155/2156/2203/2211/2163 + GRO-2234 (cumulative batch) 2026-06-08 19:42:26 +00:00

Merged #183 fix(GRO-2234): bounded sliding expiration for SSO portal sessions 2026-06-08 18:55:43 +00:00

Merged #180 feat(GRO-2156): travel buffer + reorder endpoint (Phase 2.2) 2026-06-08 18:07:55 +00:00

Merged #178 dev → uat: GRO-2203 portal pet PATCH malformed-petId 500→404 2026-06-08 17:53:02 +00:00

Merged #179 fix(portal): validate waitlist preferredTime/preferredDate, return 400 on bad input (GRO-2211) 2026-06-08 17:19:40 +00:00

Merged #177 fix(portal): GRO-2203 validate petId as UUID before PATCH lookup (500→404) 2026-06-08 17:03:45 +00:00

Merged #176 dev → uat: GRO-2155 route optimization endpoints (carries GRO-2163) 2026-06-08 16:45:44 +00:00

Merged #175 feat(GRO-2155): route CRUD + optimization endpoint (Phase 2.1) 2026-06-08 13:57:08 +00:00

Merged #161 fix(db): wait for/retry DB DNS resolution before drizzle-kit migrate (GRO-2163) 2026-06-08 13:37:30 +00:00

Merged #174 uat → main: portal pet PATCH + photoKey S3 key-hijack fix (GRO-2187) 2026-06-08 13:25:47 +00:00

Merged #173 dev → uat: portal photoKey S3 key-hijack fix (GRO-2187/GRO-2198) 2026-06-08 12:39:52 +00:00

Merged #172 fix(portal): drop writable photoKey from PATCH /portal/pets — S3 key-hijack (GRO-2187/GRO-2198) 2026-06-08 12:39:03 +00:00

Merged #171 dev → uat: GRO-2154 geocoding endpoints (Phase 1.3) 2026-06-08 12:06:44 +00:00

Merged #170 feat(GRO-2154): geocoding endpoints + auto-geocode on client mutations 2026-06-08 11:45:09 +00:00

Merged #169 fix(ci): GRO-2197 api lint/typecheck/test run root scripts (de-false-green) 2026-06-08 11:09:34 +00:00

Merged #168 dev → uat: GRO-2153 abstracted geocoding service 2026-06-08 10:51:18 +00:00

Merged #166 dev → uat: GRO-2187 portal pet PATCH + GET enrichment (carries GRO-2152) 2026-06-08 10:02:17 +00:00

Merged #167 feat(GRO-2153): abstracted geocoding service (Nominatim + Google) 2026-06-08 09:40:53 +00:00

Merged #165 fix(portal): implement PATCH /portal/pets/:petId + enrich GET (GRO-2187, fixes GRO-1480 §5.23) 2026-06-08 08:18:13 +00:00

Merged #164 feat(GRO-2152): route optimization schema migration 2026-06-08 07:55:36 +00:00

Merged #157 promote(uat→main): GRO-2123 seed advisory lock + GRO-2100 uat-groomer linkage ordering 2026-06-04 12:53:07 +00:00

Merged #158 chore: delete stale apps/api/src/db/seed.ts duplicate (GRO-2129) 2026-06-04 12:44:46 +00:00

Merged #156 dev → uat: GRO-2123 seed advisory lock 2026-06-04 11:32:07 +00:00

Merged #155 fix(GRO-2123): serialize seed.ts with Postgres advisory lock 2026-06-04 11:23:41 +00:00

Merged #154 chore(uat): GRO-2100 promote uat-groomer seed-linkage ordering fix to uat 2026-06-02 20:23:55 +00:00

Merged #153 fix(seed): GRO-2100 run uat-groomer linkage AFTER services seed (regression in #151) 2026-06-02 20:11:45 +00:00

Merged #152 Promote dev→uat: GRO-2100 uat-groomer ↔ UAT Pup Alpha linkage 2026-06-02 19:11:46 +00:00

Merged #151 fix(seed): GRO-2100 deterministic uat-groomer ↔ UAT Pup Alpha linkage 2026-06-02 18:09:32 +00:00

Merged #150 promote(uat→main): owner-bypass audit fix (GRO-2062) + services seed-idempotency fix (GRO-2064) 2026-06-02 06:00:03 +00:00

Merged #149 Promote dev→uat: GRO-2033 services_pkey seed fix (fc6c6ef7) 2026-06-02 05:06:35 +00:00

Merged #148 fix(db): make services seed idempotent across resets (GRO-2064, GRO-2033 close-out) 2026-06-02 04:54:34 +00:00

Merged #147 promote(dev→uat): owner-bypass read audit row in GET /pets/:id/profile-summary (GRO-2063) 2026-06-02 04:21:43 +00:00

Merged #146 security(audit): log owner-bypass reads in GET /pets/:id/profile-summary (GRO-2062) 2026-06-02 04:20:23 +00:00

Merged #145 promote(main): GRO-2033 prod migration fix + GRO-2013/2014 + rbac auto-provision (uat→main) 2026-06-02 03:22:22 +00:00

Merged #144 Promote dev→uat: rbac Better-Auth auto-provision (GRO-2052) 2026-06-02 02:42:20 +00:00

Merged #143 fix(rbac): port Better-Auth user auto-provision into legacy ./src tree (GRO-2052) 2026-06-02 02:40:43 +00:00

Merged #142 promote(uat): GRO-2013 owner-bypass + GRO-2033 idempotent migrations (dev→uat) 2026-06-01 20:14:15 +00:00

Merged #139 fix(pets): port owner-bypass into deployed tree (GRO-2013) 2026-06-01 20:06:25 +00:00

Merged #140 fix(db): re-register 0034/0036 schema changes via idempotent 0039/0040 (GRO-2033) 2026-06-01 20:00:41 +00:00

Merged #135 fix(pets): customer can view own pet profile summary (GRO-2013) 2026-06-01 18:40:25 +00:00

Merged #138 promote(uat): GRO-2014 profile-summary error-handling fix (dev→uat) 2026-06-01 18:27:43 +00:00

Merged #137 fix(api): GRO-2014 — profile-summary 500 → 404/401/JSON-500 2026-06-01 18:16:30 +00:00

Merged #136 promote: uat → main — pnpm-offline Docker hardening + accumulated UAT fixes (GRO-1985) 2026-06-01 18:07:31 +00:00

Merged #134 Promote dev → uat: UAT seed-password source-of-truth playbook (GRO-2000) 2026-06-01 17:41:48 +00:00

Merged #132 docs(UAT_PLAYBOOK): document canonical source-of-truth for UAT seed passwords (GRO-2000) 2026-06-01 17:11:13 +00:00

Merged #133 promote(docker): bake pnpm via npm to remove Corepack runtime downloads (GRO-1981) 2026-06-01 16:30:55 +00:00

Merged #129 fix(docker): bake pnpm via npm to remove Corepack runtime downloads (GRO-1981) 2026-06-01 16:24:41 +00:00

Merged #131 promote(db): register extra_large via migration 0038 to UAT (GRO-2004) 2026-06-01 14:52:14 +00:00

Merged #130 fix(db): register extra_large via migration 0038 (GRO-1999) 2026-06-01 14:49:47 +00:00

Merged #127 docs(UAT_PLAYBOOK): add TC-API-3.28 for pet_size_category enum (GRO-1999) 2026-06-01 13:50:17 +00:00

Merged #126 Promote dev→uat: GRO-1982 pet_size_category extra_large enum migration 2026-06-01 12:44:20 +00:00

Merged #125 fix(docker): install pnpm via npm instead of corepack shim (GRO-1983) 2026-06-01 12:38:33 +00:00

Merged #124 fix(db): GRO-1979 add 0037 — register extra_large in pet_size_category enum 2026-06-01 12:28:49 +00:00

Merged #123 Promote dev→uat: restore deterministic TestCooper/TestRocky alerts (GRO-1962) 2026-06-01 00:36:37 +00:00

Merged #122 fix(seed): restore deterministic alerts for TestCooper/TestRocky (GRO-1962) 2026-06-01 00:35:36 +00:00

Merged #121 fix(seed): update credential password on re-run instead of skipping (GRO-1977) 2026-06-01 00:23:54 +00:00

Merged #120 fix(seed): update credential password on existing accounts — not skip (GRO-1977) 2026-06-01 00:08:20 +00:00

Merged #119 Promote dev→uat: add missing coat_type enum values (GRO-1971) 2026-05-31 23:12:58 +00:00

Merged #118 fix: add missing coat_type enum values (GRO-1971) 2026-05-31 23:09:36 +00:00

Merged #117 Promote dev→uat: expand UAT seed to 30+ pets with medicalAlerts 25-35% distribution (GRO-1962) 2026-05-31 22:47:11 +00:00

Merged #115 fix(seed): remove stale uc.petName closure ref, correct medicalAlerts distribution to 30% 2026-05-31 22:14:33 +00:00

Merged #114 GRO-1961: populate extended fields on UAT Pup Alpha/Beta on re-runs 2026-05-31 21:52:07 +00:00

Merged #113 ci: promote dev→uat (GRO-1939 smoke + GRO-1953/1955/1949 seed/db) 2026-05-30 11:16:44 +00:00

Merged #111 ci: add blackhole smoke for migrate image (GRO-1939) 2026-05-30 11:15:57 +00:00

Merged #112 GRO-1955: hotfix seed.ts broken uc reference in random pet batch 2026-05-30 04:42:33 +00:00

Merged #110 fix(db): add missing 'short' value to coat_type enum (GRO-1953) 2026-05-30 04:20:02 +00:00

Merged #109 GRO-1949: add behavioral and skin medicalAlertPool types, deterministic seeding for TestCooper/TestRocky 2026-05-30 04:12:06 +00:00

Merged #108 Promote: dev → uat (GRO-1945 root src/pets visit-count hotfix) 2026-05-30 03:45:39 +00:00

Merged #106 GRO-1921: Fix UAT reset CronJob to seed full UAT profile with extended pet fields 2026-05-30 03:42:44 +00:00

Merged #107 fix(api): repair root src/routes/pets.ts visit-count query (GRO-1945) 2026-05-30 03:24:03 +00:00

Merged #104 fix(seed): add uat-customer client record for SSO bridge UAT (GRO-1935) 2026-05-30 03:10:49 +00:00

Merged #101 fix(docker): bake pnpm into image to avoid runtime corepack downloads (GRO-1909) 2026-05-30 03:05:11 +00:00

Merged #103 Promote: dev → uat (GRO-1913 extended pet profile seed + hotfixes) 2026-05-29 17:30:10 +00:00

Merged #102 fix(test): mock db to handle sql count(*) queries (GRO-1917) 2026-05-29 16:36:41 +00:00

Merged #100 fix(seed): use typeof on enum.enumValues for db build 2026-05-29 15:40:52 +00:00

Merged #99 feat(seed): populate extended pet profile fields for UAT verification 2026-05-29 14:39:06 +00:00

Merged #97 fix(gro-1889): bake pnpm into reset stage to avoid runtime DNS 2026-05-28 22:31:18 +00:00

Merged #96 Promote dev → uat: SSO bridge endpoint + role scope (GRO-1866) 2026-05-28 22:23:33 +00:00

Merged #93 fix(gro-1866): add session-from-auth portal endpoint + role scope 2026-05-28 18:46:44 +00:00

Merged #92 feat(db): add migration 0034 for extended pet profile columns (GRO-1850) 2026-05-28 11:39:52 +00:00

Merged #91 promote: dev → uat (GRO-1790 pet profile summary fixes) 2026-05-26 12:36:07 +00:00

Merged #30 feat(GRO-1177): add pet profile summary endpoint 2026-05-26 11:40:17 +00:00

Merged #89 promote: uat → main (GRO-1757 SSO auto-provision fix) 2026-05-26 02:15:58 +00:00

Merged #86 Promo/Gro 1764 Uat 2026-05-26 00:36:16 +00:00

Merged #87 chore: PR CI build trigger for GRO-1757 image (do not merge) 2026-05-26 00:36:04 +00:00

Merged #85 fix(GRO-1764): change Max coat_type short→smooth in UAT seed 2026-05-25 23:54:37 +00:00

Merged #84 promote: dev → uat (GRO-1757 SSO auto-provision fix) 2026-05-25 23:48:09 +00:00

Merged #83 fix(GRO-1757): auto-provision staff for OIDC users + UAT playbook updates 2026-05-25 23:39:57 +00:00

Merged #82 promote(dev→main): GRO-1752 schema fix for UAT (CI trigger) 2026-05-25 23:28:27 +00:00

Merged #81 chore: trigger CI from uat for GRO-1754 2026-05-25 23:23:15 +00:00

Merged #80 chore: trigger CI for GRO-1754 2026-05-25 23:16:05 +00:00

Merged #79 promote(dev→uat): add missing extended pet profile fields (GRO-1752) 2026-05-25 19:08:14 +00:00

Merged #78 fix(db): add missing extended pet profile fields to buildPet factory 2026-05-25 18:57:45 +00:00

Merged #73 fix(schema): add missing extended pet profile fields to packages/db 2026-05-25 18:20:57 +00:00

Merged #72 chore: promote dev → uat (GRO-1749 seed data sync) 2026-05-25 18:02:31 +00:00

Merged #71 fix(gro-1749): sync UAT seed data to root src and fix route path 2026-05-25 17:45:57 +00:00

Merged #70 chore: promote dev → uat (GRO-1743 seed data) 2026-05-25 15:37:39 +00:00

Merged #69 feat(gro-1743): add UAT customer and pets to admin seed endpoint 2026-05-25 15:37:11 +00:00

Merged #67 chore: promote dev → uat (GRO-1678 TCP resilience + backlog fixes) 2026-05-24 23:49:12 +00:00

Merged #66 fix(api): add timeouts for OIDC discovery fetch and DB connection 2026-05-24 20:11:44 +00:00

Merged #35 fix(GRO-1441): remove duplicate coatType/petSizeCategory from buildPet 2026-05-23 18:31:01 +00:00

Merged #60 fix(GRO-1544): restore /health alongside /api/health endpoint 2026-05-23 18:30:57 +00:00

Merged #65 Promote dev → uat: provenance: false CI fix 2026-05-23 01:41:00 +00:00

Merged #64 fix(GRO-1576): add provenance: false to all build-push-action steps 2026-05-23 01:40:08 +00:00

Merged #62 Promote dev to UAT: GRO-1566 auth bypass fix 2026-05-22 22:39:58 +00:00

Merged #61 fix(GRO-1566): bypass auth for /api/health endpoint on UAT 2026-05-22 22:39:41 +00:00

Merged #59 chore: promote dev → uat (GRO-1544 health endpoint fix) 2026-05-22 21:50:14 +00:00

Merged #52 fix(GRO-1544): register health endpoint at /api/health not /health 2026-05-22 21:49:56 +00:00

Merged #58 promote: dev → uat (migration 0031 fix, GRO-1533) 2026-05-22 15:22:25 +00:00

Merged #57 fix(GRO-1533): fix migration 0031 for empty databases 2026-05-22 15:20:51 +00:00

Merged #56 chore: promote dev → uat (GRO-1533 migration fix) 2026-05-22 14:39:42 +00:00

Merged #55 fix(GRO-1533): add missing 0032_staff_read_at.sql migration file 2026-05-22 14:38:35 +00:00

Merged #54 chore: promote dev → uat (GRO-1533 migration fix) 2026-05-22 14:09:57 +00:00

Merged #53 fix(GRO-1533): add missing default_buffer_minutes migration 2026-05-22 14:08:55 +00:00

Merged #46 promote: uat → main (GRO-1509 OIDC accountLinking fix) 2026-05-22 14:03:44 +00:00

Merged #51 promote: dev → uat (revert Dockerfile + GRO-1533 CI fix) 2026-05-22 13:32:49 +00:00

Merged #50 revert: undo PR #47 Dockerfile apps/api switch (broke CI Docker build) 2026-05-22 13:31:12 +00:00

Merged #49 promote: dev → uat (GRO-1533 Dockerfile fix) 2026-05-22 13:24:33 +00:00

Merged #47 fix(GRO-1533): revert Dockerfile to build from apps/api/src/ 2026-05-22 13:23:49 +00:00

Merged #48 promote: dev → uat (pnpm-lock.yaml fix + CI/enum fixes + seed Docker fix) 2026-05-22 13:18:13 +00:00

Merged #45 fix(seed): use --filter @groombook/db for seed/migrate/reset scripts 2026-05-22 13:17:10 +00:00

Merged #44 fix(ci): build all service images + upgrade Node 22 + pin packageManager (GRO-1522) 2026-05-22 02:58:31 +00:00

Merged #43 promote: dev → uat (GRO-1509 OIDC account_not_linked fix) 2026-05-21 22:53:50 +00:00

Merged #42 fix(auth): add accountLinking trustedProviders for authentik (GRO-1509) 2026-05-21 22:47:26 +00:00

Merged #40 fix(GRO-1470): add portal PATCH /pets/:id + expand GET /pets response 2026-05-21 20:16:53 +00:00

Merged #39 Promote dev → uat: GRO-1178 enhanced pet profile editor 2026-05-21 19:19:11 +00:00

Merged #21 GRO-1178: client-facing enhanced pet profile editor 2026-05-21 19:18:53 +00:00

Merged #38 chore: promote dev → uat (GRO-1463 UAT playbook expansion) 2026-05-21 16:49:18 +00:00

Merged #37 fix(GRO-1461): expand UAT playbook with GRO-1272 auto-provision test cases 2026-05-21 16:48:58 +00:00

Merged #36 promote: dev → uat (GRO-1272 auto-provision staff on OIDC login) 2026-05-21 14:17:41 +00:00

Merged #19 fix(GRO-1272): auto-provision staff record on first OIDC login 2026-05-21 14:16:42 +00:00

Merged #34 chore(promote): dev → uat (Buffer Rules CRUD — GRO-1171) 2026-05-21 10:18:11 +00:00

Merged #12 [gro-1171] Admin API — Buffer Rules CRUD 2026-05-21 10:17:34 +00:00

Merged #33 chore(promote): dev → uat (petsExtendedFields test fix GRO-1390) 2026-05-21 07:03:24 +00:00

Merged #32 fix(test): resolve petsExtendedFields vi.mock hoisting + invalid UUIDs (GRO-1390) 2026-05-21 07:02:59 +00:00

Merged #31 promote: dev → uat (GRO-1395 drizzle-orm root dep fix) 2026-05-21 04:11:30 +00:00

Merged #29 fix(GRO-1395): add drizzle-orm and postgres to root package.json 2026-05-21 04:05:33 +00:00

Merged #24 fix(ci): use REGISTRY_TOKEN for Docker push auth 2026-05-21 01:26:30 +00:00

Merged #26 promote: dev → uat (Renovate config, GRO-1081) 2026-05-20 12:37:23 +00:00

Merged #17 chore: add Renovate config (GRO-1081) 2026-05-20 12:37:09 +00:00

Merged #25 Promote dev → uat: GRO-1326 UAT email+password credentials 2026-05-20 04:25:29 +00:00

Merged #23 GRO-1326: Extend seed.ts — UAT email+password credentials 2026-05-20 04:24:21 +00:00

Merged #22 chore: migrate .github/workflows to .gitea/workflows 2026-05-20 01:34:04 +00:00

Merged #10 feat(api): add extended pet profile fields — schema, migration, CRUD, Zod validation 2026-05-19 23:42:33 +00:00

Merged #16 fix(gro-1261): correct infra paths in CI Update Infra Image Tags job 2026-05-14 17:29:06 +00:00

Merged #15 chore: promote dev to uat (GRO-1231 pnpm-workspace fix) 2026-05-14 17:15:53 +00:00

Merged #14 fix(docker): add missing pnpm-workspace.yaml COPY in deps and runner stages (GRO-1231) 2026-05-14 17:10:26 +00:00

Merged #13 promote: dev → uat (rate limit override) 2026-05-14 10:55:45 +00:00

Merged #11 fix(auth): override Better Auth sign-in rate limit defaults 2026-05-14 10:52:31 +00:00

Merged #8 promote: dev → uat (UAT Tester seed fix + TypeScript CI compliance) 2026-05-14 08:07:55 +00:00

Merged #9 fix: resolve pre-existing TypeScript errors for CI compliance 2026-05-14 07:50:29 +00:00

Merged #7 fix(api): add UAT Tester staff creation in seed script 2026-05-12 21:57:44 +00:00

Merged #6 chore: promote dev to uat (PR #5 mock path fix) 2026-05-12 21:34:03 +00:00

Merged #5 fix: correct test mock paths from "./db" to "../db" 2026-05-12 21:33:02 +00:00

Merged #3 docs: add UAT_PLAYBOOK.md for API service 2026-05-11 14:14:31 +00:00

1 Issue closed from 1 user

Closed #20 [GRO-1177] Add pet profile summary endpoint 2026-05-20 00:12:38 +00:00

3 Issues created by 1 user