{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.reits.tech/schemas/runner-factory-controller-disposable-host-no-shell-executor.v1.schema.json",
  "title": "Runner Factory disposable-host no-shell executor contract",
  "type": "object",
  "required": ["schemaVersion", "status", "observedAt", "scope", "operations", "upstream", "authorityTopology", "hostClaim", "deadlineEnvelope", "typedPorts", "forwardPhases", "compensationPhases", "stateModel", "truth", "selectedDenialTrace", "invariants", "verification", "productionPrerequisites", "fixtureRegistry", "discovery"],
  "properties": {
    "schemaVersion": { "const": "developer.reits.tech/runner-factory-disposable-host-no-shell-executor-contract/v1" },
    "status": { "const": "DISPOSABLE_HOST_NO_SHELL_EXECUTOR_IMPLEMENTED_NOT_CONFIGURED" },
    "observedAt": { "type": "string", "format": "date-time" },
    "scope": {
      "type": "object",
      "required": ["mode", "input", "output", "driverMode", "hostContacted", "packageLoaded", "processSpawned", "shellSurface", "paidHostAuthorizationPresent", "userCostAuthorizationReceiptObserved", "launchAuthority", "promotionAuthority", "productionEntrypointWired"],
      "properties": {
        "mode": { "const": "IN_MEMORY_TYPED_PORT_DRIVER_NO_HOST" }, "input": { "type": "string" }, "output": { "type": "string" }, "driverMode": { "const": "CLOSED_TYPED_PORTS_ONLY" },
        "hostContacted": { "const": false }, "packageLoaded": { "const": false }, "processSpawned": { "const": false }, "shellSurface": { "const": "NONE" },
        "paidHostAuthorizationPresent": { "const": false }, "userCostAuthorizationReceiptObserved": { "const": false }, "launchAuthority": { "const": "NONE" }, "promotionAuthority": { "const": "NONE" }, "productionEntrypointWired": { "const": false }
      },
      "additionalProperties": false
    },
    "operations": { "type": "array", "prefixItems": [{ "const": "prepare" }, { "const": "execute" }, { "const": "verify" }, { "const": "dispose" }], "minItems": 4, "maxItems": 4 },
    "upstream": {
      "type": "object",
      "required": ["contract", "receiptStatus", "verdict", "verification", "launchAuthority"],
      "properties": { "contract": { "const": "controller-disposable-host-execution-envelope-authorizer-contract.json" }, "receiptStatus": { "const": "DISPOSABLE_HOST_EXECUTION_ENVELOPE_AUTHORIZED_TEST_ONLY" }, "verdict": { "const": "ELIGIBLE_FOR_SEPARATELY_APPROVED_FIXTURE_EXECUTOR_ONLY" }, "verification": { "const": "ASYMMETRIC_VERIFY_ONLY_FIXTURE" }, "launchAuthority": { "const": "NONE" } },
      "additionalProperties": false
    },
    "authorityTopology": {
      "type": "array", "minItems": 2, "maxItems": 2,
      "prefixItems": [
        { "type": "object", "required": ["authority", "signerKeyId", "ports", "mayRetire"], "properties": { "authority": { "const": "FIXTURE_NO_SHELL_EXECUTOR" }, "signerKeyId": { "const": "fixture-p256-no-shell-executor" }, "ports": { "const": 5 }, "mayRetire": { "const": false } }, "additionalProperties": false },
        { "type": "object", "required": ["authority", "signerKeyId", "ports", "mayOpenSession"], "properties": { "authority": { "const": "INDEPENDENT_RETIREMENT_WATCHDOG" }, "signerKeyId": { "const": "fixture-p256-independent-retirement-watchdog" }, "ports": { "const": 3 }, "mayOpenSession": { "const": false } }, "additionalProperties": false }
      ]
    },
    "hostClaim": {
      "type": "object", "required": ["strategy", "idempotencyKey", "maximumClaimsPerEnvelope", "fixtureClaimsOnly", "awsClientTokenDerived", "durableClaimStoreConfigured"],
      "properties": { "strategy": { "const": "DETERMINISTIC_DIGEST_FROM_AUTHORIZATION_PACKAGE_AND_DOSSIER" }, "idempotencyKey": { "const": "hostClaimKey" }, "maximumClaimsPerEnvelope": { "const": 1 }, "fixtureClaimsOnly": { "const": true }, "awsClientTokenDerived": { "const": false }, "durableClaimStoreConfigured": { "const": false } },
      "additionalProperties": false
    },
    "deadlineEnvelope": {
      "type": "object", "required": ["requestValiditySeconds", "maxRunSeconds", "maxCleanupSeconds", "watchdogAuthority", "deadlineDriverConfigured", "runtimeClockConfigured"],
      "properties": { "requestValiditySeconds": { "const": 30 }, "maxRunSeconds": { "const": 900 }, "maxCleanupSeconds": { "const": 120 }, "watchdogAuthority": { "const": "INDEPENDENT_RETIREMENT_WATCHDOG" }, "deadlineDriverConfigured": { "const": false }, "runtimeClockConfigured": { "const": false } },
      "additionalProperties": false
    },
    "typedPorts": {
      "type": "array", "minItems": 8, "maxItems": 8,
      "items": { "type": "object", "required": ["ordinal", "operation", "method", "authority", "effect", "shell"], "properties": { "ordinal": { "type": "integer", "minimum": 1, "maximum": 8 }, "operation": { "enum": ["CLAIM_HOST", "BIND_EXECUTION_PACKAGE", "START_DEADLINE_WATCHDOG", "ATTEST_ISOLATION", "OPEN_FIXTURE_SESSION", "SEAL_FIXTURE_SESSION", "RETIRE_FIXTURE_HOST", "VERIFY_RETIREMENT"] }, "method": { "enum": ["claimHost", "bindPackage", "startDeadlineWatchdog", "attestIsolation", "openSession", "sealSession", "retireHost", "verifyRetirement"] }, "authority": { "enum": ["FIXTURE_NO_SHELL_EXECUTOR", "INDEPENDENT_RETIREMENT_WATCHDOG"] }, "effect": { "type": "string", "minLength": 20 }, "shell": { "const": false } }, "additionalProperties": false }
    },
    "forwardPhases": { "type": "array", "minItems": 8, "maxItems": 8, "items": { "type": "string" } },
    "compensationPhases": { "type": "array", "prefixItems": [{ "const": "RETIRE_FIXTURE_HOST" }, { "const": "VERIFY_RETIREMENT" }], "minItems": 2, "maxItems": 2 },
    "stateModel": { "type": "array", "minItems": 12, "maxItems": 12, "items": { "type": "string", "pattern": "^[A-Z0-9_]+$" } },
    "truth": {
      "type": "object",
      "required": ["productionExecutorsConfigured", "productionHostRuns", "productionHostClaims", "productionCandidatePackages", "productionDriversConfigured", "systemdUnitsInstalled", "controllerServicesStarted", "listenerStarts", "publicRoutes", "reverseProxyRoutes", "pricingReadsExecuted", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted", "paidResourcesCreated", "deploymentPermitted"],
      "properties": { "productionExecutorsConfigured": { "const": 0 }, "productionHostRuns": { "const": 0 }, "productionHostClaims": { "const": 0 }, "productionCandidatePackages": { "const": 0 }, "productionDriversConfigured": { "const": 0 }, "systemdUnitsInstalled": { "const": 0 }, "controllerServicesStarted": { "const": 0 }, "listenerStarts": { "const": 0 }, "publicRoutes": { "const": 0 }, "reverseProxyRoutes": { "const": 0 }, "pricingReadsExecuted": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "mutationsExecuted": { "const": 0 }, "paidResourcesCreated": { "const": false }, "deploymentPermitted": { "const": false } },
      "additionalProperties": false
    },
    "selectedDenialTrace": { "type": "object", "required": ["fixtureId", "mutation", "expected", "reason"], "properties": { "fixtureId": { "const": "RFDHNS-69" }, "mutation": { "const": "STEP_SHELL_SURFACE" }, "expected": { "const": "DENY" }, "reason": { "type": "string", "minLength": 30 } }, "additionalProperties": false },
    "invariants": { "type": "array", "minItems": 58, "maxItems": 58, "items": { "type": "string", "minLength": 12 } },
    "verification": {
      "type": "object",
      "required": ["status", "fixtures", "acceptedOutcomes", "deniedOutcomes", "envelopeReceiptsVerified", "stepSignaturesVerified", "retiredSessions", "rolledBackSessions", "containedSessions", "executorReceiptsVerified", "disposedHandles", "shellCommandsAccepted", "processesSpawned", "hostContacts", "packageLoads", "productionHostRuns", "pricingReadsExecuted", "externalReadsExecuted", "externalWritesExecuted", "mutationsExecuted"],
      "properties": { "status": { "const": "PASS_FIXTURE_ONLY" }, "fixtures": { "const": 80 }, "acceptedOutcomes": { "const": 12 }, "deniedOutcomes": { "const": 68 }, "envelopeReceiptsVerified": { "const": 53 }, "stepSignaturesVerified": { "const": 68 }, "retiredSessions": { "const": 5 }, "rolledBackSessions": { "const": 5 }, "containedSessions": { "const": 1 }, "executorReceiptsVerified": { "const": 3 }, "disposedHandles": { "const": 1 }, "shellCommandsAccepted": { "const": 0 }, "processesSpawned": { "const": 0 }, "hostContacts": { "const": 0 }, "packageLoads": { "const": 0 }, "productionHostRuns": { "const": 0 }, "pricingReadsExecuted": { "const": 0 }, "externalReadsExecuted": { "const": 0 }, "externalWritesExecuted": { "const": 0 }, "mutationsExecuted": { "const": 0 } },
      "additionalProperties": false
    },
    "productionPrerequisites": { "type": "array", "minItems": 11, "maxItems": 11, "items": { "type": "string", "minLength": 30 } },
    "fixtureRegistry": { "type": "object", "required": ["schemaVersion", "mode", "cases"], "properties": { "schemaVersion": { "const": "developer.reits.tech/runner-factory-disposable-host-no-shell-executor-fixtures/v1" }, "mode": { "const": "IN_MEMORY_TYPED_PORT_DRIVER_NO_HOST" }, "cases": { "type": "array", "minItems": 80, "maxItems": 80, "items": { "type": "object", "required": ["id", "mutation", "expected"], "properties": { "id": { "type": "string", "pattern": "^RFDHNS-[0-9]{2}$" }, "mutation": { "type": "string", "pattern": "^[A-Z0-9_]+$" }, "expected": { "enum": ["ACCEPT", "DENY"] } }, "additionalProperties": false } } }, "additionalProperties": false },
    "discovery": { "type": "object", "required": ["controller", "lifecycle", "upstream", "workbench", "schema"], "properties": { "controller": { "const": "/api/runner-factory/controller" }, "lifecycle": { "const": "/api/runner-factory" }, "upstream": { "const": "/api/runner-factory/controller/disposable-host-execution-envelope-authorizer" }, "workbench": { "const": "/release-foundation#disposable-host-no-shell-executor" }, "schema": { "const": "/schemas/runner-factory-controller-disposable-host-no-shell-executor.v1.schema.json" } }, "additionalProperties": false }
  },
  "additionalProperties": false
}
