{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/d05-final-acceptance-qualification.v1.schema.json",
  "title": "D05-T08 four-owner final acceptance qualification",
  "type": "object",
  "additionalProperties": false,
  "required": ["schemaVersion", "status", "observedAt", "program", "task", "trustCorrection", "planBinding", "repositoryPacket", "currentObservation", "gateSummary", "gates", "dossier", "approvalSeats", "decisionPath", "acceptanceContract", "controls", "liveEvidence", "invariants", "sources", "boundary"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/d05-final-acceptance-qualification/v1" },
    "status": { "const": "T08_REPOSITORY_IMPLEMENTED_LIVE_G01_G11_AND_FOUR_OWNER_ACCEPTANCE_BLOCKED" },
    "observedAt": { "type": "string", "format": "date-time" },
    "program": {
      "type": "object",
      "required": ["acceptedKnives", "totalKnives", "currentOrdinal", "currentKnife", "remainingIncludingCurrent", "remainingAfterCurrentAcceptance", "candidateAfterAcceptance"],
      "properties": {
        "acceptedKnives": { "const": 4 },
        "totalKnives": { "const": 36 },
        "currentOrdinal": { "const": 5 },
        "currentKnife": { "const": "D05" },
        "remainingIncludingCurrent": { "const": 32 },
        "remainingAfterCurrentAcceptance": { "const": 31 },
        "candidateAfterAcceptance": { "const": "D06" }
      }
    },
    "task": {
      "type": "object",
      "required": ["id", "repositoryImplementationComplete", "repositorySequenceComplete", "liveGatesSatisfied", "liveGatesRequired", "liveT07QualificationObserved", "finalApprovalsObserved", "finalApprovalsRequired", "productionAccepted", "nextRepositoryTask", "currentExecutionTask", "nextProgramKnife", "nextProgramKnifeBlocked"],
      "properties": {
        "id": { "const": "D05-T08" },
        "repositoryImplementationComplete": { "const": true },
        "repositorySequenceComplete": { "const": true },
        "liveGatesSatisfied": { "const": 0 },
        "liveGatesRequired": { "const": 11 },
        "liveT07QualificationObserved": { "const": false },
        "finalApprovalsObserved": { "const": 0 },
        "finalApprovalsRequired": { "const": 4 },
        "productionAccepted": { "const": false },
        "nextRepositoryTask": { "const": null },
        "currentExecutionTask": { "const": "D05-T02" },
        "nextProgramKnife": { "const": "D06" },
        "nextProgramKnifeBlocked": { "const": true }
      }
    },
    "trustCorrection": {
      "type": "object",
      "required": ["decision", "historicalReleaseEvidence", "canonicalReleaseEvidence", "historicalOwnerEvidence", "canonicalFinalAcceptanceEvidence", "developerPortalEligibleForFinalAcceptance", "sitesEligibleForFinalAcceptance", "onlyEligibleSubject"],
      "properties": {
        "developerPortalEligibleForFinalAcceptance": { "const": false },
        "sitesEligibleForFinalAcceptance": { "const": false }
      }
    },
    "planBinding": {
      "type": "object",
      "required": ["planId", "path", "sha256", "maximumReceiptAgeMinutes", "maximumGateEvidenceAgeMinutes", "compareAndSwapRequired"],
      "properties": {
        "planId": { "const": "D05-T08-FOUR-OWNER-FINAL-ACCEPTANCE-V1" },
        "path": { "const": "ops/runner-factory/acceptance/d05-final-acceptance-plan.json" },
        "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
        "maximumReceiptAgeMinutes": { "const": 30 },
        "maximumGateEvidenceAgeMinutes": { "const": 120 },
        "compareAndSwapRequired": { "const": true }
      }
    },
    "repositoryPacket": {
      "type": "object",
      "required": ["planPresent", "baselineCollectorPresent", "verifierPresent", "pendingReceiptPresent", "publicKeyringTemplatePresent", "gateContracts", "finalApprovalContracts", "hostileCases"],
      "properties": {
        "planPresent": { "const": true },
        "baselineCollectorPresent": { "const": true },
        "verifierPresent": { "const": true },
        "pendingReceiptPresent": { "const": true },
        "publicKeyringTemplatePresent": { "const": true },
        "gateContracts": { "const": 11 },
        "finalApprovalContracts": { "const": 4 },
        "hostileCases": { "type": "integer", "minimum": 16 }
      }
    },
    "currentObservation": { "type": "object", "required": ["source", "portal", "sites", "controller"] },
    "gateSummary": {
      "type": "object",
      "required": ["required", "satisfied", "denied", "allExactReleaseBound", "allFresh", "allIndependentlySigned"],
      "properties": {
        "required": { "const": 11 },
        "satisfied": { "const": 0 },
        "denied": { "const": 11 },
        "allExactReleaseBound": { "const": false },
        "allFresh": { "const": false },
        "allIndependentlySigned": { "const": false }
      }
    },
    "gates": {
      "type": "array",
      "minItems": 11,
      "maxItems": 11,
      "items": {
        "type": "object",
        "required": ["id", "group", "title", "owner", "sourceTask", "positiveReceiptsObserved", "state"],
        "properties": {
          "id": { "pattern": "^D05-G(0[1-9]|1[01])$" },
          "positiveReceiptsObserved": { "const": 0 },
          "state": { "const": "DENIED" }
        }
      }
    },
    "dossier": {
      "type": "object",
      "required": ["required", "observed", "content", "state"],
      "properties": {
        "required": { "const": 1 },
        "observed": { "const": 0 },
        "content": { "type": "array", "minItems": 5, "maxItems": 5 },
        "state": { "const": "ABSENT" }
      }
    },
    "approvalSeats": {
      "type": "array",
      "minItems": 4,
      "maxItems": 4,
      "items": {
        "type": "object",
        "required": ["ordinal", "role", "responsibility", "observed", "state"],
        "properties": { "observed": { "const": false }, "state": { "const": "MISSING" } }
      }
    },
    "decisionPath": { "type": "array", "minItems": 5, "maxItems": 5 },
    "acceptanceContract": {
      "type": "object",
      "required": ["requiredGateReceipts", "observedGateReceipts", "requiredClosureDossiers", "observedClosureDossiers", "requiredLiveT07Receipts", "observedLiveT07Receipts", "requiredFinalApprovals", "observedFinalApprovals", "requiredLedgerCompareAndSwap", "observedLedgerCompareAndSwap", "d05Accepted"],
      "properties": {
        "requiredGateReceipts": { "const": 11 },
        "observedGateReceipts": { "const": 0 },
        "requiredClosureDossiers": { "const": 1 },
        "observedClosureDossiers": { "const": 0 },
        "requiredLiveT07Receipts": { "const": 1 },
        "observedLiveT07Receipts": { "const": 0 },
        "requiredFinalApprovals": { "const": 4 },
        "observedFinalApprovals": { "const": 0 },
        "requiredLedgerCompareAndSwap": { "const": 1 },
        "observedLedgerCompareAndSwap": { "const": 0 },
        "d05Accepted": { "const": false }
      }
    },
    "controls": { "type": "array", "minItems": 8, "maxItems": 8 },
    "liveEvidence": {
      "type": "object",
      "required": ["readOnlyAuditPerformed", "controllerServiceRestarts", "controllerListenerStarts", "controllerRollbackDrills", "finalApprovalsIssued", "ledgerMutationsExecuted", "publicRouteChanges", "externalWritesExecuted", "credentialsRecorded", "paidResourcesCreated"],
      "properties": {
        "readOnlyAuditPerformed": { "const": true },
        "controllerServiceRestarts": { "const": 0 },
        "controllerListenerStarts": { "const": 0 },
        "controllerRollbackDrills": { "const": 0 },
        "finalApprovalsIssued": { "const": 0 },
        "ledgerMutationsExecuted": { "const": 0 },
        "publicRouteChanges": { "const": 0 },
        "externalWritesExecuted": { "const": 0 },
        "credentialsRecorded": { "const": false },
        "paidResourcesCreated": { "const": 0 }
      }
    },
    "invariants": {
      "type": "object",
      "required": ["repositorySequenceComplete", "nextRepositoryTask", "currentExecutionTask", "portalReleaseExcluded", "sitesReleaseExcluded", "controllerListener8110", "programAdvanced", "d05Accepted"],
      "properties": {
        "repositorySequenceComplete": { "const": true },
        "nextRepositoryTask": { "const": null },
        "currentExecutionTask": { "const": "D05-T02" },
        "portalReleaseExcluded": { "const": true },
        "sitesReleaseExcluded": { "const": true },
        "controllerListener8110": { "const": 0 },
        "programAdvanced": { "const": false },
        "d05Accepted": { "const": false }
      }
    },
    "sources": { "type": "array", "minItems": 4 },
    "boundary": { "type": "string", "minLength": 260 }
  }
}
