svc-tenders Repository Split Stage 1
Date: 2026-03-16 Sprint: Cleanup Sprint 09
Purpose
This document records the first real persistence-boundary split inside .
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
svc-tenders Repository Split Stage 1Date: 2026-03-16 Sprint: Cleanup Sprint 09
This document records the first real persistence-boundary split inside .
Stage 1 does not extract a standalone service. It only reduces central mixing inside repository.ts while preserving runtime behavior.
services/svc-tenders/src/icpi/repository.tsservices/svc-tenders/src/repository.tsMoved persistence responsibilities:
upsertIcpiPricePointscountIcpiPricePointslistIcpiPricePointssuggestIcpiItemsfindLatestIcpiPricePointCurrent boundary verdict:
VERIFIEDREALservices/svc-tenders/src/butkhuzi/repository.tsservices/svc-tenders/src/repository.tsMoved persistence responsibilities:
countButkhuziNormslistButkhuziNormssuggestButkhuziNormsrebuildButkhuziChunksBySourcecountButkhuziChunkssearchButkhuziChunksupsertButkhuziNormsdeleteButkhuziNormsBySourceCurrent boundary verdict:
VERIFIEDREALCurrent location:
Verdict:
VERIFIEDREALReason:
Current location:
services/svc-tenders/src/repository.tsservices/svc-tenders/src/routes/registerAuctionDeclarationRoutes.tsVerdict:
VERIFIEDREALReason:
output_allocations may ultimately belong to auctions, settlement/financial flow, or another shared registry-style capability.The root repository still instantiates and delegates to dedicated child repositories:
services/svc-tenders/src/repository.ts
IcpiRepositoryButkhuziRepositoryThis is intentional. The goal is safer internal boundary cleanup first, not immediate caller churn.
repository.ts still mixes tender, auction, declarations, vacancy, accommodation, KES, and unresolved shared concerns.output_allocations ownership is still architecturally open.Stage 2 should consider:
server.tsDo not force KES or output_allocations ownership until the domain decision is stronger.