Synopsis
Shell
$ phrony bundles ls [flags]
$ phrony bundles lock BUNDLE
$ phrony bundles validate BUNDLE [--require-lock]
$ phrony bundles publish BUNDLE
$ phrony bundles deploy BUNDLE@VERSION
$ phrony bundles versions BUNDLE
$ phrony bundles active BUNDLE
$ phrony bundles history BUNDLE
$ phrony bundles run BUNDLE[@VERSION] [flags]
$ phrony bundles secret-requirements BUNDLE[@VERSION]Description
Multi-agent systems that use spec.agents ship as kind: Bundle. The bundles command group walks the delegation closure, commits a bundle.lock.json sidecar, and publishes an immutable bundle version keyed by metadata.version (semver) and the lock hash (sha256:…).
Only bundles lock writes the lock file. bundles publish requires a committed lock and verifies it before contacting the runtime.
| Command | Server required | Page |
|---|---|---|
bundles ls | Yes | — |
bundles lock | Only when closure has external refs (to resolve content_hash) | |
bundles validate | Only when closure has external refs (lock comparison) | |
bundles publish | Yes | |
bundles deploy | Yes | |
bundles versions | Yes | |
bundles active | Yes | |
bundles history | Yes | |
bundles run | Yes | |
bundles secret-requirements | Yes |
Typical workflow
Shell
# Edit closure members, bump metadata.version in bundle.yaml, then:
$ phrony bundles lock ./support/bundle.yaml # add --runtime-addr when closure has external refs
$ phrony bundles validate ./support/bundle.yaml --require-lock
$ phrony bundles publish ./support/bundle.yaml # → support/support 1.0.1 (sha256:…)
$ phrony bundles deploy support.support@1.0.1
$ phrony bundles run support.supportUp next
bundles lock
Write bundle.lock.json from the current closure.
Bundle spec
Closure walk, lockfile shape, and vendored identity.