{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-factory-controller-service-runtime-bootstrap.v1.schema.json",
  "title": "REITs Runner Factory Controller service runtime bootstrap",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "scope", "truth", "implementation", "operations", "chain", "stateModel", "invariants", "verification", "failureClasses", "productionPrerequisites", "fixtureRegistry", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-factory-controller-service-runtime-bootstrap/v1" },
    "status": { "const": "SERVICE_RUNTIME_BOOTSTRAP_IMPLEMENTED_NOT_INSTALLED" },
    "observedAt": { "const": "2026-07-21T00:00:00Z" },
    "scope": {
      "type": "object",
      "required": ["mode", "configurationInput", "readinessInput", "output", "networkAuthority", "productionWebhookPolicy", "mutationPolicy"],
      "properties": {
        "mode": { "const": "TEST_ONLY_SERVICE_HANDLER_NO_LISTENER" },
        "configurationInput": { "const": "VERIFIED_RESOLVED_BUNDLE_ONLY" },
        "readinessInput": { "const": "ELEVEN_SIGNED_GATE_ATTESTATIONS" },
        "output": { "const": "OPAQUE_IN_MEMORY_REQUEST_HANDLER" },
        "networkAuthority": { "const": "NONE" },
        "productionWebhookPolicy": { "const": "ALWAYS_BLOCKED" },
        "mutationPolicy": { "const": "NO_WRITE_NO_LISTENER_NO_LIFECYCLE_ADAPTER" }
      },
      "additionalProperties": false
    },
    "truth": {
      "type": "object",
      "required": ["productionBootstraps", "productionServiceHandlers", "configuredReadinessGates", "runtimeBootstrapReceipts", "runtimeHandlerProjections", "controllerListeners", "productionWebhooksAccepted", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "secretValuesRecorded", "paidResourcesCreated", "deploymentPermitted"],
      "properties": {
        "productionBootstraps": { "const": 0 }, "productionServiceHandlers": { "const": 0 }, "configuredReadinessGates": { "const": 0 }, "runtimeBootstrapReceipts": { "const": 0 }, "runtimeHandlerProjections": { "const": 0 }, "controllerListeners": { "const": 0 }, "productionWebhooksAccepted": { "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", "minProperties": 8 },
    "operations": { "type": "array", "minItems": 4, "maxItems": 4 },
    "chain": { "type": "array", "minItems": 5, "maxItems": 5 },
    "stateModel": { "type": "array", "minItems": 8, "maxItems": 8 },
    "invariants": { "type": "array", "minItems": 30, "maxItems": 30 },
    "verification": {
      "type": "object",
      "required": ["status", "fixtures", "acceptedOutcomes", "deniedOutcomes", "readyHandlerProjections", "blockedReadinessCases", "attestationDenials", "runtimeIdentityDenials", "configurationAndFactoryDenials", "serviceFactoryDenials", "constructorDenials", "capabilityDenials", "receiptDenials", "timeDenials", "cleanupDenials", "productionWebhooksAccepted", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "listenerStarts"],
      "properties": {
        "status": { "const": "PASS_FIXTURE_ONLY" }, "fixtures": { "const": 40 }, "acceptedOutcomes": { "const": 7 }, "deniedOutcomes": { "const": 33 }, "readyHandlerProjections": { "const": 4 }, "blockedReadinessCases": { "const": 2 }, "attestationDenials": { "const": 10 }, "runtimeIdentityDenials": { "const": 3 }, "configurationAndFactoryDenials": { "const": 4 }, "serviceFactoryDenials": { "const": 3 }, "constructorDenials": { "const": 3 }, "capabilityDenials": { "const": 3 }, "receiptDenials": { "const": 2 }, "timeDenials": { "const": 2 }, "cleanupDenials": { "const": 1 }, "productionWebhooksAccepted": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "mutationsExecuted": { "const": 0 }, "listenerStarts": { "const": 0 }
      },
      "additionalProperties": false
    },
    "failureClasses": { "type": "array", "minItems": 7, "maxItems": 7 },
    "productionPrerequisites": { "type": "array", "minItems": 9, "maxItems": 9 },
    "fixtureRegistry": {
      "type": "object",
      "required": ["schemaVersion", "fixedTime", "cases"],
      "properties": {
        "schemaVersion": { "const": "developer.reits.tech/runner-factory-controller-service-runtime-bootstrap-fixtures/v1" },
        "fixedTime": { "const": "2026-07-21T00:00:00.000Z" },
        "cases": { "type": "array", "minItems": 40, "maxItems": 40 }
      },
      "additionalProperties": false
    },
    "discovery": {
      "type": "object",
      "required": ["controller", "configuration", "composition", "assembly", "servicePackage", "workbench", "schema"],
      "properties": {
        "controller": { "const": "/api/runner-factory/controller" },
        "configuration": { "const": "/api/runner-factory/controller/runtime-configuration" },
        "composition": { "const": "/api/runner-factory/controller/bootstrap-composition" },
        "assembly": { "const": "/api/runner-factory/controller/runtime-assembly" },
        "servicePackage": { "const": "/api/runner-factory/controller" },
        "workbench": { "const": "/release-foundation#service-runtime-bootstrap" },
        "schema": { "const": "/schemas/runner-factory-controller-service-runtime-bootstrap.v1.schema.json" }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
