ICPI Setup (SRF Source)
1. Preconditions
- PostgreSQL running on
127.0.0.1:5432 - API services running (
services/apiand )
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
127.0.0.1:5432services/api and )services/svc-tenderstmp/outputs/srf_extracted_tables.jsonnpm --prefix services/svc-tenders run migrate
This creates icpi_price_points table.
npm run icpi:build-payload -- --year 2026 --quarter Q1 --region GE --sourceVersion "SRF-2026-Q1"
Outputs:
tmp/outputs/icpi_upsert_payload.jsontmp/outputs/icpi_build_report.jsonnpm run icpi:upsert
Dry run (validation only):
npm run icpi:upsert -- --dry-run
Retry-safe upsert (recommended):
npm run icpi:upsert -- --chunkSize 200 --retries 3 --retryDelayMs 500
Default URL:
http://localhost:4001/api/v1/icpi/upsertOverride URL:
npm run icpi:upsert -- --url http://localhost:4020/icpi/upsert
curl "http://localhost:4001/api/v1/icpi/prices?limit=20"
curl "http://localhost:4001/api/v1/icpi/latest/CEMENT_M400?region=GE"
curl "http://localhost:4001/api/v1/icpi/estimate?itemCode=CEMENT_M400&quantity=100®ion=GE"
npm run icpi:smoke