Workflows and releases
A workflow is the long-lived object referred to by slug. A release is one concrete version of that workflow. The release is immutable, so a later code change creates a new release instead of modifying the old one. You can deploy the same release to one or multiple clusters. Release runners on those clusters then pick up that release and run tasks registered by it.
Release artifacts
The release artifact is built from the files selected bytilebox.workflow.toml. The build command resolves include patterns, applies exclude patterns and .gitignore when enabled, creates a deterministic .tar.zst archive, and validates the runtime by discovering registered tasks.
The artifact should contain code and small configuration. Keep downloaded data, model checkpoints, generated caches, and local virtual environments out of the release. If a workflow needs large runtime assets, fetch them lazily from the task code into a runner-local cache.
Task registrations
Task registrations are discovered from the configured Python runner object or command during release validation. The discovered task identifiers are stored in the release content and later advertised by release runners. For a reusable Python workflow project, define aRunner object:
Python
tilebox.workflow.toml at that object:
