Vacancy Parity Verification
This sprint verified parity between:
- legacy Vacancy hosting in
svc-tendersonhttp://localhost:4120
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
This sprint verified parity between:
svc-tenders on http://localhost:4120svc-vacancies on http://localhost:4023http://localhost:4002 without VACANCIES_SERVICE_URLhttp://localhost:4002 with VACANCIES_SERVICE_URL=http://localhost:4023Canonical Vacancy runtime target for extraction cutover remains:
http://localhost:4023Temporary isolated rehearsal ports used in this sprint:
http://localhost:4101http://localhost:4120http://localhost:4002Authenticated fixture used:
POST /api/v1/auth/dev/impersonatekvaratskhelia.ge@gmail.comSample IDs used:
VAC-GE-2026-0000111e35ec4-4818-4741-868b-bb3c64cdd9f2Direct old-host vs new-host parity:
GET /vacancies?page=1&pageSize=5GET /vacancies/VAC-GE-2026-00001GET /vacancies/11e35ec4-4818-4741-868b-bb3c64cdd9f2GET /owner/vacancy-postingsGET /owner/vacancy-postings/11e35ec4-4818-4741-868b-bb3c64cdd9f2GET /vacancy-applications/meGET /owner/vacancy-applicationsGET /vacancy-postings/11e35ec4-4818-4741-868b-bb3c64cdd9f2/applicationsPOST /vacancy-postings without bearer tokenGateway fallback parity:
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 tokenGateway cutover parity:
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 tokenRollback verification:
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 tokenDirect old-host vs new-host parity verdict:
Gateway fallback verdict:
svc-tenders Vacancy hostingGateway cutover verdict:
svc-vacanciesRollback verdict:
Observed status parity:
200200200200200200200200401Public read parity is confirmed including compatibility-backed public read behavior.
This is intentionally not a claim that public Vacancy discovery is already projection-only or fully cleaned up. It confirms that:
Authenticated happy-path coverage in this sprint:
Authenticated mutation happy-path coverage in this sprint:
That leaves a small residual confidence gap for successful write parity, but not a gateway or auth-shape mismatch.
No parity drift was found in the checked route set.
No mismatch was classified as:
Current public-read compatibility residue remains intentional and unchanged:
GET /vacanciesGET /vacancies/:idThat residue affects architectural cleanliness, not the parity result for this sprint.