Building a bundle: composing marketplace assets
Manifest kind: humanos.bundle.v1
Canon: kb/155
Anatomy
kind: humanos.bundle.v1
id: org.example.my-suite
name: My Suite
version: 1.0.0
members:
- kind: agent
asset_id: human-agent-example
version: "^1.0"
required: true
- kind: extension
asset_id: human-extension-example
version: "^1.0"
required: true
install_order: [agents, extensions, connectors, workflows, muscles]
Install behavior
The platform installs members in install_order, deduping shared members where policy allows, and records bundle_installations join rows. Uninstall rules must not remove a connector still required elsewhere (see install-bundle.ts policy in-repo).
Vetting
Submitting a bundle stores metadata.platform_extension_vetting with bundle_composition_review. If any extension member exists, global promotion should assume certified-grade review for the composed story — each extension member still has its own iframe/server-driven track.
CLI
human extension validate my-bundle.yaml
human extension publish my-bundle.yaml --dry-run
Brand Voice example
A full “brand voice” style suite (agents + connectors + extension + optional Companion module) is the reference mental model — see kb/155 and marketplace bundle listing UI in Command Plane.