Accommodation Runtime Bootstrap
Purpose
This document records the first real copy-first accommodation runtime/bootstrap created in Sprint 60.
It started as a coexistence runtime, became the active primary host after the Sprint 62 env-only cutover, and now remains the sole accommodation route host after the Sprint 65 legacy-host retirement cut.
New runtime location
New runtime:
Primary bootstrap entry:
Runtime shell files:
services/svc-accommodations/src/config.tsservices/svc-accommodations/src/db.tsservices/svc-accommodations/src/auth.tsservices/svc-accommodations/src/http/authTypes.tsservices/svc-accommodations/package.jsonservices/svc-accommodations/tsconfig.json
What files were copied
Copied accommodation-owned runtime files:
services/svc-accommodations/src/accommodation/contracts.tsservices/svc-accommodations/src/accommodation/validation.tsservices/svc-accommodations/src/accommodation/domain.tsservices/svc-accommodations/src/accommodation/projections.tsservices/svc-accommodations/src/accommodation/commandHandlers.tsservices/svc-accommodations/src/accommodation/readModel.tsservices/svc-accommodations/src/accommodation/ownerReadRepository.tsservices/svc-accommodations/src/accommodation/quote.tsservices/svc-accommodations/src/routes/registerAccommodationRoutes.tsservices/svc-accommodations/src/routes/support/accommodationRouteSupport.tsservices/svc-accommodations/src/routes/support/detailExtractionSupport.ts
Small additional runtime files added because the copied accommodation slice needed them:
- local config loader
- local DB pool bootstrap
- local auth ingress adapter
- local auth request types
What remains shared
Shared on purpose:
- gateway proxy routes in
services/api services/api/src/routes/accommodationsServiceTarget.ts- shared
/auth/meprincipal resolution contract - shared bearer/JWT ingress semantics
These stayed shared so gateway route shape and auth behavior remain unchanged.
What still remains old-host-only
Old-host-only residue that still remains outside svc-accommodations:
services/svc-tenders/src/accommodation/compatibilityReadRepository.ts- root accommodation compatibility hosting in
services/svc-tenders/src/repository.ts - mixed/legacy accommodation migrations still hosted only in
services/svc-tenders/migrations
Reason:
- they are compatibility residue or unresolved migration ownership rather than clean move-first runtime truth
Env handling
Runtime env contract:
PORTAUTH_SERVICE_URLDATABASE_URLJWT_SECRET
Dev loading behavior:
- load local/runtime
.envfiles if present - otherwise reuse the existing dev
DATABASE_URLandJWT_SECRETfromsvc-tenders/svc-authenv files without inheriting sibling servicePORT
Coexistence / rollback notes
Current coexistence model:
svc-accommodationsis the active primary runtime- gateway seam stays
ACCOMMODATIONS_SERVICE_URL ?? TENDERS_SERVICE_URL - old
svc-tendersaccommodation route hosting is retired
Rollback to the old route host is no longer available.
Dev entry points added
Added root scripts:
npm run dev:accommodations
Port-cleanup awareness updated:
- root
dev:ports:freenow includes4022 scripts/dev-bootstrap.jsdev-port cleanup now includes4022