{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/controller-deployment-qualification.v1.schema.json",
  "title": "D05-T06 independent Controller deployment qualification",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion",
    "status",
    "observedAt",
    "program",
    "task",
    "planBinding",
    "dependencyTruth",
    "repositoryPacket",
    "currentHostObservation",
    "topology",
    "components",
    "readiness",
    "lifecycle",
    "probes",
    "acceptanceContract",
    "controls",
    "liveEvidence",
    "invariants",
    "sources",
    "boundary"
  ],
  "properties": {
    "schemaVersion": {
      "const": "developer.reits.tech/controller-deployment-qualification/v1"
    },
    "status": {
      "const": "T06_REPOSITORY_IMPLEMENTED_LIVE_DEDICATED_CONTROLLER_BLOCKED"
    },
    "observedAt": {
      "type": "string",
      "format": "date-time"
    },
    "program": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "acceptedKnives",
        "totalKnives",
        "currentOrdinal",
        "currentKnife",
        "remainingIncludingCurrent",
        "remainingAfterCurrentAcceptance"
      ],
      "properties": {
        "acceptedKnives": { "const": 4 },
        "totalKnives": { "const": 36 },
        "currentOrdinal": { "const": 5 },
        "currentKnife": { "const": "D05" },
        "remainingIncludingCurrent": { "const": 32 },
        "remainingAfterCurrentAcceptance": { "const": 31 }
      }
    },
    "task": {
      "type": "object",
      "required": [
        "id",
        "repositoryImplementationComplete",
        "liveDedicatedHostObserved",
        "liveDeploymentAdmitted",
        "controllerListenerObserved",
        "productionAccepted",
        "nextTask",
        "nextTaskBlocked"
      ],
      "properties": {
        "id": { "const": "D05-T06" },
        "repositoryImplementationComplete": { "const": true },
        "liveDedicatedHostObserved": { "const": false },
        "liveDeploymentAdmitted": { "const": false },
        "controllerListenerObserved": { "const": false },
        "productionAccepted": { "const": false },
        "nextTask": { "const": "D05-T07" },
        "nextTaskBlocked": { "const": true }
      }
    },
    "planBinding": {
      "type": "object",
      "required": ["planId", "path", "sha256", "maximumReceiptAgeHours", "exactRevisionRequired"],
      "properties": {
        "planId": { "const": "D05-T06-CONTROLLER-DEPLOYMENT-V1" },
        "path": { "const": "ops/runner-factory/deployment/controller-deployment-plan.json" },
        "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
        "maximumReceiptAgeHours": { "const": 2 },
        "exactRevisionRequired": { "const": true }
      }
    },
    "dependencyTruth": {
      "type": "object",
      "required": ["requiredGates", "satisfiedGates", "requiredBeforeInstallation", "repositoryCandidatesAreProductionReceipts", "portalHostMayBeReused", "decision"],
      "properties": {
        "requiredGates": { "const": ["D05-G01", "D05-G02", "D05-G03", "D05-G04"] },
        "satisfiedGates": { "const": 0 },
        "requiredBeforeInstallation": { "const": 4 },
        "repositoryCandidatesAreProductionReceipts": { "const": false },
        "portalHostMayBeReused": { "const": false },
        "decision": { "const": "DENIED_G01_G04_AND_DEDICATED_HOST_ABSENT" }
      }
    },
    "repositoryPacket": {
      "type": "object",
      "required": ["exactArtifacts", "componentCandidates", "productionQualifiedComponents", "readinessGateContracts", "runtimeProbeContracts", "requiredIndependentSignatures", "observedIndependentSignatures"],
      "properties": {
        "exactArtifacts": { "const": 6 },
        "componentCandidates": { "const": 6 },
        "productionQualifiedComponents": { "const": 0 },
        "readinessGateContracts": { "const": 11 },
        "runtimeProbeContracts": { "const": 8 },
        "requiredIndependentSignatures": { "const": 3 },
        "observedIndependentSignatures": { "const": 0 }
      }
    },
    "currentHostObservation": {
      "type": "object",
      "required": [
        "source",
        "portalRelease",
        "portalSourceRevision",
        "productionHostMarkerPresent",
        "dedicatedControllerMarkerPresent",
        "controllerUnitLoadState",
        "controllerProcesses",
        "portal8100Listeners",
        "controller8110Listeners",
        "public8110Routes",
        "healthHttp",
        "readyHttp",
        "qualification"
      ],
      "properties": {
        "source": { "const": "EC2_READ_ONLY_PRODUCTION_HOST_AUDIT" },
        "portalSourceRevision": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
        "productionHostMarkerPresent": { "const": true },
        "dedicatedControllerMarkerPresent": { "const": false },
        "controllerUnitLoadState": { "const": "not-found" },
        "controllerProcesses": { "const": 0 },
        "portal8100Listeners": { "const": 1 },
        "controller8110Listeners": { "const": 0 },
        "public8110Routes": { "const": 0 },
        "healthHttp": { "const": 0 },
        "readyHttp": { "const": 0 }
      }
    },
    "topology": {
      "type": "object",
      "required": ["current", "target"]
    },
    "components": {
      "type": "array",
      "minItems": 6,
      "maxItems": 6,
      "items": {
        "type": "object",
        "required": ["id", "mode", "repositoryCandidate", "productionQualified", "runtimeBound"],
        "properties": {
          "mode": { "enum": ["READ_ONLY", "VERIFY_ONLY"] },
          "repositoryCandidate": { "const": true },
          "productionQualified": { "const": false },
          "runtimeBound": { "const": false }
        }
      }
    },
    "readiness": {
      "type": "object",
      "required": ["required", "observed", "ready", "receiptVerified", "gates"],
      "properties": {
        "required": { "const": 11 },
        "observed": { "const": 0 },
        "ready": { "const": false },
        "receiptVerified": { "const": false },
        "gates": {
          "type": "array",
          "minItems": 11,
          "maxItems": 11
        }
      }
    },
    "lifecycle": {
      "type": "array",
      "minItems": 8,
      "maxItems": 8
    },
    "probes": {
      "type": "array",
      "minItems": 8,
      "maxItems": 8,
      "items": {
        "type": "object",
        "required": ["id", "title", "observed", "receipt"],
        "properties": {
          "observed": { "const": "NOT_RUN" },
          "receipt": { "const": false }
        }
      }
    },
    "acceptanceContract": {
      "type": "object",
      "required": [
        "requiredDependencyGates",
        "observedDependencyGates",
        "requiredExactArtifacts",
        "observedExactArtifacts",
        "requiredProductionComponents",
        "observedProductionComponents",
        "requiredReadinessReceipts",
        "observedReadinessReceipts",
        "requiredRuntimeProbes",
        "observedRuntimeProbes",
        "requiredSignatures",
        "observedSignatures",
        "requiredControllerListeners",
        "observedControllerListeners",
        "allConditionsRequired",
        "t06ReceiptAcceptsD05"
      ],
      "properties": {
        "requiredDependencyGates": { "const": 4 },
        "observedDependencyGates": { "const": 0 },
        "requiredExactArtifacts": { "const": 6 },
        "observedExactArtifacts": { "const": 0 },
        "requiredProductionComponents": { "const": 6 },
        "observedProductionComponents": { "const": 0 },
        "requiredReadinessReceipts": { "const": 11 },
        "observedReadinessReceipts": { "const": 0 },
        "requiredRuntimeProbes": { "const": 8 },
        "observedRuntimeProbes": { "const": 0 },
        "requiredSignatures": { "const": 3 },
        "observedSignatures": { "const": 0 },
        "requiredControllerListeners": { "const": 1 },
        "observedControllerListeners": { "const": 0 },
        "allConditionsRequired": { "const": true },
        "t06ReceiptAcceptsD05": { "const": false }
      }
    },
    "controls": {
      "type": "array",
      "minItems": 8,
      "maxItems": 8
    },
    "liveEvidence": {
      "type": "object",
      "required": ["serviceStarts", "systemdMutations", "controllerListenerStarts", "publicRouteChanges", "externalWritesExecuted", "credentialsRecorded", "paidResourcesCreated", "d05G03Satisfied", "d05G04Satisfied", "d05G05Satisfied", "d05G06Satisfied"],
      "properties": {
        "serviceStarts": { "const": 0 },
        "systemdMutations": { "const": 0 },
        "controllerListenerStarts": { "const": 0 },
        "publicRouteChanges": { "const": 0 },
        "externalWritesExecuted": { "const": 0 },
        "credentialsRecorded": { "const": false },
        "paidResourcesCreated": { "const": 0 },
        "d05G03Satisfied": { "const": false },
        "d05G04Satisfied": { "const": false },
        "d05G05Satisfied": { "const": false },
        "d05G06Satisfied": { "const": false }
      }
    },
    "invariants": {
      "type": "object",
      "required": ["portalHostUntouched", "controllerListener8110", "productionComponentsBound", "readinessReceiptsVerified", "qualifiedReceipts", "programAdvanced", "d05Accepted"],
      "properties": {
        "portalHostUntouched": { "const": true },
        "controllerListener8110": { "const": 0 },
        "productionComponentsBound": { "const": 0 },
        "readinessReceiptsVerified": { "const": 0 },
        "qualifiedReceipts": { "const": 0 },
        "programAdvanced": { "const": false },
        "d05Accepted": { "const": false }
      }
    },
    "sources": {
      "type": "array",
      "minItems": 2
    },
    "boundary": {
      "type": "string",
      "minLength": 100
    }
  }
}
