{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-factory-worker-provider.v1.schema.json",
  "title": "REITs fail-closed EC2 one-job worker provider contract",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "truth", "implementation", "operations", "stateMachine", "invariants", "verification", "failureClasses", "productionPrerequisites", "officialReferences"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-factory-worker-provider/v1" },
    "status": { "const": "ADAPTER_IMPLEMENTED_NOT_CONFIGURED" },
    "observedAt": { "type": "string", "format": "date-time" },
    "truth": {
      "type": "object",
      "required": ["launchTemplateCreated", "ciNetworkCreated", "bootstrapProfileCreated", "runtimeDriverConfigured", "readinessGateSatisfied", "liveWorkers", "runtimeJobs", "ec2CallsExecuted", "paidResourcesCreated", "deploymentPermitted"],
      "properties": {
        "launchTemplateCreated": { "const": false },
        "ciNetworkCreated": { "const": false },
        "bootstrapProfileCreated": { "const": false },
        "runtimeDriverConfigured": { "const": false },
        "readinessGateSatisfied": { "const": false },
        "liveWorkers": { "const": 0 },
        "runtimeJobs": { "const": 0 },
        "ec2CallsExecuted": { "const": 0 },
        "paidResourcesCreated": { "const": false },
        "deploymentPermitted": { "const": false }
      },
      "additionalProperties": false
    },
    "implementation": {
      "type": "object",
      "required": ["adapter", "testDriver", "runtimeDriver", "region", "launchTemplateSelection", "capacityPerRequest", "clientToken", "publicIpv4", "ipv6", "bootstrapImds", "jobImds", "maxJobs", "rootVolume", "proofTransport"],
      "properties": {
        "adapter": { "const": "ops/runner-factory/worker-provider.mjs" },
        "testDriver": { "const": "ops/runner-factory/memory-ec2-driver.mjs" },
        "runtimeDriver": { "const": "NOT_CONFIGURED" },
        "region": { "const": "ap-southeast-2" },
        "launchTemplateSelection": { "const": "EXACT_ID_AND_NUMERIC_VERSION" },
        "capacityPerRequest": { "const": 1 },
        "clientToken": { "const": "SHA256_JOB_ATTEMPT_KEY" },
        "publicIpv4": { "const": false },
        "ipv6": { "const": false },
        "bootstrapImds": { "const": "IMDSV2_REQUIRED_HOP_LIMIT_1" },
        "jobImds": { "const": "DISABLED" },
        "maxJobs": { "const": 1 },
        "rootVolume": { "const": "ENCRYPTED_GP3_DELETE_ON_TERMINATION" },
        "proofTransport": { "const": "OPAQUE_CAPABILITY_AND_SECRET_FREE_FACTS" }
      },
      "additionalProperties": false
    },
    "operations": { "type": "array", "minItems": 4, "maxItems": 4 },
    "stateMachine": { "type": "array", "minItems": 9, "maxItems": 9 },
    "invariants": { "type": "array", "minItems": 14, "maxItems": 14 },
    "verification": {
      "type": "object",
      "required": ["status", "fixtures", "allowedTransitions", "deniedTransitions", "ec2OperationsModeled", "jobAgentOperationsModeled", "compensationCases", "idempotentTerminalCases", "secretExposureCount", "externalCallsExecuted"],
      "properties": {
        "status": { "const": "PASS_TEST_DRIVER_ONLY" },
        "fixtures": { "const": 34 },
        "allowedTransitions": { "const": 8 },
        "deniedTransitions": { "const": 26 },
        "ec2OperationsModeled": { "const": 8 },
        "jobAgentOperationsModeled": { "const": 1 },
        "compensationCases": { "const": 1 },
        "idempotentTerminalCases": { "const": 1 },
        "secretExposureCount": { "const": 0 },
        "externalCallsExecuted": { "const": 0 }
      },
      "additionalProperties": false
    },
    "failureClasses": { "type": "array", "minItems": 5, "maxItems": 5 },
    "productionPrerequisites": { "type": "array", "minItems": 7, "maxItems": 7 },
    "officialReferences": { "type": "object", "minProperties": 5 }
  },
  "additionalProperties": false
}
