{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/d05-r49-external-receipt-verification-target-inspection-stopped-install-admission-plane.v1.schema.json",
  "title": "D05-R49 外部回执验签、专用主机现场复核与停止态安装事务准入平面",
  "type": "object",
  "required": [
    "schemaVersion",
    "status",
    "knife",
    "formalProgress",
    "engineeringProgress",
    "observedBaseline",
    "summary",
    "receiptContract",
    "receiptVerificationLanes",
    "keyResolutionContract",
    "targetInspection",
    "targetInspectionChecks",
    "installationTransaction",
    "installationStages",
    "rollbackCheckpoints",
    "admissionGates",
    "failureLab",
    "controlSurfaces",
    "validationMatrix",
    "effectsExecuted",
    "integrity"
  ],
  "properties": {
    "schemaVersion": {
      "const": "developer.reits.tech/d05-r49-external-receipt-verification-target-inspection-stopped-install-admission-plane/v1"
    },
    "status": {
      "const": "D05_R49_VERIFICATION_TARGET_INSPECTION_AND_STOPPED_INSTALL_ADMISSION_IMPLEMENTED_EXTERNAL_INPUTS_ABSENT"
    },
    "knife": {
      "type": "object",
      "required": [
        "id",
        "predecessor",
        "next",
        "implementationComplete",
        "countsAsProgramAcceptance"
      ],
      "properties": {
        "id": {
          "const": "D05-R49"
        },
        "predecessor": {
          "const": "D05-R48"
        },
        "next": {
          "const": "D05-R50"
        },
        "implementationComplete": {
          "const": true
        },
        "countsAsProgramAcceptance": {
          "const": false
        }
      }
    },
    "formalProgress": {
      "type": "object",
      "required": [
        "acceptedKnives",
        "totalKnives",
        "d05GatesSatisfied",
        "d05GatesRequired"
      ],
      "properties": {
        "acceptedKnives": {
          "const": 4
        },
        "totalKnives": {
          "const": 36
        },
        "d05GatesSatisfied": {
          "const": 0
        },
        "d05GatesRequired": {
          "const": 11
        }
      }
    },
    "engineeringProgress": {
      "type": "object",
      "required": [
        "completedSubphasesIncludingR49",
        "completedRange",
        "currentSubphase"
      ],
      "properties": {
        "completedSubphasesIncludingR49": {
          "const": 49
        },
        "completedRange": {
          "const": "D05-R01..D05-R49"
        },
        "currentSubphase": {
          "const": "D05-R49"
        }
      }
    },
    "observedBaseline": {
      "type": "object"
    },
    "summary": {
      "type": "object",
      "required": [
        "receiptsVerified",
        "keysResolved",
        "keysRequired",
        "dedicatedTargetsSelected",
        "installStagesCompleted",
        "installStagesRequired",
        "admissionGatesPassed",
        "controlSurfaces",
        "validationCasesTotal",
        "productionEffects"
      ],
      "properties": {
        "receiptsVerified": {
          "const": 0
        },
        "keysResolved": {
          "const": 0
        },
        "keysRequired": {
          "const": 12
        },
        "dedicatedTargetsSelected": {
          "const": 0
        },
        "installStagesCompleted": {
          "const": 0
        },
        "installStagesRequired": {
          "const": 10
        },
        "admissionGatesPassed": {
          "const": 0
        },
        "controlSurfaces": {
          "const": 27
        },
        "validationCasesTotal": {
          "const": 312
        },
        "productionEffects": {
          "const": 0
        }
      }
    },
    "receiptContract": {
      "type": "object"
    },
    "receiptVerificationLanes": {
      "type": "array",
      "minItems": 6,
      "maxItems": 6
    },
    "keyResolutionContract": {
      "type": "object",
      "required": [
        "requiredKeys",
        "resolvedKeys",
        "privateKeyImportAllowed",
        "portalSigningAllowed",
        "state"
      ],
      "properties": {
        "requiredKeys": {
          "const": 12
        },
        "resolvedKeys": {
          "const": 0
        },
        "privateKeyImportAllowed": {
          "const": false
        },
        "portalSigningAllowed": {
          "const": false
        },
        "state": {
          "const": "HELD_NO_EXTERNAL_KEYREFS"
        }
      }
    },
    "targetInspection": {
      "type": "object",
      "required": [
        "currentHostEligible",
        "dedicatedTargetRef",
        "attestationFields",
        "targetLockDigest",
        "state"
      ],
      "properties": {
        "currentHostEligible": {
          "const": false
        },
        "dedicatedTargetRef": {
          "type": "null"
        },
        "attestationFields": {
          "type": "array",
          "minItems": 18,
          "maxItems": 18
        },
        "targetLockDigest": {
          "type": "null"
        },
        "state": {
          "const": "HELD_DEDICATED_TARGET_AND_ATTESTATION_ABSENT"
        }
      }
    },
    "targetInspectionChecks": {
      "type": "array",
      "minItems": 12,
      "maxItems": 12
    },
    "installationTransaction": {
      "type": "object",
      "required": [
        "state",
        "stagesCompleted",
        "stagesRequired",
        "serviceStartAllowed",
        "listener8110Allowed"
      ],
      "properties": {
        "state": {
          "const": "HELD_NOT_ARMED"
        },
        "stagesCompleted": {
          "const": 0
        },
        "stagesRequired": {
          "const": 10
        },
        "serviceStartAllowed": {
          "const": false
        },
        "listener8110Allowed": {
          "const": false
        }
      }
    },
    "installationStages": {
      "type": "array",
      "minItems": 10,
      "maxItems": 10
    },
    "rollbackCheckpoints": {
      "type": "array",
      "minItems": 10,
      "maxItems": 10
    },
    "admissionGates": {
      "type": "array",
      "minItems": 9,
      "maxItems": 9
    },
    "failureLab": {
      "type": "array",
      "minItems": 10,
      "maxItems": 10
    },
    "controlSurfaces": {
      "type": "array",
      "minItems": 27,
      "maxItems": 27
    },
    "validationMatrix": {
      "type": "object",
      "required": [
        "expectedCases",
        "passedCases",
        "failedCases",
        "result"
      ],
      "properties": {
        "expectedCases": {
          "const": 312
        },
        "passedCases": {
          "const": 312
        },
        "failedCases": {
          "const": 0
        },
        "result": {
          "const": "PASS_FAIL_CLOSED"
        }
      }
    },
    "effectsExecuted": {
      "type": "object"
    },
    "integrity": {
      "type": "object"
    }
  }
}
