ICPI Root Delegation Caller Map
Current Status
Sprint 47 re-checked the remaining root ICPI delegation path and found no live TypeScript callers still depending on ICPI methods hosted on the root repository.ts.
Because there were no verified callers, the root ICPI delegation methods were removed from TendersRepository.
Caller Inventory
| Current path | Previous dependency | Verdict | Notes |
| --- | --- | --- | --- |
| registerIcpiRoutes.ts | direct IcpiRepositoryPort | direct and correct | Route module already used ICPI-owned repository surface |
| server.ts ICPI registration | IcpiRepository direct injection | direct and correct | No root indirection remained here |
| icpiRouteSupport.ts | no root repository dependency | direct and correct | Support assembly only narrows auth ingress |
| root TendersRepository | self-hosted ICPI delegation methods | removed | No live TS callers still required them |
Removed Root Delegation Surface
The following methods were removed from TendersRepository:
upsertIcpiPricePoints(...)countIcpiPricePoints(...)listIcpiPricePoints(...)suggestIcpiItems(...)findLatestIcpiPricePoint(...)
Compatibility Verdict
- Direct ICPI repository usage: preferred and now current reality
- Root ICPI compatibility delegation: no longer justified by live callers
- Gateway proxy route: remains shared, but it was never a root repository caller
Remaining Indirection
The remaining ICPI hosting indirection is not root repository delegation anymore. It is:
- gateway proxying in services/api/src/routes/icpi.ts
- service-shell auth ingress in services/svc-tenders/src/server.ts
Those are runtime/shell seams, not root persistence delegation seams.