1728 lines
48 KiB
JSON
1728 lines
48 KiB
JSON
{
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-ROUTE",
|
|
"owner": "feature-frontend-routing-release-recovery-runtime",
|
|
"source": "src/features/installed-feature-contracts.ts",
|
|
"rowCount": 9,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"routeId",
|
|
"path",
|
|
"paramsSchema",
|
|
"searchSchema",
|
|
"access",
|
|
"loadingSurface",
|
|
"errorSurface",
|
|
"chunkId",
|
|
"title",
|
|
"navigationLabel",
|
|
"navigationOrder"
|
|
],
|
|
"fieldTypes": {
|
|
"routeId": "string",
|
|
"path": "string",
|
|
"paramsSchema": "string|null",
|
|
"searchSchema": "string|null",
|
|
"access": "string",
|
|
"loadingSurface": "string",
|
|
"errorSurface": "string",
|
|
"chunkId": "string",
|
|
"title": "string",
|
|
"navigationLabel": "string|null",
|
|
"navigationOrder": "integer|null"
|
|
},
|
|
"uniqueFields": [
|
|
"routeId",
|
|
"path",
|
|
"chunkId"
|
|
],
|
|
"allowedValues": {
|
|
"access": [
|
|
"public",
|
|
"session-required",
|
|
"integration-defined"
|
|
],
|
|
"paramsSchema": [
|
|
null,
|
|
"NotFoundSplat",
|
|
"ReferenceResourceParams"
|
|
],
|
|
"searchSchema": [
|
|
null,
|
|
"ReferenceResourceListQuery"
|
|
],
|
|
"loadingSurface": [
|
|
"app-shell",
|
|
"example-page",
|
|
"reference-resource-list",
|
|
"reference-resource-detail",
|
|
"reference-resource-form",
|
|
"reference-resource-status",
|
|
"none"
|
|
],
|
|
"errorSurface": [
|
|
"route-boundary",
|
|
"feature-boundary",
|
|
"not-found"
|
|
]
|
|
},
|
|
"references": [
|
|
{
|
|
"field": "routeId",
|
|
"registryId": "FE-REG-ROUTE-RUNTIME",
|
|
"targetField": "routeId"
|
|
},
|
|
{
|
|
"field": "paramsSchema",
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"targetField": "schemaId"
|
|
},
|
|
{
|
|
"field": "searchSchema",
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"targetField": "schemaId"
|
|
}
|
|
],
|
|
"keyField": "routeId",
|
|
"breakingFields": [
|
|
"routeId",
|
|
"path",
|
|
"paramsSchema",
|
|
"searchSchema",
|
|
"access",
|
|
"chunkId"
|
|
]
|
|
},
|
|
"rows": {
|
|
"APP_HOME": {
|
|
"access": "public",
|
|
"chunkId": "route-home",
|
|
"errorSurface": "route-boundary",
|
|
"loadingSurface": "app-shell",
|
|
"navigationLabel": "시작",
|
|
"navigationOrder": 10,
|
|
"paramsSchema": null,
|
|
"path": "/",
|
|
"routeId": "APP_HOME",
|
|
"searchSchema": null,
|
|
"title": "시작"
|
|
},
|
|
"EXAMPLES_AUTH": {
|
|
"access": "public",
|
|
"chunkId": "route-examples-auth",
|
|
"errorSurface": "route-boundary",
|
|
"loadingSurface": "example-page",
|
|
"navigationLabel": "인증 연동",
|
|
"navigationOrder": 40,
|
|
"paramsSchema": null,
|
|
"path": "/examples/auth",
|
|
"routeId": "EXAMPLES_AUTH",
|
|
"searchSchema": null,
|
|
"title": "인증 연동"
|
|
},
|
|
"EXAMPLES_STATES": {
|
|
"access": "public",
|
|
"chunkId": "route-examples-states",
|
|
"errorSurface": "route-boundary",
|
|
"loadingSurface": "example-page",
|
|
"navigationLabel": "화면 상태",
|
|
"navigationOrder": 30,
|
|
"paramsSchema": null,
|
|
"path": "/examples/states",
|
|
"routeId": "EXAMPLES_STATES",
|
|
"searchSchema": null,
|
|
"title": "화면 상태"
|
|
},
|
|
"EXAMPLES_UI": {
|
|
"access": "public",
|
|
"chunkId": "route-examples-ui",
|
|
"errorSurface": "route-boundary",
|
|
"loadingSurface": "example-page",
|
|
"navigationLabel": "UI 구성요소",
|
|
"navigationOrder": 20,
|
|
"paramsSchema": null,
|
|
"path": "/examples/ui",
|
|
"routeId": "EXAMPLES_UI",
|
|
"searchSchema": null,
|
|
"title": "UI 구성요소"
|
|
},
|
|
"NOT_FOUND": {
|
|
"access": "public",
|
|
"chunkId": "route-not-found",
|
|
"errorSurface": "not-found",
|
|
"loadingSurface": "none",
|
|
"navigationLabel": null,
|
|
"navigationOrder": null,
|
|
"paramsSchema": "NotFoundSplat",
|
|
"path": "*",
|
|
"routeId": "NOT_FOUND",
|
|
"searchSchema": null,
|
|
"title": "페이지를 찾을 수 없음"
|
|
},
|
|
"REFERENCE_RESOURCE_DETAIL": {
|
|
"access": "integration-defined",
|
|
"chunkId": "route-reference-resource-detail",
|
|
"errorSurface": "feature-boundary",
|
|
"loadingSurface": "reference-resource-detail",
|
|
"navigationLabel": null,
|
|
"navigationOrder": null,
|
|
"paramsSchema": "ReferenceResourceParams",
|
|
"path": "/examples/reference-resources/:resourceId",
|
|
"routeId": "REFERENCE_RESOURCE_DETAIL",
|
|
"searchSchema": null,
|
|
"title": "Reference detail"
|
|
},
|
|
"REFERENCE_RESOURCE_FORM": {
|
|
"access": "integration-defined",
|
|
"chunkId": "route-reference-resource-form",
|
|
"errorSurface": "feature-boundary",
|
|
"loadingSurface": "reference-resource-form",
|
|
"navigationLabel": null,
|
|
"navigationOrder": null,
|
|
"paramsSchema": null,
|
|
"path": "/examples/reference-resources/new",
|
|
"routeId": "REFERENCE_RESOURCE_FORM",
|
|
"searchSchema": null,
|
|
"title": "Reference form"
|
|
},
|
|
"REFERENCE_RESOURCE_LIST": {
|
|
"access": "integration-defined",
|
|
"chunkId": "route-reference-resources",
|
|
"errorSurface": "feature-boundary",
|
|
"loadingSurface": "reference-resource-list",
|
|
"navigationLabel": "Reference feature",
|
|
"navigationOrder": 50,
|
|
"paramsSchema": null,
|
|
"path": "/examples/reference-resources",
|
|
"routeId": "REFERENCE_RESOURCE_LIST",
|
|
"searchSchema": "ReferenceResourceListQuery",
|
|
"title": "Reference feature"
|
|
},
|
|
"REFERENCE_RESOURCE_STATUS": {
|
|
"access": "integration-defined",
|
|
"chunkId": "route-reference-resource-status",
|
|
"errorSurface": "feature-boundary",
|
|
"loadingSurface": "reference-resource-status",
|
|
"navigationLabel": null,
|
|
"navigationOrder": null,
|
|
"paramsSchema": null,
|
|
"path": "/examples/reference-resources/status",
|
|
"routeId": "REFERENCE_RESOURCE_STATUS",
|
|
"searchSchema": null,
|
|
"title": "Reference status"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-ROUTE-RUNTIME",
|
|
"owner": "feature-frontend-routing-release-recovery-runtime",
|
|
"source": "src/features/installed-feature-contracts.ts",
|
|
"rowCount": 9,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"routeId",
|
|
"moduleId",
|
|
"paramsCodec",
|
|
"searchCodec"
|
|
],
|
|
"fieldTypes": {
|
|
"routeId": "string",
|
|
"moduleId": "string",
|
|
"paramsCodec": "string",
|
|
"searchCodec": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"routeId",
|
|
"moduleId"
|
|
],
|
|
"allowedValues": {},
|
|
"references": [
|
|
{
|
|
"field": "routeId",
|
|
"registryId": "FE-REG-ROUTE",
|
|
"targetField": "routeId"
|
|
},
|
|
{
|
|
"field": "paramsCodec",
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"targetField": "schemaId"
|
|
},
|
|
{
|
|
"field": "searchCodec",
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"targetField": "schemaId"
|
|
}
|
|
],
|
|
"keyField": "routeId",
|
|
"breakingFields": [
|
|
"routeId",
|
|
"moduleId",
|
|
"paramsCodec",
|
|
"searchCodec"
|
|
]
|
|
},
|
|
"rows": {
|
|
"APP_HOME": {
|
|
"moduleId": "home-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "APP_HOME",
|
|
"searchCodec": "none"
|
|
},
|
|
"EXAMPLES_AUTH": {
|
|
"moduleId": "auth-example-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "EXAMPLES_AUTH",
|
|
"searchCodec": "none"
|
|
},
|
|
"EXAMPLES_STATES": {
|
|
"moduleId": "state-gallery-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "EXAMPLES_STATES",
|
|
"searchCodec": "none"
|
|
},
|
|
"EXAMPLES_UI": {
|
|
"moduleId": "ui-gallery-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "EXAMPLES_UI",
|
|
"searchCodec": "none"
|
|
},
|
|
"NOT_FOUND": {
|
|
"moduleId": "not-found-page",
|
|
"paramsCodec": "NotFoundSplat",
|
|
"routeId": "NOT_FOUND",
|
|
"searchCodec": "none"
|
|
},
|
|
"REFERENCE_RESOURCE_DETAIL": {
|
|
"moduleId": "reference-resource-detail-page",
|
|
"paramsCodec": "ReferenceResourceParams",
|
|
"routeId": "REFERENCE_RESOURCE_DETAIL",
|
|
"searchCodec": "none"
|
|
},
|
|
"REFERENCE_RESOURCE_FORM": {
|
|
"moduleId": "reference-resource-form-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "REFERENCE_RESOURCE_FORM",
|
|
"searchCodec": "none"
|
|
},
|
|
"REFERENCE_RESOURCE_LIST": {
|
|
"moduleId": "reference-resource-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "REFERENCE_RESOURCE_LIST",
|
|
"searchCodec": "ReferenceResourceListQuery"
|
|
},
|
|
"REFERENCE_RESOURCE_STATUS": {
|
|
"moduleId": "reference-resource-status-page",
|
|
"paramsCodec": "none",
|
|
"routeId": "REFERENCE_RESOURCE_STATUS",
|
|
"searchCodec": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-API",
|
|
"owner": "feature-frontend-api-client-response-envelope-contract",
|
|
"source": "src/features/installed-feature-contracts.ts",
|
|
"rowCount": 3,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"method",
|
|
"path",
|
|
"operationId",
|
|
"auth",
|
|
"timeoutMs",
|
|
"idempotency",
|
|
"retry",
|
|
"requestSource",
|
|
"requestSchema",
|
|
"responseSchema",
|
|
"owner"
|
|
],
|
|
"fieldTypes": {
|
|
"method": "string",
|
|
"path": "string",
|
|
"operationId": "string",
|
|
"auth": "string",
|
|
"timeoutMs": "integer|null",
|
|
"idempotency": "string",
|
|
"retry": "string",
|
|
"requestSource": "string",
|
|
"requestSchema": "string",
|
|
"responseSchema": "string",
|
|
"owner": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"operationId"
|
|
],
|
|
"allowedValues": {
|
|
"method": [
|
|
"GET",
|
|
"POST",
|
|
"PUT",
|
|
"PATCH",
|
|
"DELETE"
|
|
],
|
|
"auth": [
|
|
"none",
|
|
"external-session"
|
|
],
|
|
"idempotency": [
|
|
"safe",
|
|
"keyed",
|
|
"none"
|
|
],
|
|
"retry": [
|
|
"runtime",
|
|
"never"
|
|
],
|
|
"requestSource": [
|
|
"none",
|
|
"search",
|
|
"body"
|
|
]
|
|
},
|
|
"references": [
|
|
{
|
|
"field": "requestSchema",
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"targetField": "schemaId"
|
|
},
|
|
{
|
|
"field": "responseSchema",
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"targetField": "schemaId"
|
|
}
|
|
],
|
|
"keyField": "operationId",
|
|
"breakingFields": [
|
|
"method",
|
|
"path",
|
|
"operationId",
|
|
"auth",
|
|
"idempotency",
|
|
"requestSource",
|
|
"requestSchema",
|
|
"responseSchema"
|
|
]
|
|
},
|
|
"rows": {
|
|
"CREATE_REFERENCE_RESOURCE": {
|
|
"auth": "external-session",
|
|
"idempotency": "keyed",
|
|
"method": "POST",
|
|
"operationId": "CREATE_REFERENCE_RESOURCE",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"path": "/api/reference-resources",
|
|
"requestSchema": "CreateReferenceResourceCommand",
|
|
"requestSource": "body",
|
|
"responseSchema": "ReferenceResourcePayload",
|
|
"retry": "runtime",
|
|
"timeoutMs": null
|
|
},
|
|
"GET_REFERENCE_RESOURCE": {
|
|
"auth": "external-session",
|
|
"idempotency": "safe",
|
|
"method": "GET",
|
|
"operationId": "GET_REFERENCE_RESOURCE",
|
|
"owner": "feature-frontend-form-page-platform",
|
|
"path": "/api/reference-resources/{resourceId}",
|
|
"requestSchema": "NoRequest",
|
|
"requestSource": "none",
|
|
"responseSchema": "ReferenceResourcePayload",
|
|
"retry": "runtime",
|
|
"timeoutMs": null
|
|
},
|
|
"LIST_REFERENCE_RESOURCES": {
|
|
"auth": "external-session",
|
|
"idempotency": "safe",
|
|
"method": "GET",
|
|
"operationId": "LIST_REFERENCE_RESOURCES",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"path": "/api/reference-resources",
|
|
"requestSchema": "ReferenceResourceListQuery",
|
|
"requestSource": "search",
|
|
"responseSchema": "ReferenceResourceListPayload",
|
|
"retry": "runtime",
|
|
"timeoutMs": null
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-SCHEMA",
|
|
"owner": "feature-frontend-contract-schema-registry",
|
|
"source": "src/features/installed-feature-contracts.ts",
|
|
"rowCount": 8,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"schemaId",
|
|
"boundary",
|
|
"owner",
|
|
"runtime"
|
|
],
|
|
"fieldTypes": {
|
|
"schemaId": "string",
|
|
"boundary": "string",
|
|
"owner": "string",
|
|
"runtime": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"schemaId"
|
|
],
|
|
"allowedValues": {
|
|
"boundary": [
|
|
"route-params",
|
|
"route-search",
|
|
"route-search-api-request",
|
|
"api-request",
|
|
"api-response"
|
|
],
|
|
"runtime": [
|
|
"zod"
|
|
]
|
|
},
|
|
"references": [],
|
|
"keyField": "schemaId",
|
|
"breakingFields": [
|
|
"schemaId",
|
|
"boundary",
|
|
"runtime"
|
|
]
|
|
},
|
|
"rows": {
|
|
"CreateReferenceResourceCommand": {
|
|
"boundary": "api-request",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"runtime": "zod",
|
|
"schemaId": "CreateReferenceResourceCommand"
|
|
},
|
|
"none": {
|
|
"boundary": "route-params",
|
|
"owner": "feature-frontend-routing-release-recovery-runtime",
|
|
"runtime": "zod",
|
|
"schemaId": "none"
|
|
},
|
|
"NoRequest": {
|
|
"boundary": "api-request",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"runtime": "zod",
|
|
"schemaId": "NoRequest"
|
|
},
|
|
"NotFoundSplat": {
|
|
"boundary": "route-params",
|
|
"owner": "feature-frontend-routing-release-recovery-runtime",
|
|
"runtime": "zod",
|
|
"schemaId": "NotFoundSplat"
|
|
},
|
|
"ReferenceResourceListPayload": {
|
|
"boundary": "api-response",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"runtime": "zod",
|
|
"schemaId": "ReferenceResourceListPayload"
|
|
},
|
|
"ReferenceResourceListQuery": {
|
|
"boundary": "route-search-api-request",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"runtime": "zod",
|
|
"schemaId": "ReferenceResourceListQuery"
|
|
},
|
|
"ReferenceResourceParams": {
|
|
"boundary": "route-params",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"runtime": "zod",
|
|
"schemaId": "ReferenceResourceParams"
|
|
},
|
|
"ReferenceResourcePayload": {
|
|
"boundary": "api-response",
|
|
"owner": "feature-frontend-reference-feature-vertical-slice",
|
|
"runtime": "zod",
|
|
"schemaId": "ReferenceResourcePayload"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-ENV",
|
|
"owner": "feature-frontend-env-runtime-config-contract",
|
|
"source": "src/contracts/env.ts",
|
|
"rowCount": 14,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"phase",
|
|
"classification",
|
|
"required",
|
|
"defaultValue"
|
|
],
|
|
"fieldTypes": {
|
|
"phase": "string",
|
|
"classification": "string",
|
|
"required": "boolean",
|
|
"defaultValue": "string|integer|boolean|null"
|
|
},
|
|
"uniqueFields": [],
|
|
"allowedValues": {
|
|
"phase": [
|
|
"build",
|
|
"runtime"
|
|
],
|
|
"classification": [
|
|
"public",
|
|
"public-sensitive",
|
|
"public-metadata",
|
|
"compile-time"
|
|
]
|
|
},
|
|
"references": [],
|
|
"keyField": null,
|
|
"breakingFields": [
|
|
"phase",
|
|
"classification",
|
|
"required"
|
|
]
|
|
},
|
|
"rows": {
|
|
"API_BASE_URL": {
|
|
"classification": "public-sensitive",
|
|
"defaultValue": null,
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"API_CONTRACT_VERSION": {
|
|
"classification": "public",
|
|
"defaultValue": null,
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"APP_ENV": {
|
|
"classification": "public",
|
|
"defaultValue": null,
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"AUTH_MODE": {
|
|
"classification": "public",
|
|
"defaultValue": "external",
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"CONFIG_SCHEMA_VERSION": {
|
|
"classification": "public",
|
|
"defaultValue": null,
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"MAX_RETRY_ATTEMPTS": {
|
|
"classification": "public",
|
|
"defaultValue": 2,
|
|
"phase": "runtime",
|
|
"required": false
|
|
},
|
|
"RELEASE_MANIFEST_URL": {
|
|
"classification": "public",
|
|
"defaultValue": "/release-manifest.json",
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"REQUEST_TIMEOUT_MS": {
|
|
"classification": "public",
|
|
"defaultValue": 10000,
|
|
"phase": "runtime",
|
|
"required": false
|
|
},
|
|
"TELEMETRY_ENABLED": {
|
|
"classification": "public",
|
|
"defaultValue": false,
|
|
"phase": "runtime",
|
|
"required": true
|
|
},
|
|
"TELEMETRY_ENDPOINT": {
|
|
"classification": "public-sensitive",
|
|
"defaultValue": null,
|
|
"phase": "runtime",
|
|
"required": false
|
|
},
|
|
"VITE_BUILD_ID": {
|
|
"classification": "public-metadata",
|
|
"defaultValue": null,
|
|
"phase": "build",
|
|
"required": true
|
|
},
|
|
"VITE_COMMIT_SHA": {
|
|
"classification": "public-metadata",
|
|
"defaultValue": "local",
|
|
"phase": "build",
|
|
"required": false
|
|
},
|
|
"VITE_ROUTER_BASE_PATH": {
|
|
"classification": "compile-time",
|
|
"defaultValue": "/",
|
|
"phase": "build",
|
|
"required": true
|
|
},
|
|
"VITE_RUNTIME_CONFIG_URL": {
|
|
"classification": "compile-time",
|
|
"defaultValue": "/config.json",
|
|
"phase": "build",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-STORAGE",
|
|
"owner": "feature-frontend-storage-registry-contract",
|
|
"source": "src/contracts/storage-keys.ts",
|
|
"rowCount": 4,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"logicalName",
|
|
"physicalKey",
|
|
"backend",
|
|
"classification",
|
|
"schemaVersion",
|
|
"valueCodec",
|
|
"ttl",
|
|
"migration",
|
|
"quotaFallback"
|
|
],
|
|
"fieldTypes": {
|
|
"logicalName": "string",
|
|
"physicalKey": "string",
|
|
"backend": "string",
|
|
"classification": "string",
|
|
"schemaVersion": "integer",
|
|
"valueCodec": "string",
|
|
"ttl": "integer|string|null",
|
|
"migration": "string",
|
|
"quotaFallback": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"logicalName",
|
|
"physicalKey"
|
|
],
|
|
"allowedValues": {
|
|
"backend": [
|
|
"memory",
|
|
"sessionStorage",
|
|
"localStorage",
|
|
"disabled",
|
|
"forbidden"
|
|
],
|
|
"classification": [
|
|
"public-preference",
|
|
"opaque-cache",
|
|
"sensitive-forbidden"
|
|
],
|
|
"valueCodec": [
|
|
"color-scheme-v1",
|
|
"opaque-string-v1",
|
|
"none"
|
|
],
|
|
"migration": [
|
|
"discard"
|
|
],
|
|
"quotaFallback": [
|
|
"memory",
|
|
"no-persist",
|
|
"feature-disable"
|
|
]
|
|
},
|
|
"references": [],
|
|
"keyField": "logicalName",
|
|
"breakingFields": [
|
|
"logicalName",
|
|
"physicalKey",
|
|
"backend",
|
|
"classification",
|
|
"schemaVersion",
|
|
"valueCodec",
|
|
"migration"
|
|
]
|
|
},
|
|
"rows": {
|
|
"AUTH_TOKEN": {
|
|
"backend": "forbidden",
|
|
"classification": "sensitive-forbidden",
|
|
"logicalName": "AUTH_TOKEN",
|
|
"migration": "discard",
|
|
"name": "auth-token",
|
|
"physicalKey": "ca-frontend:auth:v1:auth-token",
|
|
"quotaFallback": "feature-disable",
|
|
"schemaVersion": 1,
|
|
"scope": "auth",
|
|
"ttl": null,
|
|
"valueCodec": "none"
|
|
},
|
|
"CHUNK_RELOAD_GUARD": {
|
|
"backend": "sessionStorage",
|
|
"classification": "opaque-cache",
|
|
"logicalName": "CHUNK_RELOAD_GUARD",
|
|
"migration": "discard",
|
|
"name": "chunk-reload-guard",
|
|
"physicalKey": "ca-frontend:release:v1:chunk-reload-guard",
|
|
"quotaFallback": "no-persist",
|
|
"schemaVersion": 1,
|
|
"scope": "release",
|
|
"ttl": "session",
|
|
"valueCodec": "opaque-string-v1"
|
|
},
|
|
"COLOR_SCHEME": {
|
|
"backend": "localStorage",
|
|
"classification": "public-preference",
|
|
"logicalName": "COLOR_SCHEME",
|
|
"migration": "discard",
|
|
"name": "color-scheme",
|
|
"physicalKey": "ca-frontend:preference:v1:color-scheme",
|
|
"quotaFallback": "memory",
|
|
"schemaVersion": 1,
|
|
"scope": "preference",
|
|
"ttl": null,
|
|
"valueCodec": "color-scheme-v1"
|
|
},
|
|
"QUERY_PERSISTENCE": {
|
|
"backend": "disabled",
|
|
"classification": "sensitive-forbidden",
|
|
"logicalName": "QUERY_PERSISTENCE",
|
|
"migration": "discard",
|
|
"name": "query-persistence",
|
|
"physicalKey": "ca-frontend:cache:v1:query-persistence",
|
|
"quotaFallback": "feature-disable",
|
|
"schemaVersion": 1,
|
|
"scope": "cache",
|
|
"ttl": null,
|
|
"valueCodec": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-ERROR",
|
|
"owner": "feature-frontend-error-classification-boundary-contract",
|
|
"source": "src/contracts/errors.ts",
|
|
"rowCount": 31,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"kind",
|
|
"defaultRetryable",
|
|
"severity",
|
|
"userMessageKey",
|
|
"action",
|
|
"telemetryEvent",
|
|
"redaction"
|
|
],
|
|
"fieldTypes": {
|
|
"kind": "string",
|
|
"defaultRetryable": "boolean",
|
|
"severity": "string",
|
|
"userMessageKey": "string",
|
|
"action": "string",
|
|
"telemetryEvent": "string",
|
|
"redaction": "array"
|
|
},
|
|
"uniqueFields": [
|
|
"kind"
|
|
],
|
|
"allowedValues": {
|
|
"severity": [
|
|
"info",
|
|
"warning",
|
|
"error"
|
|
],
|
|
"action": [
|
|
"retry",
|
|
"reauth",
|
|
"navigate",
|
|
"reload-once",
|
|
"contact-support",
|
|
"none"
|
|
]
|
|
},
|
|
"references": [],
|
|
"keyField": "kind",
|
|
"breakingFields": [
|
|
"kind",
|
|
"userMessageKey",
|
|
"action",
|
|
"telemetryEvent"
|
|
]
|
|
},
|
|
"rows": {
|
|
"API_CONTRACT_MISMATCH": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "API_CONTRACT_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "app.boot.failed",
|
|
"userMessageKey": "error.api_contract_mismatch"
|
|
},
|
|
"ASSET_MISMATCH": {
|
|
"action": "reload-once",
|
|
"defaultRetryable": false,
|
|
"kind": "ASSET_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "release.mismatch.detected",
|
|
"userMessageKey": "error.asset_mismatch"
|
|
},
|
|
"AUTH_INTEGRATION_FAILURE": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "AUTH_INTEGRATION_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.auth_integration_failure"
|
|
},
|
|
"AUTH_REQUIRED": {
|
|
"action": "reauth",
|
|
"defaultRetryable": false,
|
|
"kind": "AUTH_REQUIRED",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "info",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.auth_required"
|
|
},
|
|
"BOOT_CONFIG_FAILURE": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "BOOT_CONFIG_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "app.boot.failed",
|
|
"userMessageKey": "error.boot_config_failure"
|
|
},
|
|
"BUILD_MISMATCH": {
|
|
"action": "reload-once",
|
|
"defaultRetryable": false,
|
|
"kind": "BUILD_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "release.mismatch.detected",
|
|
"userMessageKey": "error.build_mismatch"
|
|
},
|
|
"CHUNK_LOAD_FAILURE": {
|
|
"action": "reload-once",
|
|
"defaultRetryable": false,
|
|
"kind": "CHUNK_LOAD_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "release.mismatch.detected",
|
|
"userMessageKey": "error.chunk_load_failure"
|
|
},
|
|
"CONFIG_MISMATCH": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "CONFIG_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "app.boot.failed",
|
|
"userMessageKey": "error.config_mismatch"
|
|
},
|
|
"CONFLICT": {
|
|
"action": "retry",
|
|
"defaultRetryable": false,
|
|
"kind": "CONFLICT",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.conflict"
|
|
},
|
|
"CONTENT_TYPE_MISMATCH": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "CONTENT_TYPE_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.content_type_mismatch"
|
|
},
|
|
"DEPLOY_MISMATCH": {
|
|
"action": "reload-once",
|
|
"defaultRetryable": false,
|
|
"kind": "DEPLOY_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "release.mismatch.detected",
|
|
"userMessageKey": "error.deploy_mismatch"
|
|
},
|
|
"ENVELOPE_MISMATCH": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "ENVELOPE_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.envelope_mismatch"
|
|
},
|
|
"FORBIDDEN": {
|
|
"action": "navigate",
|
|
"defaultRetryable": false,
|
|
"kind": "FORBIDDEN",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.forbidden"
|
|
},
|
|
"MALFORMED_JSON": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "MALFORMED_JSON",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.malformed_json"
|
|
},
|
|
"NETWORK_UNREACHABLE": {
|
|
"action": "retry",
|
|
"defaultRetryable": true,
|
|
"kind": "NETWORK_UNREACHABLE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.network_unreachable"
|
|
},
|
|
"NOT_FOUND": {
|
|
"action": "navigate",
|
|
"defaultRetryable": false,
|
|
"kind": "NOT_FOUND",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "info",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.not_found"
|
|
},
|
|
"QUERY_CACHE_FAILURE": {
|
|
"action": "retry",
|
|
"defaultRetryable": false,
|
|
"kind": "QUERY_CACHE_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "query.cache.failed",
|
|
"userMessageKey": "error.query_cache_failure"
|
|
},
|
|
"RATE_LIMITED": {
|
|
"action": "retry",
|
|
"defaultRetryable": true,
|
|
"kind": "RATE_LIMITED",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.rate_limited"
|
|
},
|
|
"RELEASE_MANIFEST_FAILURE": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "RELEASE_MANIFEST_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "app.boot.failed",
|
|
"userMessageKey": "error.release_manifest_failure"
|
|
},
|
|
"RELEASE_MISMATCH": {
|
|
"action": "reload-once",
|
|
"defaultRetryable": false,
|
|
"kind": "RELEASE_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "release.mismatch.detected",
|
|
"userMessageKey": "error.release_mismatch"
|
|
},
|
|
"RENDER_FAILURE": {
|
|
"action": "reload-once",
|
|
"defaultRetryable": false,
|
|
"kind": "RENDER_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "ui.render.failed",
|
|
"userMessageKey": "error.render_failure"
|
|
},
|
|
"REQUEST_ABORTED": {
|
|
"action": "none",
|
|
"defaultRetryable": false,
|
|
"kind": "REQUEST_ABORTED",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "info",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.request_aborted"
|
|
},
|
|
"REQUEST_TIMEOUT": {
|
|
"action": "retry",
|
|
"defaultRetryable": true,
|
|
"kind": "REQUEST_TIMEOUT",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.request_timeout"
|
|
},
|
|
"SCHEMA_MISMATCH": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "SCHEMA_MISMATCH",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.schema_mismatch"
|
|
},
|
|
"SERVER_FAILURE": {
|
|
"action": "retry",
|
|
"defaultRetryable": true,
|
|
"kind": "SERVER_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.server_failure"
|
|
},
|
|
"STORAGE_QUOTA_EXCEEDED": {
|
|
"action": "none",
|
|
"defaultRetryable": false,
|
|
"kind": "STORAGE_QUOTA_EXCEEDED",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "storage.operation.failed",
|
|
"userMessageKey": "error.storage_quota_exceeded"
|
|
},
|
|
"STORAGE_UNAVAILABLE": {
|
|
"action": "none",
|
|
"defaultRetryable": false,
|
|
"kind": "STORAGE_UNAVAILABLE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "storage.operation.failed",
|
|
"userMessageKey": "error.storage_unavailable"
|
|
},
|
|
"TELEMETRY_FAILURE": {
|
|
"action": "none",
|
|
"defaultRetryable": false,
|
|
"kind": "TELEMETRY_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "info",
|
|
"telemetryEvent": "telemetry.delivery.dropped",
|
|
"userMessageKey": "error.telemetry_failure"
|
|
},
|
|
"UNKNOWN_CLIENT_FAILURE": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "UNKNOWN_CLIENT_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "warning",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.unknown_client_failure"
|
|
},
|
|
"UNKNOWN_FAILURE": {
|
|
"action": "contact-support",
|
|
"defaultRetryable": false,
|
|
"kind": "UNKNOWN_FAILURE",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "error",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.unknown_failure"
|
|
},
|
|
"VALIDATION_REJECTED": {
|
|
"action": "none",
|
|
"defaultRetryable": false,
|
|
"kind": "VALIDATION_REJECTED",
|
|
"redaction": [
|
|
"authorization",
|
|
"body",
|
|
"cause",
|
|
"headers",
|
|
"query",
|
|
"stack",
|
|
"storageValue",
|
|
"url"
|
|
],
|
|
"severity": "info",
|
|
"telemetryEvent": "api.request.failed",
|
|
"userMessageKey": "error.validation_rejected"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-QUERY",
|
|
"owner": "feature-frontend-server-state-caching-contract",
|
|
"source": "src/features/installed-feature-contracts.ts",
|
|
"rowCount": 1,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"namespace",
|
|
"serialization",
|
|
"identity",
|
|
"invalidation",
|
|
"invalidationTopic",
|
|
"crossContext",
|
|
"version",
|
|
"persistence"
|
|
],
|
|
"fieldTypes": {
|
|
"namespace": "array",
|
|
"serialization": "string",
|
|
"identity": "string",
|
|
"invalidation": "string",
|
|
"invalidationTopic": "string",
|
|
"crossContext": "string",
|
|
"version": "integer",
|
|
"persistence": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"namespace",
|
|
"invalidationTopic"
|
|
],
|
|
"allowedValues": {
|
|
"crossContext": [
|
|
"invalidate-only"
|
|
],
|
|
"persistence": [
|
|
"disabled"
|
|
]
|
|
},
|
|
"references": [],
|
|
"keyField": null,
|
|
"breakingFields": [
|
|
"namespace",
|
|
"serialization",
|
|
"identity",
|
|
"invalidationTopic",
|
|
"crossContext",
|
|
"version",
|
|
"persistence"
|
|
]
|
|
},
|
|
"rows": {
|
|
"REFERENCE_RESOURCE": {
|
|
"crossContext": "invalidate-only",
|
|
"identity": "no-pii-token-or-raw-url",
|
|
"invalidation": "reference resource namespace after successful mutation",
|
|
"invalidationTopic": "qinv.01k10f7m3w9p6r2c8v5n4x",
|
|
"namespace": [
|
|
"reference-resource",
|
|
1
|
|
],
|
|
"persistence": "disabled",
|
|
"serialization": "canonical-object-order",
|
|
"version": 1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-TELEMETRY",
|
|
"owner": "feature-frontend-diagnostics-telemetry-runtime",
|
|
"source": "src/contracts/telemetry.ts",
|
|
"rowCount": 5,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"eventName",
|
|
"trigger",
|
|
"requiredAttributes",
|
|
"optionalAttributes",
|
|
"forbiddenAttributes",
|
|
"sampling",
|
|
"delivery"
|
|
],
|
|
"fieldTypes": {
|
|
"eventName": "string",
|
|
"trigger": "string",
|
|
"requiredAttributes": "array",
|
|
"optionalAttributes": "array",
|
|
"forbiddenAttributes": "array",
|
|
"sampling": "string",
|
|
"delivery": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"eventName"
|
|
],
|
|
"allowedValues": {
|
|
"delivery": [
|
|
"best-effort"
|
|
]
|
|
},
|
|
"references": [],
|
|
"keyField": "eventName",
|
|
"breakingFields": [
|
|
"eventName",
|
|
"requiredAttributes",
|
|
"forbiddenAttributes",
|
|
"delivery"
|
|
]
|
|
},
|
|
"rows": {
|
|
"api.request.failed": {
|
|
"delivery": "best-effort",
|
|
"eventName": "api.request.failed",
|
|
"forbiddenAttributes": [
|
|
"access_token",
|
|
"authorization_header",
|
|
"cookie",
|
|
"email",
|
|
"query_string",
|
|
"raw_url",
|
|
"raw_user_id",
|
|
"refresh_token",
|
|
"request_body",
|
|
"response_body",
|
|
"stack_in_user_message",
|
|
"storage_value",
|
|
"user_name"
|
|
],
|
|
"optionalAttributes": [
|
|
"duration_bucket",
|
|
"operation_id"
|
|
],
|
|
"requiredAttributes": [
|
|
"attempt_count_bucket",
|
|
"error_kind",
|
|
"http_status_group",
|
|
"route_id"
|
|
],
|
|
"sampling": "all",
|
|
"trigger": "terminal API failure"
|
|
},
|
|
"app.boot.failed": {
|
|
"delivery": "best-effort",
|
|
"eventName": "app.boot.failed",
|
|
"forbiddenAttributes": [
|
|
"access_token",
|
|
"authorization_header",
|
|
"cookie",
|
|
"email",
|
|
"query_string",
|
|
"raw_url",
|
|
"raw_user_id",
|
|
"refresh_token",
|
|
"request_body",
|
|
"response_body",
|
|
"stack_in_user_message",
|
|
"storage_value",
|
|
"user_name"
|
|
],
|
|
"optionalAttributes": [],
|
|
"requiredAttributes": [
|
|
"build_id",
|
|
"config_schema_version",
|
|
"error_kind"
|
|
],
|
|
"sampling": "all",
|
|
"trigger": "boot validation failure"
|
|
},
|
|
"release.mismatch.detected": {
|
|
"delivery": "best-effort",
|
|
"eventName": "release.mismatch.detected",
|
|
"forbiddenAttributes": [
|
|
"access_token",
|
|
"authorization_header",
|
|
"cookie",
|
|
"email",
|
|
"query_string",
|
|
"raw_url",
|
|
"raw_user_id",
|
|
"refresh_token",
|
|
"request_body",
|
|
"response_body",
|
|
"stack_in_user_message",
|
|
"storage_value",
|
|
"user_name"
|
|
],
|
|
"optionalAttributes": [],
|
|
"requiredAttributes": [
|
|
"active_release_id",
|
|
"build_id",
|
|
"mismatch_kind"
|
|
],
|
|
"sampling": "all",
|
|
"trigger": "release tuple mismatch"
|
|
},
|
|
"telemetry.delivery.dropped": {
|
|
"delivery": "best-effort",
|
|
"eventName": "telemetry.delivery.dropped",
|
|
"forbiddenAttributes": [
|
|
"access_token",
|
|
"authorization_header",
|
|
"cookie",
|
|
"email",
|
|
"query_string",
|
|
"raw_url",
|
|
"raw_user_id",
|
|
"refresh_token",
|
|
"request_body",
|
|
"response_body",
|
|
"stack_in_user_message",
|
|
"storage_value",
|
|
"user_name"
|
|
],
|
|
"optionalAttributes": [],
|
|
"requiredAttributes": [
|
|
"queue_size_bucket",
|
|
"reason"
|
|
],
|
|
"sampling": "internal-counter",
|
|
"trigger": "queue or sink failure"
|
|
},
|
|
"ui.render.failed": {
|
|
"delivery": "best-effort",
|
|
"eventName": "ui.render.failed",
|
|
"forbiddenAttributes": [
|
|
"access_token",
|
|
"authorization_header",
|
|
"cookie",
|
|
"email",
|
|
"query_string",
|
|
"raw_url",
|
|
"raw_user_id",
|
|
"refresh_token",
|
|
"request_body",
|
|
"response_body",
|
|
"stack_in_user_message",
|
|
"storage_value",
|
|
"user_name"
|
|
],
|
|
"optionalAttributes": [],
|
|
"requiredAttributes": [
|
|
"build_id",
|
|
"component_boundary",
|
|
"route_id"
|
|
],
|
|
"sampling": "all",
|
|
"trigger": "React boundary catch"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"registryId": "FE-REG-RELEASE",
|
|
"owner": "feature-frontend-release-cache-rollback-contract",
|
|
"source": "src/contracts/release-tokens.ts",
|
|
"rowCount": 8,
|
|
"contract": {
|
|
"requiredFields": [
|
|
"token",
|
|
"source",
|
|
"compatibilityRole"
|
|
],
|
|
"fieldTypes": {
|
|
"token": "string",
|
|
"source": "string",
|
|
"compatibilityRole": "string"
|
|
},
|
|
"uniqueFields": [
|
|
"token"
|
|
],
|
|
"allowedValues": {},
|
|
"references": [],
|
|
"keyField": "token",
|
|
"breakingFields": [
|
|
"token",
|
|
"source",
|
|
"compatibilityRole"
|
|
]
|
|
},
|
|
"rows": {
|
|
"apiContractVersion": {
|
|
"compatibilityRole": "schema compatibility",
|
|
"source": "frontend/backend agreement",
|
|
"token": "apiContractVersion"
|
|
},
|
|
"appVersion": {
|
|
"compatibilityRole": "human release label",
|
|
"source": "manifest",
|
|
"token": "appVersion"
|
|
},
|
|
"assetManifestHash": {
|
|
"compatibilityRole": "chunk integrity and mismatch detection",
|
|
"source": "build output",
|
|
"token": "assetManifestHash"
|
|
},
|
|
"buildId": {
|
|
"compatibilityRole": "asset and HTML coherence",
|
|
"source": "CI build",
|
|
"token": "buildId"
|
|
},
|
|
"builtAt": {
|
|
"compatibilityRole": "diagnostics only; never cache identity",
|
|
"source": "CI",
|
|
"token": "builtAt"
|
|
},
|
|
"commitSha": {
|
|
"compatibilityRole": "source traceability",
|
|
"source": "VCS",
|
|
"token": "commitSha"
|
|
},
|
|
"configSchemaVersion": {
|
|
"compatibilityRole": "boot compatibility",
|
|
"source": "runtime config schema",
|
|
"token": "configSchemaVersion"
|
|
},
|
|
"releaseId": {
|
|
"compatibilityRole": "rollback target",
|
|
"source": "deploy system",
|
|
"token": "releaseId"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|