feat: govern contract registries and snapshots
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"registries": [
|
||||
{
|
||||
"registryId": "FE-REG-ROUTE",
|
||||
"path": "src/contracts/routes.js",
|
||||
"exportName": "ROUTE_REGISTRY",
|
||||
"owner": "feature-routing-navigation-guard-contract",
|
||||
"requiredFields": [
|
||||
"routeId",
|
||||
"path",
|
||||
"paramsSchema",
|
||||
"searchSchema",
|
||||
"access",
|
||||
"loadingSurface",
|
||||
"errorSurface",
|
||||
"chunkId"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"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"],
|
||||
"declaredRows": {
|
||||
"appVersion": {
|
||||
"token": "appVersion",
|
||||
"source": "manifest",
|
||||
"compatibilityRole": "human release label"
|
||||
},
|
||||
"buildId": {
|
||||
"token": "buildId",
|
||||
"source": "CI build",
|
||||
"compatibilityRole": "asset and HTML coherence"
|
||||
},
|
||||
"commitSha": {
|
||||
"token": "commitSha",
|
||||
"source": "VCS",
|
||||
"compatibilityRole": "source traceability"
|
||||
},
|
||||
"configSchemaVersion": {
|
||||
"token": "configSchemaVersion",
|
||||
"source": "runtime config schema",
|
||||
"compatibilityRole": "boot compatibility"
|
||||
},
|
||||
"apiContractVersion": {
|
||||
"token": "apiContractVersion",
|
||||
"source": "frontend/backend agreement",
|
||||
"compatibilityRole": "schema compatibility"
|
||||
},
|
||||
"assetManifestHash": {
|
||||
"token": "assetManifestHash",
|
||||
"source": "build output",
|
||||
"compatibilityRole": "chunk integrity"
|
||||
},
|
||||
"releaseId": {
|
||||
"token": "releaseId",
|
||||
"source": "deploy system",
|
||||
"compatibilityRole": "rollback target"
|
||||
},
|
||||
"builtAt": {
|
||||
"token": "builtAt",
|
||||
"source": "CI",
|
||||
"compatibilityRole": "diagnostics only"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"compatibilityImpact": {
|
||||
"allowed": ["none", "additive", "behavior-change", "breaking"],
|
||||
"current": "additive"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user