{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-factory-controller-production-evidence-admission.v1.schema.json",
  "title": "REITs Runner Factory Controller production evidence admission",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "scope", "truth", "requirements", "operations", "stateModel", "invariants", "verification", "productionPrerequisites", "fixtureRegistry", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-factory-controller-production-evidence-admission/v1" },
    "status": { "const": "PRODUCTION_EVIDENCE_ADMISSION_IMPLEMENTED_NOT_CONFIGURED" },
    "observedAt": { "type": "string", "format": "date-time" },
    "scope": {
      "type": "object",
      "required": ["mode", "input", "output", "networkAuthority", "deploymentAuthority", "mutationPolicy"],
      "properties": {
        "mode": { "const": "TEST_ONLY_PRODUCTION_EVIDENCE_NO_DEPLOYMENT" },
        "input": { "const": "SIGNED_RELEASE_HOST_SERVICE_ADAPTER_GATE_EVIDENCE" },
        "output": { "const": "OPAQUE_READ_ONLY_EVIDENCE_DOSSIER" },
        "networkAuthority": { "const": "NONE" },
        "deploymentAuthority": { "const": "NONE" },
        "mutationPolicy": { "const": "VERIFY_ONLY_NO_EXTERNAL_READ_NO_WRITE_NO_LISTENER" }
      },
      "additionalProperties": false
    },
    "truth": {
      "type": "object",
      "required": ["productionAdmissionReceipts", "productionHostReceipts", "productionServiceIdentityReceipts", "qualifiedProductionAdapters", "configuredReadinessGates", "listenerAuthorizations", "controllerListeners", "productionWebhooksAccepted", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "secretValuesRecorded", "paidResourcesCreated", "deploymentPermitted"],
      "properties": {
        "productionAdmissionReceipts": { "const": 0 }, "productionHostReceipts": { "const": 0 }, "productionServiceIdentityReceipts": { "const": 0 }, "qualifiedProductionAdapters": { "const": 0 }, "configuredReadinessGates": { "const": 0 }, "listenerAuthorizations": { "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
    },
    "requirements": {
      "type": "array", "minItems": 6, "maxItems": 6,
      "items": { "type": "object", "required": ["id", "count", "proof"], "properties": { "id": { "type": "string" }, "count": { "type": "integer", "minimum": 1 }, "proof": { "type": "string" } }, "additionalProperties": false }
    },
    "operations": {
      "type": "array", "minItems": 4, "maxItems": 4,
      "items": { "type": "object", "required": ["id", "guard", "result"], "properties": { "id": { "enum": ["admit", "verify", "project", "dispose"] }, "guard": { "type": "string" }, "result": { "type": "string" } }, "additionalProperties": false }
    },
    "stateModel": {
      "type": "array", "minItems": 8, "maxItems": 8,
      "items": { "type": "object", "required": ["id", "meaning"], "properties": { "id": { "type": "string" }, "meaning": { "type": "string" } }, "additionalProperties": false }
    },
    "invariants": { "type": "array", "minItems": 34, "maxItems": 34, "items": { "type": "string" } },
    "verification": {
      "type": "object",
      "required": ["status", "fixtures", "acceptedOutcomes", "deniedOutcomes", "fixtureEvidenceSignaturesVerified", "productionAdmissionReceipts", "productionAdaptersQualified", "productionReadinessGates", "listenerStarts", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted"],
      "properties": {
        "status": { "const": "PASS_FIXTURE_ONLY" }, "fixtures": { "const": 56 }, "acceptedOutcomes": { "const": 6 }, "deniedOutcomes": { "const": 50 }, "fixtureEvidenceSignaturesVerified": { "const": 339 }, "productionAdmissionReceipts": { "const": 0 }, "productionAdaptersQualified": { "const": 0 }, "productionReadinessGates": { "const": 0 }, "listenerStarts": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "mutationsExecuted": { "const": 0 }
      },
      "additionalProperties": false
    },
    "productionPrerequisites": { "type": "array", "minItems": 9, "maxItems": 9, "items": { "type": "string" } },
    "fixtureRegistry": {
      "type": "object",
      "required": ["schemaVersion", "fixedTime", "cases"],
      "properties": {
        "schemaVersion": { "const": "developer.reits.tech/runner-factory-controller-production-evidence-admission-fixtures/v1" },
        "fixedTime": { "const": "2026-07-21T03:00:00.000Z" },
        "cases": {
          "type": "array", "minItems": 56, "maxItems": 56,
          "items": { "type": "object", "required": ["id", "profile", "expected"], "properties": { "id": { "pattern": "^RFEA-[0-9]{2}$" }, "profile": { "type": "string" }, "expected": { "enum": ["ACCEPT", "DENY"] }, "outcome": { "type": "string" }, "errorCode": { "type": "string" } }, "additionalProperties": false }
        }
      },
      "additionalProperties": false
    },
    "discovery": {
      "type": "object",
      "required": ["controller", "serviceRuntimeBootstrap", "workbench", "schema"],
      "properties": {
        "controller": { "const": "/api/runner-factory/controller" },
        "serviceRuntimeBootstrap": { "const": "/api/runner-factory/controller/service-runtime-bootstrap" },
        "workbench": { "const": "/release-foundation#production-evidence-admission" },
        "schema": { "const": "/schemas/runner-factory-controller-production-evidence-admission.v1.schema.json" }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
