{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-controller-dossier-store-port-health-receipts.v1.schema.json",
  "title": "D05 signed production port health receipt envelopes",
  "type": "object",
  "additionalProperties": false,
  "required": ["schemaVersion", "status", "evaluatedAt", "mode", "program", "summary", "upstreamPortContract", "healthEnvelopeContract", "productionEvaluation", "receiptMatrix", "envelopeFieldMatrix", "healthCheckMatrix", "fixtureResults", "selectedDenialTrace", "decisionCodes", "invariants", "safetyTruth", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-controller-dossier-store-port-health-receipts/v1" },
    "status": { "enum": ["HEALTH_ENVELOPE_CONTRACT_BOUND_PRODUCTION_RECEIPTS_ABSENT", "UPSTREAM_PORT_CONTRACT_UNAVAILABLE"] },
    "evaluatedAt": { "type": "string", "format": "date-time" },
    "mode": { "const": "PURE_TEST_ONLY_SIGNED_HEALTH_ENVELOPE_EVALUATOR_NO_PRODUCTION_VERIFIER_NO_EXTERNAL_EFFECTS" },
    "program": { "$ref": "#/$defs/program" },
    "summary": { "$ref": "#/$defs/summary" },
    "upstreamPortContract": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/upstreamContract" }] },
    "healthEnvelopeContract": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/envelopeContract" }] },
    "productionEvaluation": { "$ref": "#/$defs/evaluation" },
    "receiptMatrix": { "type": "array", "minItems": 4, "maxItems": 4, "items": { "$ref": "#/$defs/receiptSlot" } },
    "envelopeFieldMatrix": { "type": "array", "minItems": 24, "maxItems": 24, "items": { "$ref": "#/$defs/field" } },
    "healthCheckMatrix": { "type": "array", "minItems": 24, "maxItems": 24, "items": { "$ref": "#/$defs/healthCheck" } },
    "fixtureResults": { "type": "array", "minItems": 30, "maxItems": 30, "items": { "$ref": "#/$defs/fixture" } },
    "selectedDenialTrace": { "$ref": "#/$defs/fixture" },
    "decisionCodes": { "type": "array", "minItems": 31, "maxItems": 31, "uniqueItems": true, "items": { "type": "string" } },
    "invariants": { "type": "array", "minItems": 24, "maxItems": 24, "uniqueItems": true, "items": { "type": "string" } },
    "safetyTruth": { "$ref": "#/$defs/safetyTruth" },
    "discovery": { "$ref": "#/$defs/discovery" }
  },
  "$defs": {
    "program": {
      "type": "object", "additionalProperties": false,
      "required": ["acceptedKnives", "totalKnives", "currentKnife", "closeoutCut", "remainingIncludingCurrent", "remainingAfterAcceptance", "d05Accepted"],
      "properties": { "acceptedKnives": { "const": 4 }, "totalKnives": { "const": 36 }, "currentKnife": { "const": "D05" }, "closeoutCut": { "const": 17 }, "remainingIncludingCurrent": { "const": 32 }, "remainingAfterAcceptance": { "const": 31 }, "d05Accepted": { "const": false } }
    },
    "summary": {
      "type": "object", "additionalProperties": false,
      "required": ["upstreamPortContractAvailable", "healthEnvelopeContractBound", "receiptsRequired", "productionReceiptsObserved", "productionReceiptsQualified", "envelopeFields", "healthChecksRequired", "productionHealthChecksObserved", "fixtureCases", "fixtureAssertionsPassed", "fixtureAccepted", "fixtureDenied", "productionVerifierBindings", "externalReadsExecuted", "externalWritesExecuted", "resourcesCreated", "provisioningPermitted", "decision"],
      "properties": { "upstreamPortContractAvailable": { "type": "boolean" }, "healthEnvelopeContractBound": { "type": "boolean" }, "receiptsRequired": { "const": 4 }, "productionReceiptsObserved": { "const": 0 }, "productionReceiptsQualified": { "const": 0 }, "envelopeFields": { "const": 24 }, "healthChecksRequired": { "const": 24 }, "productionHealthChecksObserved": { "const": 0 }, "fixtureCases": { "const": 30 }, "fixtureAssertionsPassed": { "const": 30 }, "fixtureAccepted": { "const": 1 }, "fixtureDenied": { "const": 29 }, "productionVerifierBindings": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "resourcesCreated": { "const": 0 }, "provisioningPermitted": { "const": false }, "decision": { "type": "string", "minLength": 1 } }
    },
    "upstreamContract": {
      "type": "object", "additionalProperties": false,
      "required": ["id", "contentDigest", "sourceRevision", "productionReady", "executable"],
      "properties": { "id": { "type": "string" }, "contentDigest": { "$ref": "#/$defs/digest" }, "sourceRevision": { "type": "string", "pattern": "^[0-9a-f]{40}$" }, "productionReady": { "const": false }, "executable": { "const": false } }
    },
    "envelopeContract": {
      "type": "object", "additionalProperties": false,
      "required": ["id", "contentDigest", "canonicalBytes", "subject", "productionReady", "executable"],
      "properties": { "id": { "type": "string" }, "contentDigest": { "$ref": "#/$defs/digest" }, "canonicalBytes": { "type": "integer", "minimum": 1 }, "subject": { "type": "object" }, "productionReady": { "const": false }, "executable": { "const": false } }
    },
    "evaluation": {
      "type": "object", "additionalProperties": false,
      "required": ["code", "terminal", "failedPort", "receiptsVerified", "healthChecksVerified", "productionQualified"],
      "properties": { "code": { "type": "string" }, "terminal": { "enum": ["QUALIFIED_FIXTURE", "DENIED"] }, "failedPort": { "type": ["string", "null"] }, "receiptsVerified": { "type": "integer", "minimum": 0, "maximum": 4 }, "healthChecksVerified": { "type": "integer", "minimum": 0, "maximum": 24 }, "productionQualified": { "const": false } }
    },
    "receiptSlot": {
      "type": "object", "additionalProperties": false,
      "required": ["ordinal", "portId", "portName", "authority", "qualifier", "interfaceVersion", "fieldsRequired", "healthChecksRequired", "productionReceipt", "status"],
      "properties": { "ordinal": { "type": "integer", "minimum": 1, "maximum": 4 }, "portId": { "pattern": "^PORT-0[1-4]$" }, "portName": { "type": "string" }, "authority": { "type": "string" }, "qualifier": { "type": "string" }, "interfaceVersion": { "type": "string" }, "fieldsRequired": { "const": 24 }, "healthChecksRequired": { "const": 6 }, "productionReceipt": { "type": "null" }, "status": { "const": "PRODUCTION_HEALTH_RECEIPT_ABSENT" } }
    },
    "field": {
      "type": "object", "additionalProperties": false,
      "required": ["ordinal", "field", "classification", "observed"],
      "properties": { "ordinal": { "type": "integer", "minimum": 1, "maximum": 24 }, "field": { "type": "string" }, "classification": { "enum": ["DIGEST_BINDING", "SIGNATURE_BINDING", "TIME_BINDING", "AUTHORITY_BINDING", "IDENTITY_BINDING"] }, "observed": { "const": false } }
    },
    "healthCheck": {
      "type": "object", "additionalProperties": false,
      "required": ["ordinal", "portId", "portName", "check", "productionOutcome", "evidenceDigest", "status"],
      "properties": { "ordinal": { "type": "integer", "minimum": 1, "maximum": 6 }, "portId": { "pattern": "^PORT-0[1-4]$" }, "portName": { "type": "string" }, "check": { "type": "string" }, "productionOutcome": { "type": "null" }, "evidenceDigest": { "type": "null" }, "status": { "const": "PRODUCTION_EVIDENCE_ABSENT" } }
    },
    "fixture": {
      "type": "object", "additionalProperties": false,
      "required": ["ordinal", "id", "scenario", "expectedCode", "actualCode", "terminal", "passed", "failedPort", "receiptsVerified", "healthChecksVerified", "productionQualified"],
      "properties": { "ordinal": { "type": "integer", "minimum": 1, "maximum": 30 }, "id": { "pattern": "^PHR-0(0[1-9]|[12][0-9]|30)$" }, "scenario": { "type": "string" }, "expectedCode": { "type": "string" }, "actualCode": { "type": "string" }, "terminal": { "enum": ["QUALIFIED_FIXTURE", "DENIED"] }, "passed": { "const": true }, "failedPort": { "type": ["string", "null"] }, "receiptsVerified": { "type": "integer", "minimum": 0, "maximum": 4 }, "healthChecksVerified": { "type": "integer", "minimum": 0, "maximum": 24 }, "productionQualified": { "const": false } }
    },
    "safetyTruth": {
      "type": "object", "additionalProperties": false,
      "required": ["receiptsRequired", "productionReceiptsObserved", "productionReceiptsQualified", "productionVerifierBindings", "healthChecksRequired", "productionHealthChecksObserved", "fixtureCases", "fixtureAccepted", "fixtureDenied", "fixtureAssertionsPassed", "privateKeysLoaded", "rawNoncesExposed", "rawSignaturesExposed", "externalReadsExecuted", "externalWritesExecuted", "ledgerWritesExecuted", "portCallsExecuted", "resourcesCreated", "controllerListenerStarts", "paidResourcesCreated", "provisioningPermitted", "d05Accepted"],
      "properties": { "receiptsRequired": { "const": 4 }, "productionReceiptsObserved": { "const": 0 }, "productionReceiptsQualified": { "const": 0 }, "productionVerifierBindings": { "const": 0 }, "healthChecksRequired": { "const": 24 }, "productionHealthChecksObserved": { "const": 0 }, "fixtureCases": { "const": 30 }, "fixtureAccepted": { "const": 1 }, "fixtureDenied": { "const": 29 }, "fixtureAssertionsPassed": { "const": 30 }, "privateKeysLoaded": { "const": 0 }, "rawNoncesExposed": { "const": 0 }, "rawSignaturesExposed": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "ledgerWritesExecuted": { "const": 0 }, "portCallsExecuted": { "const": 0 }, "resourcesCreated": { "const": 0 }, "controllerListenerStarts": { "const": 0 }, "paidResourcesCreated": { "const": false }, "provisioningPermitted": { "const": false }, "d05Accepted": { "const": false } }
    },
    "discovery": {
      "type": "object", "additionalProperties": false,
      "required": ["workbench", "schema", "portContracts", "evaluator", "liveIdentity"],
      "properties": { "workbench": { "const": "/release-foundation#runner-controller-dossier-store-port-health-receipts" }, "schema": { "const": "/schemas/runner-controller-dossier-store-port-health-receipts.v1.schema.json" }, "portContracts": { "const": "/api/runner-controller/dossier-store-production-port-contracts" }, "evaluator": { "const": "/api/runner-controller/dossier-store-provisioning-evaluator" }, "liveIdentity": { "const": "/api/release-unit" } }
    },
    "digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
  }
}
