{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-controller-d05-g04-reservation-reader-production-candidate-admission.v1.schema.json",
  "title": "D05-G04 ReservationReader production candidate admission",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion", "status", "evaluatedAt", "mode", "program", "discovery", "summary", "candidateContract", "qualificationPacket",
    "componentPortfolioMatrix", "adapterBoundaryMatrix", "projectionMatrix", "failureTranslationMatrix", "evidencePacketMatrix", "controlMatrix",
    "fixtureSuiteMatrix", "fixtureResults", "lifecycleMatrix", "protocolMatrix", "authorityMatrix", "qualityGateMatrix", "receiptMatrix",
    "terminalReceiptFieldMatrix", "invariants", "firstProductionFailure", "safetyTruth"
  ],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-controller-d05-g04-reservation-reader-production-candidate-admission/v1" },
    "status": { "const": "D05_G04_RESERVATION_READER_PRODUCTION_CANDIDATE_REPOSITORY_ADMITTED_FOUR_READER_PACKS_UNBOUND" },
    "evaluatedAt": { "type": "string", "format": "date-time" },
    "mode": { "type": "string" },
    "program": { "$ref": "#/$defs/program" },
    "discovery": { "type": "object" },
    "summary": { "$ref": "#/$defs/summary" },
    "candidateContract": { "type": "object" },
    "qualificationPacket": { "type": "object" },
    "componentPortfolioMatrix": { "$ref": "#/$defs/six" },
    "adapterBoundaryMatrix": { "$ref": "#/$defs/eight" },
    "projectionMatrix": { "$ref": "#/$defs/eight" },
    "failureTranslationMatrix": { "$ref": "#/$defs/eight" },
    "evidencePacketMatrix": { "$ref": "#/$defs/five" },
    "controlMatrix": { "$ref": "#/$defs/twentyFour" },
    "fixtureSuiteMatrix": { "$ref": "#/$defs/four" },
    "fixtureResults": { "$ref": "#/$defs/ninetySix" },
    "lifecycleMatrix": { "$ref": "#/$defs/fourteen" },
    "protocolMatrix": { "$ref": "#/$defs/twentyFour" },
    "authorityMatrix": { "$ref": "#/$defs/thirteen" },
    "qualityGateMatrix": { "$ref": "#/$defs/twentyEight" },
    "receiptMatrix": { "$ref": "#/$defs/sixteen" },
    "terminalReceiptFieldMatrix": { "$ref": "#/$defs/eightyFour" },
    "invariants": { "type": "array", "minItems": 132, "maxItems": 132, "uniqueItems": true, "items": { "type": "string" } },
    "firstProductionFailure": { "$ref": "#/$defs/failure" },
    "safetyTruth": { "$ref": "#/$defs/safetyTruth" }
  },
  "$defs": {
    "item": { "type": "object" },
    "four": { "type": "array", "minItems": 4, "maxItems": 4, "items": { "$ref": "#/$defs/item" } },
    "five": { "type": "array", "minItems": 5, "maxItems": 5, "items": { "$ref": "#/$defs/item" } },
    "six": { "type": "array", "minItems": 6, "maxItems": 6, "items": { "$ref": "#/$defs/item" } },
    "eight": { "type": "array", "minItems": 8, "maxItems": 8, "items": { "$ref": "#/$defs/item" } },
    "thirteen": { "type": "array", "minItems": 13, "maxItems": 13, "items": { "$ref": "#/$defs/item" } },
    "fourteen": { "type": "array", "minItems": 14, "maxItems": 14, "items": { "$ref": "#/$defs/item" } },
    "sixteen": { "type": "array", "minItems": 16, "maxItems": 16, "items": { "$ref": "#/$defs/item" } },
    "twentyFour": { "type": "array", "minItems": 24, "maxItems": 24, "items": { "$ref": "#/$defs/item" } },
    "twentyEight": { "type": "array", "minItems": 28, "maxItems": 28, "items": { "$ref": "#/$defs/item" } },
    "eightyFour": { "type": "array", "minItems": 84, "maxItems": 84, "items": { "$ref": "#/$defs/item" } },
    "ninetySix": { "type": "array", "minItems": 96, "maxItems": 96, "items": { "$ref": "#/$defs/item" } },
    "program": {
      "type": "object",
      "required": ["acceptedKnives", "totalKnives", "currentKnife", "closeoutCut", "remainingIncludingCurrent", "remainingAfterAcceptance", "d05Gate", "d05Accepted"],
      "properties": {
        "acceptedKnives": { "const": 4 }, "totalKnives": { "const": 36 }, "currentKnife": { "const": "D05" }, "closeoutCut": { "const": 71 },
        "remainingIncludingCurrent": { "const": 32 }, "remainingAfterAcceptance": { "const": 31 }, "d05Gate": { "const": "D05-G04" }, "d05Accepted": { "const": false }
      }
    },
    "summary": {
      "type": "object",
      "required": ["reviewedCandidatePacks", "requiredComponentPacks", "remainingReaderCandidatePacks", "fixtureCasesPassed", "repositoryGetItemCalls", "qualityGatesBound", "qualityGatesTotal", "reservationReaderLaneSatisfied", "productionBootstrapBound", "d05G04Satisfied"],
      "properties": {
        "reviewedCandidatePacks": { "const": 2 }, "requiredComponentPacks": { "const": 6 }, "remainingReaderCandidatePacks": { "const": 4 },
        "fixtureCasesPassed": { "const": 96 }, "repositoryGetItemCalls": { "const": 68 }, "qualityGatesBound": { "const": 27 }, "qualityGatesTotal": { "const": 28 },
        "reservationReaderLaneSatisfied": { "const": true }, "productionBootstrapBound": { "const": false }, "d05G04Satisfied": { "const": false }
      }
    },
    "failure": {
      "type": "object",
      "required": ["failedGate", "code", "reviewedCandidatePacks", "remainingReaderCandidatePacks", "productionComponentBindings", "productionDynamoTablesContacted", "productionIamRolesAssumed", "productionGetItemCalls", "productionExternalWrites", "productionListenerStarts", "d05G04Satisfied"],
      "properties": {
        "failedGate": { "const": "L28_FOUR_READER_PRODUCTION_CANDIDATE_PACKS" },
        "code": { "const": "FOUR_READER_PRODUCTION_CANDIDATE_PACKS_UNBOUND" },
        "reviewedCandidatePacks": { "const": 2 }, "remainingReaderCandidatePacks": { "const": 4 }, "productionComponentBindings": { "const": 0 },
        "productionDynamoTablesContacted": { "const": 0 }, "productionIamRolesAssumed": { "const": 0 }, "productionGetItemCalls": { "const": 0 },
        "productionExternalWrites": { "const": 0 }, "productionListenerStarts": { "const": 0 }, "d05G04Satisfied": { "const": false }
      }
    },
    "safetyTruth": {
      "type": "object",
      "required": ["reviewedProductionCandidatePacks", "remainingReaderCandidatePacks", "repositoryFixtureCasesPassed", "repositoryGetItemCalls", "productionGetItemCalls", "productionExternalReads", "productionExternalWrites", "productionSecretReads", "productionListenerStarts", "productionPort8110Calls", "resourcesCreated", "productionBootstrapBound", "d05G04Satisfied", "d05Accepted"],
      "properties": {
        "reviewedProductionCandidatePacks": { "const": 2 }, "remainingReaderCandidatePacks": { "const": 4 }, "repositoryFixtureCasesPassed": { "const": 96 }, "repositoryGetItemCalls": { "const": 68 },
        "productionGetItemCalls": { "const": 0 }, "productionExternalReads": { "const": 0 }, "productionExternalWrites": { "const": 0 }, "productionSecretReads": { "const": 0 },
        "productionListenerStarts": { "const": 0 }, "productionPort8110Calls": { "const": 0 }, "resourcesCreated": { "const": 0 }, "productionBootstrapBound": { "const": false },
        "d05G04Satisfied": { "const": false }, "d05Accepted": { "const": false }
      }
    }
  }
}
