Vacancy Cutover Parity Checklist
Purpose
Use this checklist before any Vacancy env-only cutover rehearsal or live cutover.
Important interpretation note:
/vacanciesand/vacancies/:idstill carry an explicit compatibility seam- parity should be judged against the current mixed truth, not against an imagined projection-only future state
Public Vacancy Read Checks
GET /vacancies?page=1&pageSize=1- compare old
svc-tendershost vs newsvc-vacancieshost - confirm list payload shape matches
- confirm
meta.projectionHealthymatches - confirm mixed projection + legacy fallback behavior matches current host
Vacancy Detail Checks
GET /vacancies/:idfor a projection-backed vacancy posting idGET /vacancies/:idfor a legacyvacancies-only id if one exists in the environment- confirm
404behavior still matches - confirm summary shape matches current API expectations
Vacancy Application Checks
GET /vacancy-applications/mePOST /vacancy-applicationsPOST /vacancy-applications/:id/withdrawPOST /vacancy-applications/:id/shortlistPOST /vacancy-applications/:id/rejectPOST /vacancy-applications/:id/accept
Check:
- auth success/denial parity
- response shape parity
- status code parity
Owner / Internal Read Checks
GET /owner/vacancy-postingsGET /owner/vacancy-postings/:idGET /owner/vacancy-applicationsGET /owner/vacancy-applications/:idGET /vacancy-postings/:id/applications
Check:
- auth parity
- owner scoping parity
- not-found parity
- application list parity
Auth-Protected Mutation Checks
POST /vacancy-postingsPATCH /vacancy-postings/:idPOST /vacancy-postings/:id/publishPOST /vacancy-postings/:id/closePOST /vacancy-postings/:id/reopen
Check both:
- missing-token denial path
- authenticated happy-path if a stable fixture exists
Env-Cutover Checks
- API in fallback mode without
VACANCIES_SERVICE_URL - API in extracted mode with
VACANCIES_SERVICE_URL=http://localhost:4023 - route shape unchanged through gateway
- upstream service target only changes by env
Rollback Checks
- unset
VACANCIES_SERVICE_URLor point it back toTENDERS_SERVICE_URL - restart only the API gateway
- confirm vacancy route family returns to old host behavior
Public-Read Compatibility Interpretation
Do not flag the following as cutover drift by itself:
- public vacancy list/detail still drawing from legacy
vacancieswhen no projection-backed posting exists
Do flag as drift:
- different fallback behavior between old and new hosts
- different response shape for the same mixed-truth route
- different auth/status behavior