{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/d05-auth-mainline-convergence-admission.v7.schema.json",
  "title": "D05 Auth S08 R02 四席独立 Ballot 接入与验证工作台",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion",
    "subknifeId",
    "parentSubknife",
    "title",
    "status",
    "observedAt",
    "generatedFrom",
    "formalProgress",
    "engineeringProgress",
    "acceptanceClosure",
    "repositoryBridge",
    "productionActivation",
    "executionReadiness",
    "ownerReadiness",
    "artifactReadiness",
    "realEvidence",
    "correctionProgress",
    "convergenceReadiness",
    "principle",
    "sourceTopology",
    "databaseCloneRehearsal",
    "compatibleRuntimeCandidate",
    "stagingRehearsal",
    "productionRuntimeReadback",
    "changedSurfaces",
    "admissionChecks",
    "admissionSummary",
    "liveDecision",
    "runnerEligibility",
    "runnerReadback",
    "reviewDossier",
    "reviewGateSummary",
    "readinessStages",
    "s08Progress",
    "s08Protocol",
    "ownerPackets",
    "approvalGates",
    "stopConditions",
    "permissions",
    "nextActions",
    "effects",
    "decision",
    "integrity",
    "ballotIntake",
    "r02Delivery",
    "r02Engineering",
    "ballotAuthoritySummary",
    "ballotSummary"
  ],
  "properties": {
    "schemaVersion": {
      "const": "developer.reits.tech/d05-auth-mainline-convergence-admission/v7"
    },
    "subknifeId": {
      "const": "D05-A03-P03c-S08-R02-C01"
    },
    "parentSubknife": {
      "const": "D05-A03-P03c-S08-R01"
    },
    "title": {
      "const": "Auth S08 R02 四席独立 Ballot 接入与验证工作台"
    },
    "status": {
      "const": "BALLOT_CONTRACT_READY_EXTERNAL_AUTHORITIES_AND_BALLOTS_PENDING_PRODUCTION_HELD"
    },
    "observedAt": {
      "type": "string",
      "format": "date-time"
    },
    "generatedFrom": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "predecessorDigest",
        "s07ProgramDigest",
        "programDigest",
        "rehearsalDigest",
        "compatibleRuntimeDigest",
        "stagingRehearsalDigest",
        "reviewDossierDigest",
        "ballotIntakeDigest"
      ],
      "properties": {
        "predecessorDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "s07ProgramDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "programDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "rehearsalDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "compatibleRuntimeDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "stagingRehearsalDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "reviewDossierDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "ballotIntakeDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        }
      }
    },
    "formalProgress": {
      "type": "object",
      "required": [
        "currentOrdinal",
        "acceptedKnives",
        "totalKnives",
        "remainingIncludingCurrent"
      ],
      "properties": {
        "currentOrdinal": {
          "const": 5
        },
        "acceptedKnives": {
          "const": 4
        },
        "totalKnives": {
          "const": 36
        },
        "remainingIncludingCurrent": {
          "const": 32
        }
      }
    },
    "engineeringProgress": {
      "type": "object"
    },
    "acceptanceClosure": {
      "type": "object"
    },
    "repositoryBridge": {
      "type": "object"
    },
    "productionActivation": {
      "type": "object"
    },
    "executionReadiness": {
      "type": "object"
    },
    "ownerReadiness": {
      "type": "object"
    },
    "artifactReadiness": {
      "type": "object"
    },
    "realEvidence": {
      "type": "object"
    },
    "correctionProgress": {
      "type": "object",
      "required": [
        "completed",
        "total",
        "remaining",
        "label"
      ],
      "properties": {
        "completed": {
          "const": 3
        },
        "total": {
          "const": 3
        },
        "remaining": {
          "const": 0
        },
        "label": {
          "type": "string"
        }
      }
    },
    "convergenceReadiness": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "completed",
        "current",
        "total",
        "remainingIncludingCurrent"
      ],
      "properties": {
        "completed": {
          "const": 7
        },
        "current": {
          "const": 8
        },
        "total": {
          "const": 8
        },
        "remainingIncludingCurrent": {
          "const": 1
        }
      }
    },
    "principle": {
      "type": "string",
      "minLength": 40
    },
    "sourceTopology": {
      "type": "object",
      "required": [
        "repository",
        "reviewBaselineRevision",
        "currentMainRevision",
        "reviewDossierRevision",
        "pullRequest"
      ],
      "properties": {
        "repository": {
          "const": "reits/reits-auth"
        },
        "reviewBaselineRevision": {
          "const": "a3ebd7a947570498a602438e20f11a9b847753fa"
        },
        "currentMainRevision": {
          "const": "d18b62b0be8da75f82d8faf0fbdae1d349942aa0"
        },
        "reviewDossierRevision": {
          "const": "c05001d884c3b98c28b82e0fb2d990772552774a"
        },
        "pullRequest": {
          "type": "object",
          "required": [
            "number",
            "state",
            "headRevision",
            "mergeRevision",
            "checks"
          ],
          "properties": {
            "number": {
              "const": 25
            },
            "state": {
              "const": "MERGED"
            },
            "headRevision": {
              "const": "c05001d884c3b98c28b82e0fb2d990772552774a"
            },
            "mergeRevision": {
              "const": "d18b62b0be8da75f82d8faf0fbdae1d349942aa0"
            },
            "checks": {
              "type": "array",
              "minItems": 4,
              "maxItems": 4,
              "items": {
                "type": "object",
                "required": [
                  "runNumber",
                  "workflow",
                  "scope",
                  "conclusion",
                  "headRevision"
                ],
                "properties": {
                  "runNumber": {
                    "enum": [
                      70,
                      71,
                      72,
                      73
                    ]
                  },
                  "conclusion": {
                    "const": "success"
                  }
                }
              }
            }
          }
        }
      }
    },
    "runnerEligibility": {
      "type": "object",
      "required": [
        "completedJobs",
        "retirementReadback",
        "decision",
        "boundary"
      ],
      "properties": {
        "completedJobs": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4
        },
        "retirementReadback": {
          "type": "object",
          "required": [
            "repositoryRunnerCount",
            "scopedContainerCount",
            "scopedVolumeCount",
            "registrationTokenPersisted"
          ],
          "properties": {
            "repositoryRunnerCount": {
              "const": 0
            },
            "scopedContainerCount": {
              "const": 0
            },
            "scopedVolumeCount": {
              "const": 0
            },
            "registrationTokenPersisted": {
              "const": false
            }
          }
        },
        "decision": {
          "const": "S07_COMPLETE_PR_AND_MAIN_CI_GREEN_RUNNER_RETIRED"
        },
        "boundary": {
          "type": "string"
        }
      }
    },
    "databaseCloneRehearsal": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "const": "PASS_DATABASE_CLONE_REHEARSAL_PRODUCTION_HELD"
        }
      }
    },
    "compatibleRuntimeCandidate": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "const": "PASS_COMPATIBLE_RUNTIME_CANDIDATE_PRODUCTION_HELD"
        }
      }
    },
    "stagingRehearsal": {
      "$ref": "/schemas/auth-isolated-staging-rehearsal-receipt.v1.schema.json"
    },
    "productionRuntimeReadback": {
      "type": "object",
      "required": [
        "releaseRevision",
        "databaseMigrations",
        "databaseWrites",
        "authDeployments",
        "algorithm",
        "publicJwksKeys"
      ],
      "properties": {
        "releaseRevision": {
          "const": "18c553c2cac155f33d9626f72ae25c5f2a8d5634"
        },
        "databaseMigrations": {
          "const": 0
        },
        "databaseWrites": {
          "const": 0
        },
        "authDeployments": {
          "const": 0
        },
        "algorithm": {
          "const": "HS256"
        },
        "publicJwksKeys": {
          "const": 0
        }
      }
    },
    "changedSurfaces": {
      "type": "array",
      "minItems": 10,
      "maxItems": 10
    },
    "admissionChecks": {
      "type": "array",
      "minItems": 29,
      "maxItems": 29,
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "authority",
          "state",
          "detail"
        ],
        "properties": {
          "state": {
            "const": "PASS"
          }
        }
      }
    },
    "admissionSummary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "passed",
        "waiting",
        "held",
        "total"
      ],
      "properties": {
        "passed": {
          "const": 29
        },
        "waiting": {
          "const": 0
        },
        "held": {
          "const": 0
        },
        "total": {
          "const": 29
        }
      }
    },
    "readinessStages": {
      "type": "array",
      "minItems": 8,
      "maxItems": 8
    },
    "nextActions": {
      "type": "array",
      "minItems": 4,
      "maxItems": 4
    },
    "liveDecision": {
      "type": "object"
    },
    "effects": {
      "type": "object",
      "minProperties": 19,
      "maxProperties": 19
    },
    "decision": {
      "type": "object",
      "required": [
        "stagingRehearsalPassed",
        "fourOwnerReviewAllowed",
        "reviewDossierAssembled",
        "reviewDossierBindingsPassed",
        "fourOwnerReviewPassed",
        "ownerBallotsAccepted",
        "ownerBallotsRequired",
        "productionWindowPermitIssued",
        "independentFinalDecisionPassed",
        "databaseMigrationAllowed",
        "authDeploymentAllowed",
        "shadowModeAllowed",
        "activeModeAllowed",
        "formalAdvanceAllowed",
        "ballotContractImplemented",
        "ballotContractImported",
        "externalAuthoritySetBound",
        "ballotsReceived",
        "ballotsValidated"
      ],
      "properties": {
        "stagingRehearsalPassed": {
          "const": true
        },
        "fourOwnerReviewAllowed": {
          "const": true
        },
        "reviewDossierAssembled": {
          "const": true
        },
        "reviewDossierBindingsPassed": {
          "const": true
        },
        "fourOwnerReviewPassed": {
          "const": false
        },
        "ownerBallotsAccepted": {
          "const": 0
        },
        "ownerBallotsRequired": {
          "const": 4
        },
        "productionWindowPermitIssued": {
          "const": false
        },
        "independentFinalDecisionPassed": {
          "const": false
        },
        "databaseMigrationAllowed": {
          "const": false
        },
        "authDeploymentAllowed": {
          "const": false
        },
        "shadowModeAllowed": {
          "const": false
        },
        "activeModeAllowed": {
          "const": false
        },
        "formalAdvanceAllowed": {
          "const": false
        },
        "ballotContractImplemented": {
          "const": true
        },
        "ballotContractImported": {
          "const": true
        },
        "externalAuthoritySetBound": {
          "const": false
        },
        "ballotsReceived": {
          "const": 0
        },
        "ballotsValidated": {
          "const": 0
        }
      }
    },
    "integrity": {
      "type": "object",
      "required": [
        "changedSurfaces",
        "admissionChecks",
        "readinessStages",
        "nextActions",
        "evidenceBindings",
        "ownerPackets",
        "ownerChecks",
        "approvalGates",
        "stopConditions",
        "deniedPermissions",
        "remoteQualityChecks",
        "validatorClasses",
        "runtimeTables",
        "stagingMigrations",
        "stagingExactSkips",
        "stagingIdentityWorkers",
        "stagingHostileCases",
        "stagingObservations",
        "stagingRetirementZeros",
        "stagingProductionZeros",
        "zeroEffects",
        "r02OwnerSlots",
        "r02AuthorityBindings",
        "r02ValidationSteps",
        "r02RejectionRules",
        "r02BallotsReceived",
        "r02BallotsValid",
        "r02BallotsAccepted"
      ],
      "properties": {
        "changedSurfaces": {
          "const": 10
        },
        "admissionChecks": {
          "const": 29
        },
        "readinessStages": {
          "const": 8
        },
        "nextActions": {
          "const": 4
        },
        "evidenceBindings": {
          "const": 16
        },
        "ownerPackets": {
          "const": 4
        },
        "ownerChecks": {
          "const": 24
        },
        "approvalGates": {
          "const": 12
        },
        "stopConditions": {
          "const": 12
        },
        "deniedPermissions": {
          "const": 8
        },
        "remoteQualityChecks": {
          "const": 4
        },
        "validatorClasses": {
          "const": 6
        },
        "runtimeTables": {
          "const": 4
        },
        "stagingMigrations": {
          "const": 6
        },
        "stagingExactSkips": {
          "const": 6
        },
        "stagingIdentityWorkers": {
          "const": 32
        },
        "stagingHostileCases": {
          "const": 54
        },
        "stagingObservations": {
          "const": 24
        },
        "stagingRetirementZeros": {
          "const": 6
        },
        "stagingProductionZeros": {
          "const": 12
        },
        "zeroEffects": {
          "const": 14
        },
        "r02OwnerSlots": {
          "const": 4
        },
        "r02AuthorityBindings": {
          "const": 0
        },
        "r02ValidationSteps": {
          "const": 10
        },
        "r02RejectionRules": {
          "const": 16
        },
        "r02BallotsReceived": {
          "const": 0
        },
        "r02BallotsValid": {
          "const": 0
        },
        "r02BallotsAccepted": {
          "const": 0
        }
      }
    },
    "runnerReadback": {
      "type": "object",
      "required": [
        "version",
        "scope",
        "labels",
        "maxParallel",
        "repositoryRunnerCount",
        "localRunnerProcesses",
        "localRunnerDirectories",
        "localActionCaches",
        "registrationTokenPersisted",
        "incident"
      ],
      "properties": {
        "version": {
          "const": "v2.3.0"
        },
        "scope": {
          "const": "reits/reits-auth"
        },
        "maxParallel": {
          "const": 1
        },
        "repositoryRunnerCount": {
          "const": 0
        },
        "localRunnerProcesses": {
          "const": 0
        },
        "localRunnerDirectories": {
          "const": 0
        },
        "localActionCaches": {
          "const": 0
        },
        "registrationTokenPersisted": {
          "const": false
        },
        "incident": {
          "type": "object"
        }
      }
    },
    "reviewDossier": {
      "$ref": "/schemas/auth-s08-four-owner-review-dossier.v1.schema.json"
    },
    "reviewGateSummary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "passed",
        "waiting",
        "held",
        "total"
      ],
      "properties": {
        "passed": {
          "const": 3
        },
        "waiting": {
          "const": 4
        },
        "held": {
          "const": 5
        },
        "total": {
          "const": 12
        }
      }
    },
    "s08Progress": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "completed",
        "current",
        "total",
        "remainingIncludingCurrent",
        "currentLabel"
      ],
      "properties": {
        "completed": {
          "const": 1
        },
        "current": {
          "const": 2
        },
        "total": {
          "const": 4
        },
        "remainingIncludingCurrent": {
          "const": 3
        },
        "currentLabel": {
          "const": "R02 四席独立 Ballot"
        }
      }
    },
    "s08Protocol": {
      "type": "array",
      "minItems": 4,
      "maxItems": 4
    },
    "ownerPackets": {
      "type": "array",
      "minItems": 4,
      "maxItems": 4
    },
    "approvalGates": {
      "type": "array",
      "minItems": 12,
      "maxItems": 12
    },
    "stopConditions": {
      "type": "array",
      "minItems": 12,
      "maxItems": 12
    },
    "permissions": {
      "type": "object",
      "minProperties": 8,
      "maxProperties": 8,
      "additionalProperties": {
        "const": false
      }
    },
    "ballotIntake": {
      "type": "object",
      "required": [
        "schemaVersion",
        "subknifeId",
        "parentSubknife",
        "status",
        "dossier",
        "progress",
        "truthBoundary",
        "owners",
        "validationPipeline",
        "rejectionRules",
        "permissions",
        "effects"
      ],
      "properties": {
        "schemaVersion": {
          "const": "reits.tech/auth-s08-owner-ballot-intake/v1"
        },
        "subknifeId": {
          "const": "D05-A03-P03c-S08-R02-C01"
        },
        "parentSubknife": {
          "const": "D05-A03-P03c-S08-R01"
        },
        "status": {
          "const": "BALLOT_CONTRACT_READY_EXTERNAL_AUTHORITIES_AND_BALLOTS_PENDING_PRODUCTION_HELD"
        },
        "owners": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4
        },
        "validationPipeline": {
          "type": "array",
          "minItems": 10,
          "maxItems": 10
        },
        "rejectionRules": {
          "type": "array",
          "minItems": 16,
          "maxItems": 16
        },
        "permissions": {
          "type": "object",
          "minProperties": 8,
          "maxProperties": 8,
          "additionalProperties": {
            "const": false
          }
        },
        "effects": {
          "type": "object",
          "minProperties": 14,
          "maxProperties": 14,
          "additionalProperties": {
            "const": 0
          }
        }
      }
    },
    "r02Delivery": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "repository",
        "stage",
        "branch",
        "headRevision",
        "currentMainRevision",
        "pullRequest",
        "checks",
        "runnerReadback",
        "dispatchIncident"
      ],
      "properties": {
        "repository": {
          "const": "reits/reits-auth"
        },
        "stage": {
          "const": "D05-A03-P03c-S08-R02-C01"
        },
        "branch": {
          "const": "codex/auth-s08-r02-ballot-intake"
        },
        "headRevision": {
          "const": "eecb37d765ae167668bd9db3059c4c26f32f6f5f"
        },
        "currentMainRevision": {
          "const": "038707beb43936672d5cbf2ef68f7dd4fe706660"
        },
        "pullRequest": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "number",
            "url",
            "state",
            "baseRevision",
            "headRevision",
            "mergeRevision",
            "mergedAt"
          ],
          "properties": {
            "number": {
              "const": 27
            },
            "url": {
              "const": "https://gitea.reits.tech/reits/reits-auth/pulls/27"
            },
            "state": {
              "const": "MERGED"
            },
            "baseRevision": {
              "const": "d18b62b0be8da75f82d8faf0fbdae1d349942aa0"
            },
            "headRevision": {
              "const": "eecb37d765ae167668bd9db3059c4c26f32f6f5f"
            },
            "mergeRevision": {
              "const": "038707beb43936672d5cbf2ef68f7dd4fe706660"
            },
            "mergedAt": {
              "const": "2026-07-30T08:11:48Z"
            }
          }
        },
        "checks": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4,
          "prefixItems": [
            {
              "type": "object",
              "properties": {
                "runNumber": {
                  "const": 76
                },
                "workflowFile": {
                  "const": "ci.yml"
                },
                "scope": {
                  "const": "pull_request"
                },
                "conclusion": {
                  "const": "success"
                },
                "headRevision": {
                  "const": "eecb37d765ae167668bd9db3059c4c26f32f6f5f"
                }
              },
              "required": [
                "runNumber",
                "workflowFile",
                "scope",
                "conclusion",
                "headRevision"
              ]
            },
            {
              "type": "object",
              "properties": {
                "runNumber": {
                  "const": 77
                },
                "workflowFile": {
                  "const": "reits-minimum-ci.yml"
                },
                "scope": {
                  "const": "pull_request"
                },
                "conclusion": {
                  "const": "success"
                },
                "headRevision": {
                  "const": "eecb37d765ae167668bd9db3059c4c26f32f6f5f"
                }
              },
              "required": [
                "runNumber",
                "workflowFile",
                "scope",
                "conclusion",
                "headRevision"
              ]
            },
            {
              "type": "object",
              "properties": {
                "runNumber": {
                  "const": 78
                },
                "workflowFile": {
                  "const": "ci.yml"
                },
                "scope": {
                  "const": "main"
                },
                "conclusion": {
                  "const": "success"
                },
                "headRevision": {
                  "const": "038707beb43936672d5cbf2ef68f7dd4fe706660"
                }
              },
              "required": [
                "runNumber",
                "workflowFile",
                "scope",
                "conclusion",
                "headRevision"
              ]
            },
            {
              "type": "object",
              "properties": {
                "runNumber": {
                  "const": 79
                },
                "workflowFile": {
                  "const": "reits-minimum-ci.yml"
                },
                "scope": {
                  "const": "main"
                },
                "conclusion": {
                  "const": "success"
                },
                "headRevision": {
                  "const": "038707beb43936672d5cbf2ef68f7dd4fe706660"
                }
              },
              "required": [
                "runNumber",
                "workflowFile",
                "scope",
                "conclusion",
                "headRevision"
              ]
            }
          ],
          "items": false
        },
        "runnerReadback": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "repositoryRunnerCount",
            "remoteRunnerContainers",
            "remoteRunnerVolumes",
            "localRunnerProcesses",
            "localActionCaches",
            "registrationTokenPersisted"
          ],
          "properties": {
            "repositoryRunnerCount": {
              "const": 0
            },
            "remoteRunnerContainers": {
              "const": 0
            },
            "remoteRunnerVolumes": {
              "const": 0
            },
            "localRunnerProcesses": {
              "const": 0
            },
            "localActionCaches": {
              "const": 0
            },
            "registrationTokenPersisted": {
              "const": false
            }
          }
        },
        "dispatchIncident": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "id",
            "state",
            "symptom",
            "cause",
            "rejectedAsEvidenceFor",
            "correctiveAction",
            "truthRule"
          ],
          "properties": {
            "id": {
              "const": "R02-CI-QUEUE-01"
            },
            "state": {
              "const": "CLOSED"
            },
            "symptom": {
              "type": "string",
              "minLength": 1
            },
            "cause": {
              "type": "string",
              "minLength": 1
            },
            "rejectedAsEvidenceFor": {
              "const": [
                76,
                77
              ]
            },
            "correctiveAction": {
              "type": "string",
              "minLength": 1
            },
            "truthRule": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      }
    },
    "r02Engineering": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "completedSlices",
        "currentSlice",
        "totalSlices",
        "remainingIncludingCurrent"
      ],
      "properties": {
        "completedSlices": {
          "const": 1
        },
        "currentSlice": {
          "const": 2
        },
        "totalSlices": {
          "const": 4
        },
        "remainingIncludingCurrent": {
          "const": 3
        }
      }
    },
    "r02EngineeringProtocol": {
      "type": "array",
      "minItems": 4,
      "maxItems": 4,
      "prefixItems": [
        {
          "type": "object",
          "properties": {
            "id": {
              "const": "C01"
            },
            "state": {
              "const": "COMPLETE"
            }
          },
          "required": [
            "id",
            "name",
            "state",
            "exit"
          ]
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "const": "C02"
            },
            "state": {
              "const": "CURRENT"
            }
          },
          "required": [
            "id",
            "name",
            "state",
            "exit"
          ]
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "const": "C03"
            },
            "state": {
              "const": "BLOCKED"
            }
          },
          "required": [
            "id",
            "name",
            "state",
            "exit"
          ]
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "const": "C04"
            },
            "state": {
              "const": "BLOCKED"
            }
          },
          "required": [
            "id",
            "name",
            "state",
            "exit"
          ]
        }
      ],
      "items": false
    },
    "ballotContract": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaHref",
        "authoritySchemaHref",
        "signatureAlgorithm",
        "maximumValiditySeconds",
        "requiredFields",
        "decisions",
        "checkCount",
        "fourOfFourMeans",
        "executionPermit"
      ],
      "properties": {
        "schemaHref": {
          "const": "/schemas/auth-s08-owner-ballot.v1.schema.json"
        },
        "authoritySchemaHref": {
          "const": "/schemas/auth-s08-owner-authority-set.v1.schema.json"
        },
        "signatureAlgorithm": {
          "const": "ED25519"
        },
        "maximumValiditySeconds": {
          "const": 3600
        },
        "requiredFields": {
          "type": "array",
          "minItems": 18,
          "maxItems": 18
        },
        "decisions": {
          "const": [
            "ACCEPT",
            "REJECT"
          ]
        },
        "checkCount": {
          "const": 6
        },
        "fourOfFourMeans": {
          "const": "ADMIT_R03_ONLY"
        },
        "executionPermit": {
          "const": false
        }
      }
    },
    "ballotAuthoritySummary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "required",
        "bound",
        "waiting"
      ],
      "properties": {
        "required": {
          "const": 4
        },
        "bound": {
          "const": 0
        },
        "waiting": {
          "const": 4
        }
      }
    },
    "ballotSummary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "received",
        "valid",
        "accepted",
        "required"
      ],
      "properties": {
        "received": {
          "const": 0
        },
        "valid": {
          "const": 0
        },
        "accepted": {
          "const": 0
        },
        "required": {
          "const": 4
        }
      }
    }
  }
}
