# V13-FE-023 — Server-side grid contract slice note - **Requirement:** REQ-FE-GRID - **API/UI/Test:** UI-GRID-01 / T-FE-GRID-01 - **Source:** v60 server-side grid boundary; current `DataGridShell`, `KsDataGrid`, `KsPaginator`, and `CrudPageResult` contracts. - **Assumption:** Page metadata is authoritative input from the query/read model; the UI emits a request intent and does not fetch or mutate server state. - **Unknown:** Sort/filter event wiring and column-state persistence are not connected to an active production screen through this component. - **Decision Required:** FE/BE must approve a per-resource query contract before adding server sort/filter event mapping. ## Applied boundary - Added optional `page`, `pageSize`, and `total` metadata to `DataGridShell`. - Rendered the shared paginator only when all page metadata is explicitly supplied. - Forwarded page changes as an event; the component does not own fetching, caching, or server state. - Preserved existing client-row callers without pagination metadata. ## Evidence ```text pnpm test -- src/shared/ui/tests/DataGridShell.spec.ts PASS: 1 file / 2 tests (2026-08-12) pnpm typecheck PASS (2026-08-12) ``` No server API, sort/filter event, column-state persistence, visual, AT, or browser E2E evidence is claimed.