Skip to content

Package Manifest Reference

The canonical manifest schema now lives with the archive format:

  • Package Format — the .cloacina archive layout (Rust + Python) and the full package.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 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.

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 / why doc fields — the structured task documentation parsed from #[task] doc-comments / @task docstrings (the what: / why: convention). These surface on each WorkflowTaskNode as doc_what / doc_why.

No manifest migration was needed to add these — they are additive fields in the existing metadata JSON.