Commissioning Handoff Runbook
Status: Active. Audience: Machine integrators commissioning in Workbench and handing off to headless runtime deployment.
1) Preconditions
- Project validates and launches cleanly in Commission workspace.
- Operate checks are complete for target behavior.
- Runtime contracts and Workbench tests are green locally.
2) Export Package
Workbench path:
- Open project in
Commission. - Click
Export Package…. - Save generated
.anpkgartifact.
CLI path:
bash
anolis-package <project-name> [output.anpkg]3) Validate Package
Static package validation:
bash
python3 contracts/validate-handoff-packages.py <path-to-package.anpkg>Replay hardening with runtime binary:
bash
python3 contracts/validate-handoff-packages.py \
<path-to-package.anpkg> \
--runtime-bin <path-to-anolis-runtime>4) Deploy and Replay from Clean Directory
- Create fresh deployment directory on target host.
- Copy package archive.
- Extract package:
bash
unzip <machine>.anpkg -d /opt/anolis/<machine>- Configure deploy-time secret(s), minimally:
bash
export INFLUXDB_TOKEN='<token-value>'- Start runtime from extracted package root:
bash
cd /opt/anolis/<machine>
<path-to-anolis-runtime> --config runtime/anolis-runtime.yamlExpected: runtime loads config and providers without dependency on systems/<project>/.
5) Operator Handoff Package Contents
Deliver all of:
.anpkgartifact- Runtime/provider binary provenance (build IDs/refs)
- Validation output (
validate-handoff-packages.pylogs) - Mode/operation checklist used during commissioning
- Deployment env requirements (
INFLUXDB_TOKENpolicy)
6) Rollback Guidance
- Keep prior known-good
.anpkgartifact in deployment storage. - If new package replay fails:
- stop runtime
- redeploy previous package archive
- restart runtime with previous package config
- Record failure cause and attach validation output before next rollout attempt.
7) Troubleshooting
- Checksum mismatch:
- Artifact tampered/corrupted after export.
- Re-export and re-validate package.
- Secret leakage validation failure:
- Token-like value exists in package content.
- Remove embedded token and re-export.
- Path escape/reference failure:
- Runtime/provider/behavior path is not package-relative.
- Fix project config, re-export, and validate.
- Replay
--check-configfailure:- Review runtime error output and runtime schema expectations.
- Re-run static validator first, then replay validator.
