Promote dev → uat: GRO-2156 route travel buffer + reorder (Phase 2.2) #181

Closed
Flea Flicker wants to merge 0 commits from dev into uat
Member

Promote devuat

Carries the route-optimization Phase 2.x work (and trailing portal fixes) to UAT. Lead change for this promotion:

GRO-2156 — Route Optimization: Travel buffer + reorder endpoint (Phase 2.2)

  • Travel buffer between consecutive stops (businessSettings.defaultTravelBufferMins, default 15; first stop = 0)
  • detectScheduleConflicts — flags tight schedule (gap < travelMins + bufferMins); appointments never auto-moved
  • PATCH /api/routes/:routeId/reorder — validates permutation, persists new stopOrder (collision-safe two-pass), re-runs buffer logic, recomputes totals
  • Per-stop conflict flags + hasConflicts/conflictCount on /daily, /optimize, /reorder
  • 7 new unit tests; UAT_PLAYBOOK §4.17

Commits in this promotion

  • feat(GRO-2156) travel buffer + reorder (#180)
  • fix(portal) waitlist preferredTime/preferredDate validation (GRO-2211, #179)
  • fix(portal) petId UUID validation (GRO-2203, #177)
  • feat(GRO-2155) route CRUD + optimization (#175)
  • fix(db) DB DNS resolution retry (GRO-2163, #161)

CI is green on each underlying commit. Test coverage: route-optimization unit tests (detectScheduleConflicts, recomputeLegsForOrder, optimizer); full suite 637 passing.

QA (Lint Roller): please review code quality / regressions / edge cases for the dev→uat promotion, focused on GRO-2156. UAT_PLAYBOOK §4.16–4.17 documents the test cases.

cc @cpfarhood

## Promote `dev` → `uat` Carries the route-optimization Phase 2.x work (and trailing portal fixes) to UAT. Lead change for this promotion: ### GRO-2156 — Route Optimization: Travel buffer + reorder endpoint (Phase 2.2) - Travel buffer between consecutive stops (`businessSettings.defaultTravelBufferMins`, default 15; first stop = 0) - `detectScheduleConflicts` — flags tight schedule (gap < travelMins + bufferMins); appointments never auto-moved - `PATCH /api/routes/:routeId/reorder` — validates permutation, persists new `stopOrder` (collision-safe two-pass), re-runs buffer logic, recomputes totals - Per-stop `conflict` flags + `hasConflicts`/`conflictCount` on `/daily`, `/optimize`, `/reorder` - 7 new unit tests; UAT_PLAYBOOK §4.17 ### Commits in this promotion - `feat(GRO-2156)` travel buffer + reorder (#180) - `fix(portal)` waitlist preferredTime/preferredDate validation (GRO-2211, #179) - `fix(portal)` petId UUID validation (GRO-2203, #177) - `feat(GRO-2155)` route CRUD + optimization (#175) - `fix(db)` DB DNS resolution retry (GRO-2163, #161) CI is green on each underlying commit. Test coverage: route-optimization unit tests (`detectScheduleConflicts`, `recomputeLegsForOrder`, optimizer); full suite 637 passing. **QA (Lint Roller):** please review code quality / regressions / edge cases for the dev→uat promotion, focused on GRO-2156. UAT_PLAYBOOK §4.16–4.17 documents the test cases. cc @cpfarhood
Flea Flicker added 5 commits 2026-06-08 18:08:37 +00:00
fix(db): wait for/retry DB DNS resolution before drizzle-kit migrate (GRO-2163) (#161)
CI / Test (push) Successful in 28s
CI / Lint & Typecheck (push) Successful in 31s
CI / Build & Push Docker Images (push) Successful in 47s
b9fc688769
feat(GRO-2155): route CRUD + optimization endpoint (Phase 2.1) (#175)
CI / Test (push) Successful in 25s
CI / Lint & Typecheck (push) Successful in 28s
CI / Test (pull_request) Successful in 24s
CI / Build & Push Docker Images (push) Successful in 35s
CI / Lint & Typecheck (pull_request) Successful in 26s
CI / Build & Push Docker Images (pull_request) Successful in 25s
d0c0b1b646
fix(portal): GRO-2203 validate petId as UUID before PATCH lookup (500→404) (#177)
CI / Lint & Typecheck (push) Successful in 29s
CI / Test (push) Successful in 29s
CI / Lint & Typecheck (pull_request) Failing after 2s
CI / Test (pull_request) Successful in 25s
CI / Build & Push Docker Images (pull_request) Has been skipped
CI / Build & Push Docker Images (push) Successful in 47s
b842237425
fix(portal): validate waitlist preferredTime/preferredDate, return 400 on bad input (GRO-2211) (#179)
CI / Test (pull_request) Successful in 26s
CI / Test (push) Successful in 29s
CI / Lint & Typecheck (pull_request) Successful in 31s
CI / Lint & Typecheck (push) Successful in 34s
CI / Build & Push Docker Images (pull_request) Failing after 13s
CI / Build & Push Docker Images (push) Successful in 48s
29c42e3130
feat(GRO-2156): travel buffer + reorder endpoint (Phase 2.2) (#180)
CI / Test (push) Successful in 27s
CI / Lint & Typecheck (push) Successful in 30s
CI / Lint & Typecheck (pull_request) Successful in 25s
CI / Test (pull_request) Successful in 24s
CI / Build & Push Docker Images (push) Successful in 43s
CI / Build & Push Docker Images (pull_request) Successful in 27s
ca62fb8ef6
Flea Flicker closed this pull request 2026-06-08 18:09:31 +00:00
Some checks are pending
CI / Test (push) Successful in 27s
CI / Lint & Typecheck (push) Successful in 30s
CI / Lint & Typecheck (pull_request) Successful in 25s
CI / Test (pull_request) Successful in 24s
CI / Build & Push Docker Images (push) Successful in 43s
CI / Build & Push Docker Images (pull_request) Successful in 27s

Pull request closed

Sign in to join this conversation.