Skip to main content

Crate phoxal_bundle

Crate phoxal_bundle 

Source
Expand description

The persisted bundle boundary.

phoxal-manifest compiles authored YAML/URDF into a canonical robot; this crate owns the artifact that remains after that source tree is gone.

<bundle>/
├── manifest.json
├── assets/
└── bin/

That is the whole layout. There is no index, no digest table and no participant list: the expected process set is brain plus every key of the manifest’s services and components, which anyone holding the manifest can derive, and every participant reads its own configuration out of the same document. A binary is found in bin/ by the id it was launched under.

Nothing here verifies anything beyond “the manifest parses”. Integrity lives in the archive: phoxal build writes build.phoxal alongside its build.phoxal.sha256, and phoxal install refuses a mismatch. Once a bundle is on disk, the supervisor and every participant trust what is there - a second fence inside the bundle would only re-check bytes nobody re-signed.

Structs§

BundlePath
A normalized bundle-relative path: forward slashes only, no leading slash, no empty, ., or .. component.
BundleWriter
A build-tool-facing writer for the explicit final assembly boundary.
ParticipantAssets
Reads the files below <bundle>/assets.
RuntimeBundle
An opened bundle: its manifest, and access to its assets.

Enums§

BundleError
Why reading or writing a bundle failed.
BundlePathError
Why a bundle-relative path was rejected.

Constants§

ASSETS_DIR
The participant-readable asset directory.
BIN_DIR
The launchable binary directory.
MANIFEST_FILE
The persisted document filename at the bundle root.