Package Manifest Reference
The canonical manifest schema now lives with the archive format:
- Package Format — the
.cloacinaarchive layout (Rust + Python) and the fullpackage.toml[package]/[metadata]schema, including which keys are accepted and which are rejected (package_type,[[metadata.triggers]]). - Packaging Python Workflows — the step-by-step Python packaging procedure.
Triggers
Section titled “Triggers”Triggers are not declared in the manifest. They are declared in code —
#[trigger] (Rust) or @cloaca.trigger (Python) — and registered when the
package is compiled/imported at load time. See
Packaged Triggers.
Declared params and per-task docs
Section titled “Declared params and per-task docs”The package metadata (the workflow_packages.metadata JSON the server reads
from package.toml) now also carries:
declared_params— the JSON-Schema input slots derived from#[workflow(params(...))]/@cloaca.workflow_params(...). These are the workflow’s typed execute-time inputs; the web UI renders a typed Run-workflow form from them, and the execute API validates against them. See Declared params.- Per-task
what/whydoc fields — the structured task documentation parsed from#[task]doc-comments /@taskdocstrings (thewhat:/why:convention). These surface on eachWorkflowTaskNodeasdoc_what/doc_why.
No manifest migration was needed to add these — they are additive fields in the existing metadata JSON.