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 dependency map records the pre-extraction and first-cut hardening state.
Current truth:
svc-tenders KES HTTP host is retiredservices/svc-tenders/src/kes/* compatibility layer is removedReferences below to deleted svc-tenders route/support or compatibility files are historical unless a line explicitly describes shared backbone code in services/svc-tenders/src/kafka.
| Dependency edge | Current source | Current target | Dependency type | Verdict | Notes |
| --- | --- | --- | --- | --- | --- |
| KES route module -> mixed repository slice | registerKesRoutes.ts | repository.ts | persistence / domain port | should move into KES later | Biggest code-boundary blocker; KES route is isolated but repository ownership is not |
| KES route support -> shell auth/parsers | kesRouteSupport.ts | server.ts | shared support / parser / auth | must remain shared after extraction | requireServiceAuth, parse helpers, and query normalization are shell-level today |
| Payment request -> KYC boundary helper | registerKesRoutes.ts | server.ts | ingress / KYC boundary | can be wrapped later | KES needs it, but it is still shell-owned ingress policy |
| Payment request/approve/settle -> signature gate | registerKesRoutes.ts | server.ts | ingress / signature verification | can be wrapped later | Extraction will need a stable shared contract for this |
| KES route module -> root validation file | registerKesRoutes.ts | validation.ts | validation / schema | should move into KES later | Cleanest near-term hardening target |
| Live gateway -> KES runtime seam | kes-orchestrator.ts | KES_ORCHESTRATOR_SERVICE_URL ?? TENDERS_SERVICE_URL | API / service-target seam | should become API/service contract | Gateway shape is already appropriate for a future extracted runtime |
| Gateway mutation proxy -> Kafka envelope producer | kes-orchestrator.ts | kesEventProducer.ts | kafka / operational eventing | should stay temporary for now | Useful operational stream, but not the canonical durable event boundary |
| KES events consumer -> idempotency store | kesEventConsumer.ts | idempotencyStore.ts | kafka consumer infra | must remain shared after extraction | This behaves like event-backbone infrastructure, not KES-only product logic |
| KES domain-event consumer -> projection tables | kesDomainEventConsumer.ts | KES projection tables from migration 0029 | projection / read-model | unresolved | Feels KES-centric, but still tied to shared outbox/event discipline |
| KES outbox relay -> kes_outbox_events | kesOutboxRelay.ts | outbox tables from migration 0027 | shared event backbone | unresolved | Could stay shared longer even if KES route/runtime moves |
| Web portal API -> gateway KES routes | apps/web/src/portal/api.ts | /api/v1/kes/orchestrator/* | web client / backend contract | should become API/service contract | Real backend consumer |
| KES control-plane view -> portal API | KesControlPlaneView.tsx | apps/web/src/portal/api.ts | web client | can remain shared after extraction | No special blocker here if gateway contract stays stable |
| KES workspace/editor page -> localStorage | page.tsx | browser storage | UI-local state | should stay temporary for now | This is not part of the backend extraction core |
Must remain shared at first:
/auth/me principal resolutionShould become KES-owned later:
Unresolved: