Skip to content

REQ 086

sergio velderrain edited this page Nov 9, 2026 · 1 revision

REQ-086: Use one candidate-built, non-mutating transition harness at every Docker station

Requirement

Every Docker station shall evaluate stage handoffs with the same candidate-built transition harness that has no VM-control or GitHub write authority.

Rationale

A verifier that changes between stations, or that can mutate what it judges, can mask a broken transition; the same harness also lets transitions be exercised Docker-to-Docker without VMs.

Fit Criterion

D0 builds the harness image from the candidate commit and records its digest; D1 and D2 must run that exact digest in a launcher-enforced and attested sandbox with no network, read-only inputs, an allowlisted environment, and no hypervisor device, Docker socket, or GitHub credential. A station judges only evidence already verified under REQ-071 through REQ-080 and authenticated LUnit evidence within its 90-day limit; self-asserted results are UNKNOWN. Each station record binds conveyor ID, candidate commit, station index, harness digest, and the digest of the last verified predecessor record, and reports PASS, FAIL, or UNKNOWN with redacted reasons. Records are append-only per conveyor and station; a second, different record is a fork that fails the conveyor. A hash chain is not authentication: REQ-076 integrity and REQ-075 release-gate revalidation still apply, and a station PASS is never a VM qualification proof by itself.

Verification

Planned, TEST-088; harness conformance precedes live use.

Source

Software-Requirements-Specification

Priority

High

TestID

TEST-088

TestArtifact

Planned Docker-to-Docker harness conformance with synthetic stage records

CodeRef

Planned transition harness image

Status

Planned

Clone this wiki locally