{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-factory-controller-d05-acceptance-closure.v1.schema.json",
  "title": "REITS Runner Factory D05 Acceptance Closure Dossier",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "mode", "program", "operations", "decisionClasses", "closureGates", "decisionSeats", "invariants", "selectedDenialTrace", "truth", "fixtureRegistry", "verification", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-factory-d05-acceptance-closure-contract/v1" },
    "status": { "const": "D05_ACCEPTANCE_CLOSURE_DOSSIER_IMPLEMENTED_FAIL_CLOSED" },
    "observedAt": { "type": "string", "format": "date-time" },
    "mode": { "const": "EVIDENCE_DIRECTORY_ONLY_NO_ACCEPTANCE_NO_DEPLOYMENT_NO_LISTENER_NO_EXTERNAL_EFFECT" },
    "program": {
      "type": "object",
      "required": ["acceptedKnives", "totalKnives", "currentKnife", "remainingIncludingCurrent", "remainingAfterAcceptance", "productUiAccepted", "productUiTotal", "controllerReadinessSatisfied", "controllerReadinessTotal", "d05Accepted"],
      "properties": {
        "acceptedKnives": { "const": 4 },
        "totalKnives": { "const": 36 },
        "currentKnife": { "const": "D05" },
        "remainingIncludingCurrent": { "const": 32 },
        "remainingAfterAcceptance": { "const": 31 },
        "productUiAccepted": { "const": 0 },
        "productUiTotal": { "const": 85 },
        "controllerReadinessSatisfied": { "const": 0 },
        "controllerReadinessTotal": { "const": 11 },
        "d05Accepted": { "const": false }
      },
      "additionalProperties": false
    },
    "operations": { "type": "array", "minItems": 4, "maxItems": 4, "uniqueItems": true, "items": { "type": "string" } },
    "decisionClasses": {
      "type": "array",
      "minItems": 3,
      "maxItems": 3,
      "items": {
        "type": "object",
        "required": ["id", "meaning", "effectAuthority"],
        "properties": {
          "id": { "enum": ["D05_ACCEPTANCE_DENIED", "D05_ACCEPTANCE_REVIEW_REQUIRED", "D05_ACCEPTANCE_ELIGIBILITY_UNOBSERVED"] },
          "meaning": { "type": "string" },
          "effectAuthority": { "const": "NONE" }
        },
        "additionalProperties": false
      }
    },
    "closureGates": {
      "type": "array",
      "minItems": 11,
      "maxItems": 11,
      "items": {
        "type": "object",
        "required": ["id", "name", "owner", "requiredEvidence", "liveReceiptsObserved", "status"],
        "properties": {
          "id": { "type": "string", "pattern": "^D05-G(0[1-9]|1[01])$" },
          "name": { "type": "string" },
          "owner": { "type": "string" },
          "requiredEvidence": { "type": "string" },
          "liveReceiptsObserved": { "const": 0 },
          "status": { "const": "NOT_OBSERVED" }
        },
        "additionalProperties": false
      }
    },
    "decisionSeats": {
      "type": "array",
      "minItems": 5,
      "maxItems": 5,
      "items": {
        "type": "object",
        "required": ["ordinal", "seat", "authority", "requiredBinding", "signed", "mayAcceptD05", "mayStartController"],
        "properties": {
          "ordinal": { "type": "integer", "minimum": 1, "maximum": 5 },
          "seat": { "type": "string" },
          "authority": { "type": "string" },
          "requiredBinding": { "type": "string" },
          "signed": { "const": false },
          "mayAcceptD05": { "const": false },
          "mayStartController": { "const": false }
        },
        "additionalProperties": false
      }
    },
    "invariants": { "type": "array", "minItems": 12, "maxItems": 12, "uniqueItems": true, "items": { "type": "string" } },
    "selectedDenialTrace": {
      "type": "object",
      "required": ["fixtureId", "mutation", "expected", "reason"],
      "properties": {
        "fixtureId": { "const": "D05C-023" },
        "mutation": { "const": "FORGE_D05_ACCEPTED_TRUE" },
        "expected": { "const": "DENY" },
        "reason": { "type": "string" }
      },
      "additionalProperties": false
    },
    "truth": {
      "type": "object",
      "required": ["closureGatesSatisfied", "liveEvidenceReceiptsObserved", "independentSignaturesObserved", "d05AcceptanceDecisionsObserved", "controllerReadinessSatisfied", "controllerListeners", "listenerStarts", "publicRoutes", "reverseProxyRoutes", "systemdUnitsInstalled", "productionHandlersConstructed", "productionWebhooksAccepted", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "paidResourcesCreated", "d05Accepted", "deploymentPermitted"],
      "properties": {
        "closureGatesSatisfied": { "const": 0 },
        "liveEvidenceReceiptsObserved": { "const": 0 },
        "independentSignaturesObserved": { "const": 0 },
        "d05AcceptanceDecisionsObserved": { "const": 0 },
        "controllerReadinessSatisfied": { "const": 0 },
        "controllerListeners": { "const": 0 },
        "listenerStarts": { "const": 0 },
        "publicRoutes": { "const": 0 },
        "reverseProxyRoutes": { "const": 0 },
        "systemdUnitsInstalled": { "const": 0 },
        "productionHandlersConstructed": { "const": 0 },
        "productionWebhooksAccepted": { "const": 0 },
        "externalReadsExecuted": { "const": 0 },
        "externalWritesExecuted": { "const": 0 },
        "mutationsExecuted": { "const": 0 },
        "paidResourcesCreated": { "const": false },
        "d05Accepted": { "const": false },
        "deploymentPermitted": { "const": false }
      },
      "additionalProperties": false
    },
    "fixtureRegistry": {
      "type": "object",
      "required": ["schemaVersion", "mode", "cases", "validatedShapeCases", "deniedCases", "liveEvidenceReceiptsObserved", "independentSignaturesObserved", "d05AcceptanceDecisionsObserved", "controllerListeners", "listenerStarts", "publicRoutes", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "paidResourcesCreated"],
      "properties": {
        "schemaVersion": { "const": "developer.reits.tech/runner-factory-d05-acceptance-closure-fixtures/v1" },
        "mode": { "const": "FIXTURE_DOSSIER_VALIDATION_ONLY_NO_ACCEPTANCE_NO_DEPLOYMENT_NO_EXTERNAL_EFFECT" },
        "cases": {
          "type": "array",
          "minItems": 24,
          "maxItems": 24,
          "items": {
            "type": "object",
            "required": ["id", "mutation", "expected"],
            "properties": {
              "id": { "type": "string", "pattern": "^D05C-[0-9]{3}$" },
              "mutation": { "type": "string" },
              "expected": { "enum": ["VALID_SHAPE", "DENY"] }
            },
            "additionalProperties": false
          }
        },
        "validatedShapeCases": { "const": 3 },
        "deniedCases": { "const": 21 },
        "liveEvidenceReceiptsObserved": { "const": 0 },
        "independentSignaturesObserved": { "const": 0 },
        "d05AcceptanceDecisionsObserved": { "const": 0 },
        "controllerListeners": { "const": 0 },
        "listenerStarts": { "const": 0 },
        "publicRoutes": { "const": 0 },
        "externalReadsExecuted": { "const": 0 },
        "externalWritesExecuted": { "const": 0 },
        "mutationsExecuted": { "const": 0 },
        "paidResourcesCreated": { "const": false }
      },
      "additionalProperties": false
    },
    "verification": {
      "type": "object",
      "required": ["status", "closureGates", "closureGatesSatisfied", "decisionSeats", "decisionClasses", "fixtures", "validatedShapeCases", "deniedCases", "controllerListeners", "externalWritesExecuted", "paidResourcesCreated", "d05Accepted"],
      "properties": {
        "status": { "const": "PASS_DIRECTORY_ONLY" },
        "closureGates": { "const": 11 },
        "closureGatesSatisfied": { "const": 0 },
        "decisionSeats": { "const": 5 },
        "decisionClasses": { "const": 3 },
        "fixtures": { "const": 24 },
        "validatedShapeCases": { "const": 3 },
        "deniedCases": { "const": 21 },
        "controllerListeners": { "const": 0 },
        "externalWritesExecuted": { "const": 0 },
        "paidResourcesCreated": { "const": false },
        "d05Accepted": { "const": false }
      },
      "additionalProperties": false
    },
    "discovery": {
      "type": "object",
      "required": ["controller", "lifecycle", "upstream", "workbench", "schema"],
      "properties": {
        "controller": { "const": "/api/runner-factory/controller" },
        "lifecycle": { "const": "/api/runner-factory" },
        "upstream": { "const": "/api/runner-factory/controller/disposable-host-live-evidence-collection-execution-authorization-authority-compromise-containment-audit-chain-recovery-review-successor-generation-admission-canary-reactivation-authorization-outcome-adjudication" },
        "workbench": { "const": "/release-foundation#d05-acceptance-closure" },
        "schema": { "const": "/schemas/runner-factory-controller-d05-acceptance-closure.v1.schema.json" }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
