Vacancy Code Boundary Hardening
What Was Hardened
Sprint 67 hardened the Vacancy route boundary without changing behavior.
Resolving locale, route permissions, and workspace projection.
النطاق الحالي: ضيف
الفئة: 10_normative | الإصدار: v1.0.0
المالك: DOCUMENT_CUSTODIAN | دورة المراجعة: 90 يومًا
جهة الاعتماد: GOVERNANCE_ADMIN
بوابة الوثائق للقراءة فقط. نقاط نهاية التعديل والتغيير معطلة.
منصة Kvary أُنشئت أصلًا باللغة الجورجية. وحيثما تتوفر نسخة جورجية، تبقى الجورجية هي اللغة المعتمدة لواجهة المنصة والوثائق والتفسير القانوني.
تُوفَّر الترجمات إلى اللغات الأخرى لسهولة الاستخدام فقط. وقد تنشأ بعض السجلات بلغات أخرى وتحمل لغة مصدر أو لغة قانونية خاصة بذلك المسار، ولكن حيثما تتوفر نسخة جورجية تكون الأولوية للنسخة الجورجية في صياغة المنصة وتفسيرها.
البيانات الوصفية غير مكتملة: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
Sprint 67 hardened the Vacancy route boundary without changing behavior.
Added route-facing dependency ports to:
services/svc-tenders/src/vacancy/contracts.tsSpecifically:
VacancyRouteReadRepositoryVacancyRouteCommandHandlersThis means:
registerVacancyRoutes.ts no longer needs to type its dependencies as concrete classesClarified in:
services/svc-tenders/src/routes/registerVacancyRoutes.tsservices/svc-tenders/src/vacancy/readRepository.tsThe code now states more directly that:
vacancies fallback for public compatibilityClarified in:
apps/web/src/portal/api.tsThe code now states more directly that:
VACANCY_CATALOG is UI compatibility onlyClarified in:
services/api/src/routes/vacancies.tsThe code now states more directly that:
Still mixed after this sprint:
GET /vacanciesGET /vacancies/:idVACANCY_CATALOGThose remain mixed because this sprint was a boundary-hardening and decision sprint, not a public-read rewrite.
This sprint did not find a blocker that prevents vacancy runtime/bootstrap prep entirely.
The real blockers are narrower:
vacancies still participates in public readsAfter Sprint 67, the truthful position is: