{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-factory-controller-runtime-configuration.v1.schema.json",
  "title": "REITs Runner Factory Controller runtime configuration dossier",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "scope", "truth", "implementation", "operations", "referenceTypes", "stateModel", "invariants", "verification", "failureClasses", "productionPrerequisites", "fixtureRegistry", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-factory-controller-runtime-configuration/v1" },
    "status": { "const": "CONFIGURATION_LOADER_IMPLEMENTED_NOT_INSTALLED" },
    "observedAt": { "type": "string", "format": "date-time" },
    "scope": {
      "type": "object",
      "required": ["mode", "manifestPath", "owner", "group", "fileMode", "maxBytes", "configRefs", "keyRefs", "resolutionMaxAgeSeconds", "secretPolicy", "mutationPolicy"],
      "properties": {
        "mode": { "const": "ROOT_OWNED_MANIFEST_AND_REFERENCE_RESOLUTION_ONLY" },
        "manifestPath": { "const": "/etc/reits-runner-factory/controller-runtime.json" },
        "owner": { "const": "root" },
        "group": { "const": "reits-runner-factory" },
        "fileMode": { "const": "0640" },
        "maxBytes": { "const": 65536 },
        "configRefs": { "const": 11 },
        "keyRefs": { "const": 1 },
        "resolutionMaxAgeSeconds": { "const": 300 },
        "secretPolicy": { "const": "SECRETREF_ONLY_NO_SECRET_VALUE" },
        "mutationPolicy": { "const": "NO_INSTALL_NO_ADAPTER_CONSTRUCTION_NO_WRITE" }
      },
      "additionalProperties": false
    },
    "truth": {
      "type": "object",
      "required": ["manifestInstalled", "productionFileReads", "configuredConfigRefs", "configuredKeyRefs", "runtimeConfigurationBundles", "runtimeAdaptersConstructed", "controllerListeners", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "secretValuesRecorded", "paidResourcesCreated", "deploymentPermitted"],
      "properties": {
        "manifestInstalled": { "const": false }, "productionFileReads": { "const": 0 }, "configuredConfigRefs": { "const": 0 }, "configuredKeyRefs": { "const": 0 }, "runtimeConfigurationBundles": { "const": 0 }, "runtimeAdaptersConstructed": { "const": 0 }, "controllerListeners": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "mutationsExecuted": { "const": 0 }, "secretValuesRecorded": { "const": 0 }, "paidResourcesCreated": { "const": false }, "deploymentPermitted": { "const": false }
      },
      "additionalProperties": false
    },
    "implementation": {
      "type": "object",
      "required": ["loader", "assembly", "fixtureRegistry", "verifier", "productionManifest", "productionConfigStore", "productionTrustStore"],
      "properties": {
        "loader": { "const": "ops/runner-factory/controller-runtime-configuration.mjs" }, "assembly": { "const": "ops/runner-factory/controller-runtime-assembly.mjs" }, "fixtureRegistry": { "const": "ops/runner-factory/controller-runtime-configuration-fixtures.json" }, "verifier": { "const": "scripts/verify-runner-factory-controller-runtime-configuration.mjs" }, "productionManifest": { "const": "NOT_INSTALLED" }, "productionConfigStore": { "const": "NOT_CONFIGURED" }, "productionTrustStore": { "const": "NOT_CONFIGURED" }
      },
      "additionalProperties": false
    },
    "operations": { "type": "array", "minItems": 5, "maxItems": 5, "items": { "type": "object", "required": ["id", "guard", "result"], "properties": { "id": { "enum": ["loadManifest", "resolveConfigRefs", "resolveKeyRef", "prepare", "verify"] }, "guard": { "type": "string", "minLength": 20 }, "result": { "type": "string", "minLength": 20 } }, "additionalProperties": false } },
    "referenceTypes": { "type": "array", "minItems": 7, "maxItems": 7, "items": { "type": "object", "required": ["kind", "count", "constraint"], "properties": { "kind": { "enum": ["DYNAMODB_TABLE_ARN", "IAM_ROLE_ARN", "AWS_REGION", "HTTPS_ORIGIN", "SECRET_REF", "ROOT_AGENT_SOCKET", "ECDSA_P256_SHA256"] }, "count": { "type": "integer", "minimum": 1, "maximum": 4 }, "constraint": { "type": "string", "minLength": 10 } }, "additionalProperties": false } },
    "stateModel": { "type": "array", "minItems": 6, "maxItems": 6, "items": { "type": "object", "required": ["id", "meaning"], "properties": { "id": { "enum": ["UNLOADED", "FILE_VERIFIED", "MANIFEST_VALIDATED", "REFERENCES_PARTIAL", "CONFIGURATION_RESOLVED", "DENIED_INTEGRITY"] }, "meaning": { "type": "string", "minLength": 20 } }, "additionalProperties": false } },
    "invariants": { "type": "array", "minItems": 24, "maxItems": 24, "items": { "type": "string", "minLength": 20 } },
    "verification": {
      "type": "object",
      "required": ["status", "fixtures", "resolvedBundles", "blockedBundles", "deniedInputs", "configRefs", "keyRefs", "referenceTypes", "deterministicReplays", "tamperedBundlesDenied", "secretValuesRecorded", "externalWritesExecuted", "mutationsExecuted"],
      "properties": { "status": { "const": "PASS_FIXTURE_ONLY" }, "fixtures": { "const": 36 }, "resolvedBundles": { "const": 2 }, "blockedBundles": { "const": 5 }, "deniedInputs": { "const": 29 }, "configRefs": { "const": 11 }, "keyRefs": { "const": 1 }, "referenceTypes": { "const": 7 }, "deterministicReplays": { "const": 1 }, "tamperedBundlesDenied": { "const": 1 }, "secretValuesRecorded": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "mutationsExecuted": { "const": 0 } },
      "additionalProperties": false
    },
    "failureClasses": { "type": "array", "minItems": 5, "maxItems": 5, "items": { "type": "object", "required": ["code", "effect"], "properties": { "code": { "type": "string", "pattern": "^[A-Z0-9_|]+$" }, "effect": { "type": "string", "minLength": 20 } }, "additionalProperties": false } },
    "productionPrerequisites": { "type": "array", "minItems": 8, "maxItems": 8, "items": { "type": "string", "minLength": 20 } },
    "fixtureRegistry": {
      "type": "object", "required": ["schemaVersion", "fixedTime", "cases"],
      "properties": { "schemaVersion": { "const": "developer.reits.tech/runner-factory-controller-runtime-configuration-fixtures/v1" }, "fixedTime": { "const": "2026-07-20T21:30:00.000Z" }, "cases": { "type": "array", "minItems": 36, "maxItems": 36, "items": { "oneOf": [
        { "type": "object", "required": ["id", "profile", "expected", "status", "resolved"], "properties": { "id": { "type": "string", "pattern": "^RFRC-[0-9]{2}$" }, "profile": { "type": "string", "pattern": "^[a-z][a-z0-9-]+$" }, "expected": { "const": "PREPARE" }, "status": { "enum": ["CONFIGURATION_RESOLVED", "BLOCKED_CONFIGURATION"] }, "resolved": { "type": "integer", "minimum": 0, "maximum": 12 } }, "additionalProperties": false },
        { "type": "object", "required": ["id", "profile", "expected", "errorCode"], "properties": { "id": { "type": "string", "pattern": "^RFRC-[0-9]{2}$" }, "profile": { "type": "string", "pattern": "^[a-z][a-z0-9-]+$" }, "expected": { "const": "DENY" }, "errorCode": { "type": "string", "pattern": "^RF_RUNTIME_CONFIG_[A-Z_]+$" } }, "additionalProperties": false }
      ] } } },
      "additionalProperties": false
    },
    "discovery": {
      "type": "object", "required": ["controller", "runtimeAssembly", "workbench", "schema"],
      "properties": { "controller": { "const": "/api/runner-factory/controller" }, "runtimeAssembly": { "const": "/api/runner-factory/controller/runtime-assembly" }, "workbench": { "const": "/release-foundation#runtime-configuration" }, "schema": { "const": "/schemas/runner-factory-controller-runtime-configuration.v1.schema.json" } },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
