Handoff Package v1
Status: Active baseline.
Purpose
Define the deterministic package format produced by commissioning for headless runtime deployment.
Distribution Form
- Archive format: zip
- File extension:
.anpkg - Canonical internal layout:
machine-profile.yamlruntime/anolis-runtime.yamlruntime/behaviors/*(if referenced)providers/<provider-id>.yamlmeta/provenance.jsonmeta/checksums.sha256
Manifest Lock
machine-profile.yaml remains the package manifest root (schema_version: 1). No competing manifest dialect is introduced.
Path rewrite contract at export:
runtime_profiles.*-> package-relative runtime paths.providers.<id>.config->providers/<id>.yaml.behaviors[]->runtime/behaviors/<file>.xml.- Runtime provider
--configargs ->providers/<id>.yaml.
Determinism Lock
For identical project input state, exported bytes are identical across wrappers (Workbench HTTP export and anolis_workbench/cli/package_cli.py CLI):
- Stable file ordering in archive.
- Stable zip metadata.
- Deterministic
meta/provenance.json.exported_at:- derived from
system.json.meta.created(UTC second precision), or - fallback
1970-01-01T00:00:00Zwhen absent/unparseable.
- derived from
Security and Secret Policy
telemetry.influxdb.tokenis stripped from packaged runtime config content.- Deploy-time token injection uses
INFLUXDB_TOKEN. - Validator fails if token-like secrets remain in package files.
meta/provenance.jsonrecords redaction policy metadata.
Integrity Policy
meta/checksums.sha256 contains sha256 lines (<digest> <relative-path>) for every package file except meta/checksums.sha256 itself.
Validation Contract
Use:
bash
python3 contracts/validate-handoff-packages.pyOptional runtime replay hardening:
bash
python3 contracts/validate-handoff-packages.py --runtime-bin <runtime-binary>Validation includes:
- structure + checksums
- machine-profile schema and package-context references
- runtime schema compatibility
- static replay assumptions from clean package root
- optional runtime
--check-configreplay check
Related Artifacts
anolis_workbench/core/exporter.pyanolis_workbench/core/package_validator.pyanolis_workbench/cli/package_cli.pydocs/contracts/handoff-package-baseline.md
