{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-controller-owner-approval-evidence.v1.schema.json",
  "title": "REITS D05 G11 Exact Dossier and Owner Approval Evidence",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "observationMode", "program", "gateSummary", "gate", "dossier", "productionSnapshot", "approvalLanes", "approvalRequirements", "productOwnerDecision", "decisionPath", "operatorPlan", "safetyTruth", "verification", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-controller-owner-approval-evidence/v1" },
    "status": { "const": "G11_DENIED_INCOMPLETE_DOSSIER_AND_NO_INDEPENDENT_APPROVALS" },
    "observedAt": { "type": "string", "format": "date-time" },
    "observationMode": { "const": "READ_ONLY_EXACT_DOSSIER_AND_OWNER_APPROVAL_AUDIT_NO_DECISION_NO_EFFECT" },
    "program": {
      "type": "object",
      "required": ["acceptedKnives", "totalKnives", "currentKnife", "closeoutCut", "remainingIncludingCurrent", "remainingAfterAcceptance", "d05Accepted"],
      "properties": {
        "acceptedKnives": { "const": 4 }, "totalKnives": { "const": 36 }, "currentKnife": { "const": "D05" }, "closeoutCut": { "const": 7 },
        "remainingIncludingCurrent": { "const": 32 }, "remainingAfterAcceptance": { "const": 31 }, "d05Accepted": { "const": false }
      },
      "additionalProperties": false
    },
    "gateSummary": {
      "type": "object",
      "required": ["targetedGates", "satisfiedGates", "upstreamGatesSatisfied", "upstreamGatesRequired", "dossierInputsPresent", "dossierInputsRequired", "independentApprovalsObserved", "independentApprovalsRequired", "productOwnerDecisionsObserved", "productOwnerDecisionsRequired", "decision"],
      "properties": {
        "targetedGates": { "const": 1 }, "satisfiedGates": { "const": 0 }, "upstreamGatesSatisfied": { "const": 0 }, "upstreamGatesRequired": { "const": 10 },
        "dossierInputsPresent": { "const": 6 }, "dossierInputsRequired": { "const": 6 }, "independentApprovalsObserved": { "const": 0 }, "independentApprovalsRequired": { "const": 3 },
        "productOwnerDecisionsObserved": { "const": 0 }, "productOwnerDecisionsRequired": { "const": 1 }, "decision": { "const": "DENY_AND_ESCALATE_TO_FINOPS_RUNTIME_SECURITY_AND_PRODUCT_OWNER" }
      },
      "additionalProperties": false
    },
    "gate": { "$ref": "#/$defs/gate" },
    "dossier": { "$ref": "#/$defs/dossier" },
    "productionSnapshot": { "$ref": "#/$defs/productionSnapshot" },
    "approvalLanes": { "type": "array", "minItems": 3, "maxItems": 3, "items": { "$ref": "#/$defs/approvalLane" } },
    "approvalRequirements": { "type": "array", "minItems": 10, "maxItems": 10, "items": { "$ref": "#/$defs/approvalRequirement" } },
    "productOwnerDecision": { "$ref": "#/$defs/productOwnerDecision" },
    "decisionPath": { "type": "array", "minItems": 5, "maxItems": 5, "items": { "$ref": "#/$defs/decisionStep" } },
    "operatorPlan": { "$ref": "#/$defs/operatorPlan" },
    "safetyTruth": { "$ref": "#/$defs/safetyTruth" },
    "verification": { "$ref": "#/$defs/verification" },
    "discovery": { "$ref": "#/$defs/discovery" }
  },
  "$defs": {
    "digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
    "source": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
    "release": { "type": "string", "pattern": "^developer-portal@[0-9a-f]{12}-[0-9a-f]{12}$" },
    "gate": {
      "type": "object",
      "required": ["id", "name", "owner", "target", "observed", "positiveReceiptsObserved", "decision"],
      "properties": {
        "id": { "const": "D05-G11" }, "name": { "const": "COST_RUNTIME_SECURITY_APPROVAL" }, "owner": { "const": "PRODUCT_OWNER" },
        "target": { "type": "string" }, "observed": { "type": "string" }, "positiveReceiptsObserved": { "const": 0 }, "decision": { "const": "DENIED_DOSSIER_UNQUALIFIED_AND_APPROVALS_ABSENT" }
      },
      "additionalProperties": false
    },
    "dossierInput": {
      "type": "object",
      "required": ["id", "path", "digest", "covers", "gatesSatisfied", "gatesRequired", "state"],
      "properties": {
        "id": { "enum": ["closure-contract", "capacity-evidence", "readiness-evidence", "activation-evidence", "installation-evidence", "release-evidence"] },
        "path": { "type": "string" }, "digest": { "$ref": "#/$defs/digest" }, "covers": { "type": "string" }, "gatesSatisfied": { "const": 0 },
        "gatesRequired": { "type": "integer", "minimum": 2, "maximum": 11 }, "state": { "enum": ["PRESENT_DIRECTORY_ONLY", "PRESENT_DENIED"] }
      },
      "additionalProperties": false
    },
    "eligibility": {
      "type": "object",
      "required": ["allInputsPresent", "allElevenGatesSatisfied", "allReceiptsFresh", "allReceiptsIndependentlySigned", "allArtifactsBoundToExactRelease", "eligibleForOwnerReview", "reason"],
      "properties": {
        "allInputsPresent": { "const": true }, "allElevenGatesSatisfied": { "const": false }, "allReceiptsFresh": { "const": false },
        "allReceiptsIndependentlySigned": { "const": false }, "allArtifactsBoundToExactRelease": { "const": false }, "eligibleForOwnerReview": { "const": false }, "reason": { "type": "string" }
      },
      "additionalProperties": false
    },
    "dossier": {
      "type": "object",
      "required": ["id", "digest", "exactSourceRevision", "releaseId", "rollbackReleaseId", "inputsPresent", "inputsRequired", "crossArtifactReleaseBinding", "independentlySigned", "qualified", "inputSet", "eligibility"],
      "properties": {
        "id": { "type": "string", "pattern": "^d05-closure@[0-9a-f]{12}-[0-9a-f]{12}$" }, "digest": { "$ref": "#/$defs/digest" },
        "exactSourceRevision": { "$ref": "#/$defs/source" }, "releaseId": { "$ref": "#/$defs/release" }, "rollbackReleaseId": { "$ref": "#/$defs/release" },
        "inputsPresent": { "const": 6 }, "inputsRequired": { "const": 6 }, "crossArtifactReleaseBinding": { "const": false }, "independentlySigned": { "const": false }, "qualified": { "const": false },
        "inputSet": { "type": "array", "minItems": 6, "maxItems": 6, "items": { "$ref": "#/$defs/dossierInput" } }, "eligibility": { "$ref": "#/$defs/eligibility" }
      },
      "additionalProperties": false
    },
    "ec2Snapshot": {
      "type": "object",
      "required": ["releaseId", "sourceRevision", "artifactDigest", "serviceState", "portalListener", "controllerListener8110Observed"],
      "properties": {
        "releaseId": { "$ref": "#/$defs/release" }, "sourceRevision": { "$ref": "#/$defs/source" }, "artifactDigest": { "$ref": "#/$defs/digest" },
        "serviceState": { "const": "ACTIVE" }, "portalListener": { "const": "127.0.0.1:8100" }, "controllerListener8110Observed": { "const": false }
      },
      "additionalProperties": false
    },
    "sitesSnapshot": {
      "type": "object",
      "required": ["releaseId", "sourceRevision", "artifactDigest", "version", "environmentRevision", "archiveDigest", "accessMode", "allowedUsers", "allowedGroups"],
      "properties": {
        "releaseId": { "$ref": "#/$defs/release" }, "sourceRevision": { "$ref": "#/$defs/source" }, "artifactDigest": { "$ref": "#/$defs/digest" },
        "version": { "const": 137 }, "environmentRevision": { "const": 17 }, "archiveDigest": { "$ref": "#/$defs/digest" },
        "accessMode": { "const": "OWNER_ONLY_CUSTOM" }, "allowedUsers": { "const": 1 }, "allowedGroups": { "const": 0 }
      },
      "additionalProperties": false
    },
    "productionSnapshot": {
      "type": "object",
      "required": ["observedAt", "identityValuesMatch", "provenanceSigned", "ec2", "sites"],
      "properties": {
        "observedAt": { "type": "string", "format": "date-time" }, "identityValuesMatch": { "const": true }, "provenanceSigned": { "const": false },
        "ec2": { "$ref": "#/$defs/ec2Snapshot" }, "sites": { "$ref": "#/$defs/sitesSnapshot" }
      },
      "additionalProperties": false
    },
    "approvalLane": {
      "type": "object",
      "required": ["id", "label", "owner", "requiredBinding", "observedFacts", "receiptObserved", "independent", "exactDossierBound", "status"],
      "properties": {
        "id": { "enum": ["cost", "runtime", "security"] }, "label": { "type": "string" }, "owner": { "enum": ["FINOPS_OWNER", "CONTROLLER_OWNER", "SECURITY_OWNER"] },
        "requiredBinding": { "type": "string" }, "observedFacts": { "type": "array", "minItems": 3, "maxItems": 3, "items": { "type": "string" } },
        "receiptObserved": { "const": false }, "independent": { "const": false }, "exactDossierBound": { "const": false }, "status": { "const": "MISSING" }
      },
      "additionalProperties": false
    },
    "approvalRequirement": {
      "type": "object",
      "required": ["lane", "id", "requirement", "status"],
      "properties": {
        "lane": { "enum": ["cost", "runtime", "security", "product-owner"] }, "id": { "pattern": "^(COST|RUNTIME|SECURITY)-0[1-3]$|^OWNER-01$" },
        "requirement": { "type": "string" }, "status": { "const": "MISSING" }
      },
      "additionalProperties": false
    },
    "productOwnerDecision": {
      "type": "object",
      "required": ["owner", "requiredIndependentApprovals", "observedIndependentApprovals", "exactDossierBound", "decisionReceiptObserved", "decision", "mayAcceptD05", "reason"],
      "properties": {
        "owner": { "const": "PRODUCT_OWNER" }, "requiredIndependentApprovals": { "const": 3 }, "observedIndependentApprovals": { "const": 0 },
        "exactDossierBound": { "const": false }, "decisionReceiptObserved": { "const": false }, "decision": { "const": "NOT_ISSUED" }, "mayAcceptD05": { "const": false }, "reason": { "type": "string" }
      },
      "additionalProperties": false
    },
    "decisionStep": {
      "type": "object",
      "required": ["id", "label", "observed", "status"],
      "properties": {
        "id": { "pattern": "^PO-0[1-5]$" }, "label": { "type": "string" }, "observed": { "type": "string" },
        "status": { "enum": ["PRESENT_UNQUALIFIED", "DENIED", "NOT_STARTED", "NOT_ISSUED", "NOT_ELIGIBLE"] }
      },
      "additionalProperties": false
    },
    "operatorPlan": {
      "type": "object",
      "required": ["nextAction", "forbiddenActions"],
      "properties": { "nextAction": { "type": "string" }, "forbiddenActions": { "type": "array", "minItems": 5, "maxItems": 5, "uniqueItems": true, "items": { "type": "string" } } },
      "additionalProperties": false
    },
    "safetyTruth": {
      "type": "object",
      "required": ["readOnlyAuditPerformed", "credentialsRecorded", "approvalRequestsSent", "approvalReceiptsWritten", "productOwnerDecisionsWritten", "d05AcceptanceDecisionsWritten", "controllerListenerStarts", "productionSwitches", "externalWritesExecuted", "paidResourcesCreated", "g11Satisfied", "d05Accepted"],
      "properties": {
        "readOnlyAuditPerformed": { "const": true }, "credentialsRecorded": { "const": false }, "approvalRequestsSent": { "const": 0 }, "approvalReceiptsWritten": { "const": 0 },
        "productOwnerDecisionsWritten": { "const": 0 }, "d05AcceptanceDecisionsWritten": { "const": 0 }, "controllerListenerStarts": { "const": 0 }, "productionSwitches": { "const": 0 },
        "externalWritesExecuted": { "const": 0 }, "paidResourcesCreated": { "const": false }, "g11Satisfied": { "const": false }, "d05Accepted": { "const": false }
      },
      "additionalProperties": false
    },
    "verification": {
      "type": "object",
      "required": ["status", "targetedGates", "satisfiedGates", "upstreamGatesSatisfied", "dossierInputsPresent", "dossierInputsRequired", "independentApprovalsObserved", "independentApprovalsRequired", "productOwnerDecisionsObserved", "productOwnerDecisionsRequired", "approvalRequestsSent", "controllerListenerStarts", "externalWritesExecuted", "d05Accepted"],
      "properties": {
        "status": { "const": "PASS_READ_ONLY_EXACT_DOSSIER_AND_OWNER_APPROVAL_OBSERVATION" }, "targetedGates": { "const": 1 }, "satisfiedGates": { "const": 0 }, "upstreamGatesSatisfied": { "const": 0 },
        "dossierInputsPresent": { "const": 6 }, "dossierInputsRequired": { "const": 6 }, "independentApprovalsObserved": { "const": 0 }, "independentApprovalsRequired": { "const": 3 },
        "productOwnerDecisionsObserved": { "const": 0 }, "productOwnerDecisionsRequired": { "const": 1 }, "approvalRequestsSent": { "const": 0 }, "controllerListenerStarts": { "const": 0 },
        "externalWritesExecuted": { "const": 0 }, "d05Accepted": { "const": false }
      },
      "additionalProperties": false
    },
    "discovery": {
      "type": "object",
      "required": ["workbench", "schema", "releaseEvidence", "closure", "runtimeIdentity", "releaseRegistry"],
      "properties": {
        "workbench": { "const": "/release-foundation#runner-controller-owner-approval-evidence" }, "schema": { "const": "/schemas/runner-controller-owner-approval-evidence.v1.schema.json" },
        "releaseEvidence": { "const": "/api/runner-controller/release-evidence" }, "closure": { "const": "/api/runner-factory/controller/d05-acceptance-closure" },
        "runtimeIdentity": { "const": "/api/release-unit" }, "releaseRegistry": { "const": "/api/release-units" }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
