{
  "contractVersion": "crud-page.v1",
  "stateOwners": {"server":"TanStack Query","form":"vee-validate + Zod","url":"vue-router","sessionAndUiPreference":"Pinia"},
  "requiredRequestHeaders": ["Idempotency-Key for commands", "If-Match for updates where concurrency applies", "X-Correlation-Id"],
  "requiredResponseMetadata": ["asOf", "projectionVersion", "stale", "watermark where applicable"],
  "listQuery": ["page", "pageSize", "search", "sort[]", "filter[]"],
  "failureStates": ["LOADING","EMPTY","WARN","ERROR","UNAUTHORIZED","FORBIDDEN","PARTIAL","DIRTY","CONFLICT","EXPIRED","READONLY","PROCESSING"],
  "forbidden": ["server data duplicated in Pinia", "vendor grid state stored in domain feature", "silent overwrite after 409/412", "delete without reason and audit"]
}
