Vacancy Live Cutover Window
Exact Env Change Used
The live Vacancy cutover changed one API gateway seam only:
- file:
services/api/.env
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 10_normative | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 90 days
Approval authority: GOVERNANCE_ADMIN
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary platform is originally created in Georgian. Where a Georgian version exists, Georgian is authoritative for platform UI, documentation, and legal interpretation.
Translations into other languages are provided for convenience. Some records may originate in other languages and carry their own source or legal locale for a specific flow, but where a Georgian version is available, the Georgian version prevails for platform-level wording and interpretation.
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
The live Vacancy cutover changed one API gateway seam only:
services/api/.envVACANCIES_SERVICE_URL=http://localhost:4020VACANCIES_SERVICE_URL=http://localhost:4023No gateway route paths changed. No auth middleware changed. No old Vacancy hosting was removed.
Canonical extracted Vacancy runtime target:
http://localhost:4023Legacy fallback Vacancy host kept available during the window:
http://localhost:4020svc-auth was available on http://localhost:4100svc-tenders Vacancy hosting was available on http://localhost:4020svc-vacancies was available on http://localhost:4023http://localhost:4001 worked in fallback modeservices/api/.env to set VACANCIES_SERVICE_URL=http://localhost:4023http://localhost:4001Pre-cutover fallback baseline:
GET /api/v1/vacancies?page=1&pageSize=5GET /api/v1/vacancies/VAC-GE-2026-00001GET /api/v1/vacancies/11e35ec4-4818-4741-868b-bb3c64cdd9f2GET /api/v1/owner/vacancy-postingsGET /api/v1/vacancy-applications/mePOST /api/v1/vacancy-postings without bearer tokenPost-cutover live checks:
GET /api/v1/vacancies?page=1&pageSize=5GET /api/v1/vacancies/VAC-GE-2026-00001GET /api/v1/vacancies/11e35ec4-4818-4741-868b-bb3c64cdd9f2GET /api/v1/owner/vacancy-postingsGET /api/v1/owner/vacancy-postings/11e35ec4-4818-4741-868b-bb3c64cdd9f2GET /api/v1/vacancy-applications/meGET /api/v1/owner/vacancy-applicationsGET /api/v1/vacancy-postings/11e35ec4-4818-4741-868b-bb3c64cdd9f2/applicationsPOST /api/v1/vacancy-postings without bearer tokensvc-vacancies on the checked route setImportant compatibility note:
GET /vacancies or GET /vacancies/:id are already projection-only truthvacanciesYes.
The cutover remained in place after the live checks.
Current live Vacancy routing intent after this sprint:
http://localhost:4023svc-tenders Vacancy hosting on http://localhost:4020 remains available only as fallback during this phaseRollback was not needed in this window.
Rollback remains simple:
services/api/.envVACANCIES_SERVICE_URL=http://localhost:4020services/api