Quarantine admission qualification
The release agent must not spend another candidate merely because a retained candidate-affecting cause has occurred fewer times than a retry threshold. The release diagnosis describes the shared CLI and Desktop refusal and the explicit clearance operation.
tests/release/quarantine/admission.mjs runs the real Stado CLI against an
isolated local registry and a state document retained from a real failed
release. It does not construct a quarantine record or simulate a provider.
The fixture must have a single quarantined predecessor, no active, previous
or candidate process, and a different desired artifact in its registry.
The target's home, state, runtime, logs and install root must all be inside
the fixture home beneath the checkout's .build directory. The declared
paths must already exist; this check never redirects an operator's rollout.
Run on the isolated release host when build and test execution is permitted:
node tests/release/quarantine/admission.mjs
Required environment:
STADO_BIN: executable being qualified.STADO_TEST_SOURCE_REVISION: exact revision of that executable.STADO_TEST_QUARANTINE_HOME: isolated fixture home beneath.build.STADO_TEST_QUARANTINE_CONFIG: fixture configuration inside that home.STADO_TEST_QUARANTINE_STORE: real local registry/object store in that home.STADO_TEST_QUARANTINE_TMP: existing temporary directory in that home.STADO_TEST_QUARANTINE_STATE: real predecessor's state file in that home.STADO_TEST_QUARANTINE_TARGETandSTADO_TEST_QUARANTINE_PRODUCT: the isolated registry coordinates.STADO_TEST_QUARANTINE_CAUSE: the cause that actual failed rollout recorded.PATH: the host's tool search path.
Qualify both a candidate cause without a live predicate and a scoped cause
whose real predicate cannot answer. The journey reads the policy through the
CLI, executes a release-agent pass, and compares its answer with the persisted
state: the quarantine is preserved, no candidate started, and the diagnosis
names the cause and lack of established recovery. It retains policy, before
and after state, command streams, statuses, source revision, binary and
journey digests in .build/release-quarantine/run-*/report.json.
Missing fixtures are not a pass. The journey does not clear the fixture or start a service to manufacture an easier result.
Source: this website