{"schemaVersion":"developer.reits.tech/runner-factory-target-host-driver-qualification/v1","status":"TARGET_HOST_DRIVER_QUALIFICATION_IMPLEMENTED_NOT_CONFIGURED","observedAt":"2026-07-21T06:00:00Z","scope":{"mode":"DOSSIER_VERIFICATION_ONLY","input":"EXACT_TRANSACTION_CONTRACT_DRIVER_DESCRIPTOR_AND_SIGNED_QUALIFICATION_EVIDENCE","output":"TEST_ONLY_TARGET_HOST_DRIVER_QUALIFICATION_RECEIPT","packageLoaded":false,"driverExecuted":false,"networkAuthority":"NONE","deploymentAuthority":"NONE","productionEntrypointWired":false},"truth":{"productionCandidatePackages":0,"productionDriversConfigured":0,"systemdUnitsInstalled":0,"controllerServicesStarted":0,"controllerListeners":0,"listenerStarts":0,"publicRoutes":0,"reverseProxyRoutes":0,"externalReadsExecuted":0,"externalWritesExecuted":0,"mutationsExecuted":0,"paidResourcesCreated":false,"deploymentPermitted":false},"operations":[{"id":"prepare","guard":"verify exact upstream transaction contract, closed descriptor and 17 signed evidence objects","result":"opaque one-shot qualification handle"},{"id":"qualify","guard":"consume the handle without loading or executing the candidate package","result":"test-only qualification receipt"},{"id":"verify","guard":"recompute receipt identity and zero-production counters","result":"boolean receipt validation"},{"id":"dispose","guard":"revoke an unused qualification handle","result":"idempotent disposal receipt"}],"descriptor":{"packageName":"@reits/runner-factory-target-host-driver","platform":"linux/amd64","interfaceMode":"TYPED_EFFECT_PORTS_ONLY","operationPorts":9,"permittedPaths":4,"systemdActions":5,"genericCommandPort":false,"shellInterpolation":false,"networkClient":false,"credentialReads":false,"stepReceiptSigner":"ASYMMETRIC_REQUIRED_NOT_CONFIGURED","monotonicJournal":"DURABLE_REQUIRED_NOT_CONFIGURED"},"operationPorts":[{"id":"acquireLock","operation":"ACQUIRE_LOCK"},{"id":"snapshotRollback","operation":"SNAPSHOT_ROLLBACK"},{"id":"installUnit","operation":"INSTALL_UNIT"},{"id":"startLoopback","operation":"START_LOOPBACK"},{"id":"probeHealth","operation":"PROBE_HEALTH_OR_READY"},{"id":"stopLoopback","operation":"STOP_LOOPBACK"},{"id":"removeUnit","operation":"REMOVE_UNIT"},{"id":"restoreSnapshot","operation":"RESTORE_SNAPSHOT"},{"id":"releaseLock","operation":"RELEASE_LOCK"}],"pathPolicy":[{"id":"lock","path":"/run/lock/reits-runner-factory-controller.lock","access":"create-exclusive + remove"},{"id":"release","path":"/opt/reits-runner-factory/releases/{releaseId}","access":"read immutable candidate only"},{"id":"rollback","path":"/var/lib/reits-runner-factory/rollback/{changeId}.json","access":"create-exact + restore-exact"},{"id":"unit","path":"/etc/systemd/system/reits-runner-factory-controller.service","access":"install exact digest + remove exact"}],"systemdActionPolicy":[{"action":"daemon-reload","scope":"after exact unit install or removal only"},{"action":"is-active","scope":"exact controller unit only"},{"action":"show","scope":"allowlisted unit properties only"},{"action":"start","scope":"exact unit after lock and snapshot"},{"action":"stop","scope":"exact unit during compensation"}],"denialProfiles":["GENERIC_COMMAND_PORT","SHELL_INTERPOLATION","PATH_TRAVERSAL","DYNAMIC_UNIT_NAME","PUBLIC_BIND","REVERSE_PROXY","CREDENTIAL_READ","UNSIGNED_STEP_RECEIPT"],"stateModel":[{"id":"UNTRUSTED","meaning":"the candidate has no qualification standing"},{"id":"TRANSACTION_BOUND","meaning":"the exact fixture transaction contract was positively verified"},{"id":"DESCRIPTOR_BOUND","meaning":"the separate package exposes only the exact typed surface"},{"id":"EVIDENCE_BOUND","meaning":"nine port and eight denial receipts are exact and signed"},{"id":"PREPARED","meaning":"one opaque 60-second dossier capability exists"},{"id":"QUALIFIED_TEST_ONLY","meaning":"the dossier passed without package loading or execution"},{"id":"DISPOSED","meaning":"an unused capability was revoked"},{"id":"DENIED","meaning":"shape, provenance, scope or receipt drift failed closed"}],"invariants":["the exact activation-transaction contract digest is pinned by the evaluator","the upstream contract receipt remains unexpired and positively verified","the upstream production entrypoint remains disconnected","the upstream executor, systemd, service and listener counters remain zero","the candidate is a separate package and not the Controller composition root","the candidate source is an exact forty-character revision","the candidate artifact is bound by a SHA-256 digest","the candidate platform is exactly Linux amd64","the service user is exactly reits-runner-factory","the systemd unit name is exact and cannot be caller-selected","the bind address is exactly loopback and the port is exactly 8110","health targets are exactly healthz followed by readyz","the interface contains exactly nine ordered typed effect ports","the interface contains no generic command port","shell interpolation is structurally forbidden","dynamic systemd unit names are structurally forbidden","mutable path expansion is structurally forbidden","the package has no network client authority","the package has no credential read authority","filesystem scope is exactly four reviewed path templates","systemd scope is exactly five reviewed unit-specific actions","step receipts require an asymmetric signer that is not configured here","effect ordering requires a durable monotonic journal that is not configured here","rollback deadline remains sixty seconds","the descriptor is explicitly test-only and not production configured","every descriptor field is exact and digest-bound","nine operation-port evidence receipts are required in exact order","eight negative-guard evidence receipts are required in exact order","every evidence receipt is bound to candidate, descriptor and transaction contract","every evidence receipt has an exact deterministic identity","every evidence receipt has a recomputed canonical digest","every evidence receipt requires positive asymmetric verification","evidence cannot expire before the qualification request","the request is dossier-only and lives no longer than sixty seconds","the request nonce is format checked and single use","secret-like and executable fields are rejected recursively","the opaque handle is WeakMap-backed, one-shot and disposable","qualification does not import or load the candidate package","qualification does not execute a driver port","qualification grants neither network nor deployment authority","the production Controller entrypoint does not import the evaluator","the qualification receipt cannot be promoted into an activation plan","all production driver, unit, service, listener, route and proxy counters remain zero","external reads, writes, mutations and paid resources remain zero"],"verification":{"status":"PASS_FIXTURE_ONLY","fixtures":64,"acceptedOutcomes":8,"deniedOutcomes":56,"transactionReceiptsVerified":49,"evidenceSignaturesVerified":198,"qualifiedDossiers":6,"qualificationReceiptsVerified":2,"productionCandidatePackages":0,"productionDriversConfigured":0,"systemdUnitsInstalled":0,"controllerServicesStarted":0,"listenerStarts":0,"externalReadsExecuted":0,"externalWritesExecuted":0,"mutationsExecuted":0},"productionPrerequisites":["implement the driver in a separate repository from this dossier evaluator","review every filesystem and systemd syscall in the candidate package","attach an asymmetric production step signer without exporting private material","attach a durable monotonic journal with ambiguity containment","run all nine ports and eight denials on a disposable non-production host","prove every compensation branch inside the independent sixty-second watchdog","prove the installed systemd sandbox and exact filesystem ownership","capture live negative route, proxy, credential and public-bind evidence","obtain a fresh production authority receipt and separate composition review"],"fixtureRegistry":{"schemaVersion":"developer.reits.tech/runner-factory-target-host-driver-qualification-fixtures/v1","fixedTime":"2026-07-21T06:00:00.000Z","cases":[{"id":"RFDQ-01","profile":"prepare","expected":"ACCEPT","outcome":"QUALIFICATION_DOSSIER_PREPARED"},{"id":"RFDQ-02","profile":"qualify","expected":"ACCEPT","outcome":"TARGET_HOST_DRIVER_CANDIDATE_QUALIFIED_TEST_ONLY"},{"id":"RFDQ-03","profile":"verify-receipt","expected":"ACCEPT","outcome":"RECEIPT_VERIFIED"},{"id":"RFDQ-04","profile":"dispose","expected":"ACCEPT","outcome":"DISPOSED"},{"id":"RFDQ-05","profile":"dispose-replay","expected":"ACCEPT","outcome":"DISPOSED_REPLAY"},{"id":"RFDQ-06","profile":"qualify-second-evaluator","expected":"ACCEPT","outcome":"TARGET_HOST_DRIVER_CANDIDATE_QUALIFIED_TEST_ONLY"},{"id":"RFDQ-07","profile":"verify-roundtrip","expected":"ACCEPT","outcome":"RECEIPT_VERIFIED"},{"id":"RFDQ-08","profile":"qualification-id-stable","expected":"ACCEPT","outcome":"TARGET_HOST_DRIVER_CANDIDATE_QUALIFIED_TEST_ONLY"},{"id":"RFDQ-09","profile":"missing-transaction-verifier","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DEPENDENCIES"},{"id":"RFDQ-10","profile":"missing-evidence-verifier","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DEPENDENCIES"},{"id":"RFDQ-11","profile":"invalid-clock","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_CLOCK"},{"id":"RFDQ-12","profile":"transaction-schema","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-13","profile":"transaction-status","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-14","profile":"transaction-contract-digest","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-15","profile":"transaction-executor-digest","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-16","profile":"transaction-fixture-driver-digest","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-17","profile":"transaction-entrypoint-wired","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-18","profile":"transaction-production-executors","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-19","profile":"transaction-listener","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-20","profile":"transaction-external-write","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION"},{"id":"RFDQ-21","profile":"transaction-receipt-digest","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION_DIGEST"},{"id":"RFDQ-22","profile":"transaction-prohibited","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EXECUTABLE_MATERIAL"},{"id":"RFDQ-23","profile":"transaction-provenance","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION_PROVENANCE"},{"id":"RFDQ-24","profile":"transaction-provenance-throws","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_TRANSACTION_PROVENANCE"},{"id":"RFDQ-25","profile":"descriptor-schema","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-26","profile":"descriptor-package","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-27","profile":"descriptor-version","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-28","profile":"descriptor-artifact","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-29","profile":"descriptor-source","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-30","profile":"descriptor-platform","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-31","profile":"descriptor-architecture","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-32","profile":"descriptor-user","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-33","profile":"descriptor-unit","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-34","profile":"descriptor-bind","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-35","profile":"descriptor-port","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-36","profile":"descriptor-health","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-37","profile":"descriptor-operation-ports","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-38","profile":"descriptor-reordered-port","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-39","profile":"descriptor-interface","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-40","profile":"descriptor-generic-command","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-41","profile":"descriptor-shell","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-42","profile":"descriptor-dynamic-unit","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-43","profile":"descriptor-path-expansion","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-44","profile":"descriptor-network","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-45","profile":"descriptor-credential","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-46","profile":"descriptor-signer","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-47","profile":"descriptor-journal","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-48","profile":"descriptor-deadline","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-49","profile":"descriptor-test-only","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-50","profile":"descriptor-production","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR"},{"id":"RFDQ-51","profile":"descriptor-prohibited","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EXECUTABLE_MATERIAL"},{"id":"RFDQ-52","profile":"descriptor-digest","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_DESCRIPTOR_DIGEST"},{"id":"RFDQ-53","profile":"evidence-missing-operation","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-54","profile":"evidence-missing-denial","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-55","profile":"evidence-operation-drift","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-56","profile":"evidence-operation-outcome","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-57","profile":"evidence-operation-signature","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE_DIGEST"},{"id":"RFDQ-58","profile":"evidence-denial-profile","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-59","profile":"evidence-denial-outcome","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-60","profile":"evidence-expired","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE"},{"id":"RFDQ-61","profile":"evidence-provenance","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_EVIDENCE_PROVENANCE"},{"id":"RFDQ-62","profile":"request-action","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_REQUEST"},{"id":"RFDQ-63","profile":"forged-handle","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_HANDLE"},{"id":"RFDQ-64","profile":"receipt-digest","expected":"DENY","errorCode":"RF_TARGET_DRIVER_QUALIFICATION_RECEIPT_DIGEST"}]},"discovery":{"controller":"/api/runner-factory/controller","lifecycle":"/api/runner-factory","upstream":"/api/runner-factory/controller/activation-transaction","workbench":"/release-foundation#target-host-driver-qualification","schema":"/schemas/runner-factory-controller-target-host-driver-qualification.v1.schema.json"}}