Loading module
Resolving locale, route permissions, and workspace projection.
Resolving locale, route permissions, and workspace projection.
Текущая область: Гость
Категория: 10_normative | Версия: v1.0.0
Владелец: DOCUMENT_CUSTODIAN | Цикл пересмотра: 90 дней
Утверждающий орган: GOVERNANCE_ADMIN
Портал документации доступен только для чтения. Редактирование и mutation endpoints отключены.
Платформа Kvary изначально создана на грузинском языке. Там, где существует грузинская версия, именно грузинский язык является авторитетным для UI платформы, документации и юридического толкования.
Переводы на другие языки предоставляются только для удобства. Отдельные записи и flow могут изначально существовать на других языках и иметь собственный source/legal locale, но там, где доступна грузинская версия, для формулировок и толкования на уровне платформы приоритет имеет грузинский текст.
Метаданные неполные: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
This document defines the actual first extraction package for ICPI, file by file.
It is not the runtime cutover itself. It is the package boundary that Sprint 49 can execute against with low ambiguity.
MOVE TO ICPI: should move into the new ICPI-owned package/runtimeKEEP SHARED WITH KVARY: should remain outside ICPI and be consumed through a stable contractKEEP TEMPORARILY IN CURRENT HOST: can stay in svc-tenders during a staged cutover, but is not the target ownerREMOVE / REPLACE AFTER EXTRACTION: temporary residue that should disappear once cutover is completeUNRESOLVED: real dependency or duplication still needs an explicit later decision| File / module | Classification | Rationale | Notes |
| --- | --- | --- | --- |
| services/svc-tenders/src/icpi/contracts.ts | MOVE TO ICPI | Canonical ICPI request/response/repository/support contracts already live here | Extraction core |
| services/svc-tenders/src/icpi/queryParsers.ts | MOVE TO ICPI | Pure ICPI-local parsing logic | No reason to keep shared |
| services/svc-tenders/src/icpi/validation.ts | MOVE TO ICPI | ICPI-owned validation/schema surface | Route behavior depends on it directly |
| services/svc-tenders/src/icpi/repository.ts | MOVE TO ICPI | Canonical ICPI persistence module over icpi_price_points | Extraction core |
| services/svc-tenders/src/routes/registerIcpiRoutes.ts | MOVE TO ICPI | Owns the current /icpi/* host surface | Can stay source-compatible if lifted into a new ICPI runtime |
| services/svc-tenders/src/routes/support/icpiRouteSupport.ts | MOVE TO ICPI | Narrow adapter over shared auth ingress plus ICPI-local parsers | May later collapse into ICPI runtime bootstrap |
| services/svc-icpi/migrations/0007_icpi_price_points.sql | MOVE TO ICPI | Creates the ICPI-owned table family | Canonical migration owner |
| services/svc-icpi/migrations/0008_icpi_latest_lookup_index.sql | MOVE TO ICPI | Adds ICPI-specific lookup optimization | Canonical migration owner |
| services/api/src/routes/icpi.ts | KEEP SHARED WITH KVARY | This is the stable public gateway seam | Should not move into ICPI service code |
| services/api/src/auth/middleware.ts | KEEP SHARED WITH KVARY | requireGatewayAuth is gateway/auth-shell behavior | Shared backbone concern |
| services/api/src/server.ts | KEEP SHARED WITH KVARY | Owns public API process and route mounting | Outside ICPI domain ownership |
| services/api/README.md | KEEP SHARED WITH KVARY | Documents gateway env contract including ICPI_SERVICE_URL | Update during cutover, but do not move |
| services/svc-tenders/src/server.ts | KEEP TEMPORARILY IN CURRENT HOST | Current colocated runtime host and auth-ingress implementation site | Keep until new ICPI runtime is live |
| services/svc-tenders/src/config.ts | KEEP TEMPORARILY IN CURRENT HOST | Current monolith config host includes ICPI-needed env plus unrelated KES/evidence config | Future ICPI runtime should copy only the needed subset |
| services/svc-tenders/src/http/authTypes.ts | UNRESOLVED | ICPI contracts currently refer to RequestWithAuth from here | Safe near-term options: copy a narrow ICPI-local auth-request type or re-home a tiny shared auth-request contract |
| apps/web/src/portal/api.ts ICPI helper/types block | KEEP SHARED WITH KVARY | Web stays on the gateway contract; helpers do not belong in the backend extraction package | Type duplication remains a follow-up concern |
| apps/web/src/app/[locale]/(portal)/icpi/page.tsx | KEEP SHARED WITH KVARY | UI consumer of the gateway contract | Should not move with backend extraction |
| apps/web/src/app/[locale]/[country]/(portal)/icpi/page.tsx | KEEP SHARED WITH KVARY | Locale/country alias UI surface | Same reasoning as main page |
| services/svc-tenders/src/icpi/repository.js | REMOVE / REPLACE AFTER EXTRACTION | Stale compiled artifact, not source-of-truth code | Removed in Sprint 48 |
The minimum credible first package is:
src/icpi/contracts.tssrc/icpi/queryParsers.tssrc/icpi/validation.tssrc/icpi/repository.tssrc/routes/registerIcpiRoutes.tssrc/routes/support/icpiRouteSupport.ts0007 and 0008This package is enough to preserve:
without dragging most of svc-tenders along with it.
svc-tenders host shell during staged cutoverRequestWithAuth should become a tiny shared contract or an ICPI-local copied type