Validation Gate
run-validation-gate.sh and mixbox-validate.timer are uninstalled deployment artifacts for the retired host, not a gate that runs anywhere today. Neither mixbox-validate.timer nor mixbox-validate.service exists under /etc/systemd/system on the live host, whose only MixBox unit is mxbx.service. The script hardcodes cd /home/dev/audio/mixbox (run-validation-gate.sh:18) and the unit hardcodes User=dev, WorkingDirectory=/home/dev/audio/mixbox and HOME=/home/dev — the same retired topology the Review Server & Static UI page documents. Read the table below as the artifact’s intended contract, not as a running pipeline; it exits with the code of the first failing step.
Steps & Exit Codes
| # | Step | Command | Exit code if red |
|---|---|---|---|
| 1 | Dependency sync | uv sync --all-packages | 4 |
| 2 | Fast test suite | uv run pytest -m "not rotation and not slow" -q | 1 |
| 3 | Rotation quality gate | uv run python scripts/rotation_quality_gate.py micro -n 1 | 2 |
| 4 | Service health — checks mixbox-review.service, itself a retired artifact; the live unit is mxbx.service | systemctl is-active mixbox-review.service | 3 |
| — | All steps green | — | 0 |
Logs
Primary /var/log/mixbox-validate.log, falling back to $HOME/.cache/mixbox-validate.log when the primary path is not writable.
Assets not required
Only the
afrorotation mode is asset-gated (it needstunes/); themicromode invoked by the gate synthesizes its own click track, so the gate runs without committed audio.