{ "schemaVersion": 1, "registries": [ { "registryId": "FE-REG-ROUTE", "path": "src/contracts/routes.js", "exportName": "ROUTE_REGISTRY", "owner": "feature-routing-navigation-guard-contract", "uniqueFields": ["routeId", "path", "chunkId"], "allowedValues": { "paramsSchema": [null, "NotFoundSplat"], "searchSchema": [null, "SampleResourceListQuery"], "loadingSurface": [ "app-shell", "example-page", "sample-resource-list", "none" ], "errorSurface": [ "route-boundary", "feature-boundary", "not-found" ], "chunkId": [ "route-home", "route-examples-ui", "route-examples-states", "route-examples-auth", "route-sample-resources", "route-not-found" ] }, "references": [ { "field": "routeId", "registryId": "FE-REG-ROUTE-RUNTIME", "targetField": "routeId" } ], "requiredFields": [ "routeId", "path", "paramsSchema", "searchSchema", "access", "loadingSurface", "errorSurface", "chunkId" ] }, { "registryId": "FE-REG-ROUTE-RUNTIME", "path": "src/contracts/route-runtime-contract.js", "exportName": "ROUTE_RUNTIME_CONTRACT", "owner": "feature-frontend-routing-release-recovery-runtime", "requiredFields": [ "routeId", "moduleId", "paramsCodec", "searchCodec" ], "uniqueFields": ["routeId", "moduleId"], "allowedValues": { "moduleId": [ "home-page", "ui-gallery-page", "state-gallery-page", "auth-example-page", "sample-contract-page", "not-found-page" ], "paramsCodec": ["none", "NotFoundSplat"], "searchCodec": ["none", "SampleResourceListQuery"] }, "references": [ { "field": "routeId", "registryId": "FE-REG-ROUTE", "targetField": "routeId" } ] }, { "registryId": "FE-REG-API", "path": "src/contracts/api-operations.js", "exportName": "API_OPERATIONS", "owner": "feature-api-client-response-envelope-contract", "requiredFields": [ "method", "path", "operationId", "auth", "timeoutMs", "idempotency", "retry", "requestSource", "requestSchema", "responseSchema", "owner" ] }, { "registryId": "FE-REG-ENV", "path": "src/contracts/env.js", "exportName": "ENV_REGISTRY", "owner": "feature-frontend-env-runtime-config-contract", "requiredFields": ["phase", "classification", "required", "defaultValue"] }, { "registryId": "FE-REG-STORAGE", "path": "src/contracts/storage-keys.js", "exportName": "STORAGE_REGISTRY", "owner": "feature-frontend-storage-registry-contract", "requiredFields": [ "logicalName", "physicalKey", "backend", "classification", "schemaVersion", "ttl", "migration", "quotaFallback" ] }, { "registryId": "FE-REG-ERROR", "path": "src/contracts/errors.js", "exportName": "ERROR_REGISTRY", "owner": "feature-frontend-error-classification-boundary-contract", "requiredFields": [ "kind", "defaultRetryable", "severity", "userMessageKey", "action", "telemetryEvent", "redaction" ] }, { "registryId": "FE-REG-QUERY", "path": "src/contracts/query-keys.js", "exportName": "QUERY_REGISTRY", "owner": "feature-server-state-caching-contract", "requiredFields": [ "namespace", "serialization", "identity", "invalidation", "version", "persistence" ] }, { "registryId": "FE-REG-TELEMETRY", "path": "src/contracts/telemetry.js", "exportName": "TELEMETRY_REGISTRY", "owner": "feature-frontend-observability-logging-trace-contract", "requiredFields": [ "eventName", "trigger", "requiredAttributes", "optionalAttributes", "forbiddenAttributes", "sampling", "delivery" ] }, { "registryId": "FE-REG-RELEASE", "path": "src/contracts/release-tokens.js", "exportName": "RELEASE_TOKEN_REGISTRY", "owner": "feature-frontend-release-cache-rollback-contract", "requiredFields": ["token", "source", "compatibilityRole"] } ], "compatibilityImpact": { "allowed": ["none", "additive", "behavior-change", "breaking"], "current": "behavior-change" } }