ICPI Happy-Path Write Verification
Auth Method Used
Happy-path ICPI write verification used the existing local dev impersonation flow already present in the repo.
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
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.