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
დოკუმენტაციის პორტალი მხოლოდ წაკითხვადია. რედაქტირება და ცვლილების endpoint-ები გამორთულია.
Kvary პლატფორმა თავდაპირველად ქართულ ენაზეა შექმნილი. სადაც ქართული ვერსია არსებობს, პლატფორმის UI-ის, დოკუმენტაციისა და იურიდიული განმარტების ავტორიტეტული ენა არის ქართული.
სხვა ენებზე თარგმანები მოცემულია მოხერხებულობისთვის. კონკრეტული ჩანაწერი ან flow შეიძლება სხვა ენაზე იყოს წარმოშობილი და ჰქონდეს საკუთარი source/legal locale, თუმცა სადაც ქართული ვერსია ხელმისაწვდომია, პლატფორმის დონის ფორმულირებასა და განმარტებაში უპირატესობა ქართულ ვერსიას ენიჭება.
მეტამონაცემები არასრულია: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
Happy-path ICPI write verification used the existing local dev impersonation flow already present in the repo.
Procedure used:
svc-auth with DEV_AUTH_TOOLS=trueservices/api with DEV_AUTH_TOOLS=truePOST /api/v1/auth/dev/impersonate{
"email": "kvaratskhelia.ge@gmail.com"
}
tokens.accessToken from the responsePOST /icpi/upsert against direct hosts and gateway pathsThis relied on an existing seeded dev identity already referenced by the web dev sign-in flow. No auth shortcut or auth model change was added.
Stable item used for the verification sequence:
itemCode: ICPI_S51_MMUN7BQ7sourceKey: SPR51{
"year": 2026,
"quarter": 1,
"regionCode": "GE",
"categoryCode": "CEMENT",
"itemCode": "ICPI_S51_MMUN7BQ7",
"itemName": "Sprint 51 Parity Cement",
"unit": "kg",
"currency": "GEL"
}
Different sourceVersion and unitPrice values were used per stage so each successful write also had a clear persisted read-back.
{
"sourceKey": "SPR51",
"sourceVersion": "s51-direct-hosts",
"rows": [
{
"year": 2026,
"quarter": 1,
"regionCode": "GE",
"categoryCode": "CEMENT",
"itemCode": "ICPI_S51_MMUN7BQ7",
"itemName": "Sprint 51 Parity Cement",
"unit": "kg",
"currency": "GEL",
"unitPrice": 101.11
}
]
}
{
"sourceKey": "SPR51",
"sourceVersion": "s51-gateway-fallback",
"rows": [
{
"year": 2026,
"quarter": 1,
"regionCode": "GE",
"categoryCode": "CEMENT",
"itemCode": "ICPI_S51_MMUN7BQ7",
"itemName": "Sprint 51 Parity Cement",
"unit": "kg",
"currency": "GEL",
"unitPrice": 102.22
}
]
}
{
"sourceKey": "SPR51",
"sourceVersion": "s51-gateway-cutover",
"rows": [
{
"year": 2026,
"quarter": 1,
"regionCode": "GE",
"categoryCode": "CEMENT",
"itemCode": "ICPI_S51_MMUN7BQ7",
"itemName": "Sprint 51 Parity Cement",
"unit": "kg",
"currency": "GEL",
"unitPrice": 103.33
}
]
}
{
"sourceKey": "SPR51",
"sourceVersion": "s51-rollback-fallback",
"rows": [
{
"year": 2026,
"quarter": 1,
"regionCode": "GE",
"categoryCode": "CEMENT",
"itemCode": "ICPI_S51_MMUN7BQ7",
"itemName": "Sprint 51 Parity Cement",
"unit": "kg",
"currency": "GEL",
"unitPrice": 104.44
}
]
}
Target:
POST http://127.0.0.1:4020/icpi/upsertResult:
200{
"ok": true,
"upserted": 1,
"meta": {
"received": 1,
"accepted": 1,
"duplicatesDropped": 0,
"sourceKey": "SPR51",
"sourceVersion": "s51-direct-hosts"
}
}
Read-back:
GET /icpi/latest/ICPI_S51_MMUN7BQ7?region=GEsourceVersion and unitPricesvc-icpi hostTarget:
POST http://127.0.0.1:4021/icpi/upsertResult:
200Read-back:
GET /icpi/latest/ICPI_S51_MMUN7BQ7?region=GEupdatedAt legitimately changes across successive writesGateway env:
TENDERS_SERVICE_URL=http://127.0.0.1:4020ICPI_SERVICE_URL unsetTarget:
POST http://127.0.0.1:4001/api/v1/icpi/upsertResult:
200Read-back:
GET /api/v1/icpi/latest/ICPI_S51_MMUN7BQ7?region=GEGateway env:
TENDERS_SERVICE_URL=http://127.0.0.1:4020ICPI_SERVICE_URL=http://127.0.0.1:4021Target:
POST http://127.0.0.1:4001/api/v1/icpi/upsertResult:
200Read-back:
GET /api/v1/icpi/latest/ICPI_S51_MMUN7BQ7?region=GEVerified:
svc-icpiVerdict:
createdAt and updatedAt.