{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-controller-d05-g04-worker-reader-production-candidate-admission.v1.schema.json",
  "title": "D05-G04 WorkerReader production candidate admission",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion", "status", "evaluatedAt", "mode", "program", "discovery", "summary", "candidateContract", "qualificationPacket",
    "componentPortfolioMatrix", "adapterBoundaryMatrix", "projectionMatrix", "failureTranslationMatrix", "evidencePacketMatrix", "integrationDebtMatrix",
    "controlMatrix", "fixtureSuiteMatrix", "fixtureResults", "lifecycleMatrix", "protocolMatrix", "authorityMatrix", "qualityGateMatrix", "receiptMatrix",
    "terminalReceiptFieldMatrix", "invariants", "firstProductionFailure", "safetyTruth"
  ],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-controller-d05-g04-worker-reader-production-candidate-admission/v1" },
    "status": { "const": "D05_G04_WORKER_READER_PRODUCTION_CANDIDATE_REPOSITORY_ADMITTED_TWO_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/nine" },
    "projectionMatrix": { "$ref": "#/$defs/seven" },
    "failureTranslationMatrix": { "$ref": "#/$defs/ten" },
    "evidencePacketMatrix": { "$ref": "#/$defs/five" },
    "integrationDebtMatrix": { "$ref": "#/$defs/two" },
    "controlMatrix": { "$ref": "#/$defs/thirtyTwo" },
    "fixtureSuiteMatrix": { "$ref": "#/$defs/four" },
    "fixtureResults": { "$ref": "#/$defs/ninetySix" },
    "lifecycleMatrix": { "$ref": "#/$defs/sixteen" },
    "protocolMatrix": { "$ref": "#/$defs/twentyEight" },
    "authorityMatrix": { "$ref": "#/$defs/fourteen" },
    "qualityGateMatrix": { "$ref": "#/$defs/thirtySix" },
    "receiptMatrix": { "$ref": "#/$defs/eighteen" },
    "terminalReceiptFieldMatrix": { "$ref": "#/$defs/ninetyTwo" },
    "invariants": { "type": "array", "minItems": 148, "maxItems": 148, "uniqueItems": true, "items": { "type": "string" } },
    "firstProductionFailure": { "$ref": "#/$defs/failure" },
    "safetyTruth": { "$ref": "#/$defs/safetyTruth" }
  },
  "$defs": {
    "item": { "type": "object" },
    "two": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "$ref": "#/$defs/item" } },
    "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" } },
    "seven": { "type": "array", "minItems": 7, "maxItems": 7, "items": { "$ref": "#/$defs/item" } },
    "nine": { "type": "array", "minItems": 9, "maxItems": 9, "items": { "$ref": "#/$defs/item" } },
    "ten": { "type": "array", "minItems": 10, "maxItems": 10, "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" } },
    "eighteen": { "type": "array", "minItems": 18, "maxItems": 18, "items": { "$ref": "#/$defs/item" } },
    "twentyEight": { "type": "array", "minItems": 28, "maxItems": 28, "items": { "$ref": "#/$defs/item" } },
    "thirtyTwo": { "type": "array", "minItems": 32, "maxItems": 32, "items": { "$ref": "#/$defs/item" } },
    "thirtySix": { "type": "array", "minItems": 36, "maxItems": 36, "items": { "$ref": "#/$defs/item" } },
    "ninetyTwo": { "type": "array", "minItems": 92, "maxItems": 92, "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": 73 },
        "remainingIncludingCurrent": { "const": 32 }, "remainingAfterAcceptance": { "const": 31 }, "d05Gate": { "const": "D05-G04" }, "d05Accepted": { "const": false }
      }
    },
    "summary": {
      "type": "object",
      "required": ["reviewedCandidatePacks", "requiredComponentPacks", "remainingReaderCandidatePacks", "fixtureCasesPassed", "repositoryDescribeInstancesCalls", "repositoryDescribeVolumesCalls", "repositoryEc2Calls", "identityFenceCases", "integrationGaps", "qualityGatesBound", "qualityGatesTotal", "workerReaderLaneSatisfied", "productionBootstrapBound", "d05G04Satisfied"],
      "properties": {
        "reviewedCandidatePacks": { "const": 4 }, "requiredComponentPacks": { "const": 6 }, "remainingReaderCandidatePacks": { "const": 2 },
        "fixtureCasesPassed": { "const": 96 }, "repositoryDescribeInstancesCalls": { "const": 68 }, "repositoryDescribeVolumesCalls": { "const": 68 }, "repositoryEc2Calls": { "const": 136 },
        "identityFenceCases": { "const": 12 }, "integrationGaps": { "const": 2 }, "qualityGatesBound": { "const": 35 }, "qualityGatesTotal": { "const": 36 },
        "workerReaderLaneSatisfied": { "const": true }, "productionBootstrapBound": { "const": false }, "d05G04Satisfied": { "const": false }
      }
    },
    "failure": {
      "type": "object",
      "required": ["failedGate", "code", "reviewedCandidatePacks", "remainingReaderCandidatePacks", "productionComponentBindings", "productionEc2EndpointsContacted", "productionIamRolesAssumed", "productionEc2Calls", "productionExternalWrites", "productionListenerStarts", "integrationGaps", "d05G04Satisfied"],
      "properties": {
        "failedGate": { "const": "N36_TWO_READER_PRODUCTION_CANDIDATE_PACKS" }, "code": { "const": "TWO_READER_PRODUCTION_CANDIDATE_PACKS_UNBOUND" },
        "reviewedCandidatePacks": { "const": 4 }, "remainingReaderCandidatePacks": { "const": 2 }, "productionComponentBindings": { "const": 0 },
        "productionEc2EndpointsContacted": { "const": 0 }, "productionIamRolesAssumed": { "const": 0 }, "productionEc2Calls": { "const": 0 },
        "productionExternalWrites": { "const": 0 }, "productionListenerStarts": { "const": 0 }, "integrationGaps": { "const": 2 }, "d05G04Satisfied": { "const": false }
      }
    },
    "safetyTruth": {
      "type": "object",
      "required": ["reviewedProductionCandidatePacks", "remainingReaderCandidatePacks", "repositoryFixtureCasesPassed", "repositoryDescribeInstancesCalls", "repositoryDescribeVolumesCalls", "repositoryEc2Calls", "repositoryIdentityFenceCases", "integrationGaps", "productionEc2Calls", "productionExternalReads", "productionExternalWrites", "productionSecretReads", "productionListenerStarts", "productionPort8110Calls", "resourcesCreated", "productionBootstrapBound", "d05G04Satisfied", "d05Accepted"],
      "properties": {
        "reviewedProductionCandidatePacks": { "const": 4 }, "remainingReaderCandidatePacks": { "const": 2 }, "repositoryFixtureCasesPassed": { "const": 96 },
        "repositoryDescribeInstancesCalls": { "const": 68 }, "repositoryDescribeVolumesCalls": { "const": 68 }, "repositoryEc2Calls": { "const": 136 }, "repositoryIdentityFenceCases": { "const": 12 }, "integrationGaps": { "const": 2 },
        "productionEc2Calls": { "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 }
      }
    }
  }
}
