# V13-FE-028 — Reconciliation API contract boundary ## Source / Assumption / Unknown / Decision Required - Source: current `PortfolioReconciliation/Endpoints.cs` response DTOs and v60 runtime-validation/API boundary guidance. - Assumption: FE treats the current holdings and mismatch responses as read contracts and validates them at the HTTP boundary. - Unknown: approved route permissions, pagination/filter semantics, response version/as-of metadata, and correction command contract. - Decision Required: approve the production API/permission contract before adding route registration, TanStack Query wiring, or correction mutations. ## Implemented - Added Zod schemas and typed API adapters for `GET /reconciliation/holdings` and `GET /reconciliation/mismatches`. - API adapters parse response payloads at runtime; no response is copied into Pinia. - Added TanStack Query keys/hooks with explicit mismatch date-window cache identity and bounded retry. - No route, query cache, correction mutation, or permission claim was added while backend authority remains unresolved. ## Evidence - `pnpm test -- src/features/reconciliation/tests/schema.spec.ts`: 1 file / 3 tests passed. - `pnpm test -- src/features/reconciliation/tests/queries.spec.ts`: 1 file / 2 tests passed. - `pnpm typecheck`: passed. - `git diff --check`: passed. ## Outstanding TanStack Query integration, route permission metadata, server pagination/version/as-of contract, Playwright/AT evidence, and correction/maker-checker API remain outstanding. This Slice is `IN_PROGRESS`.