Workflow packages¶
For workflow authors who want one portable directory to describe,
instantiate, run, and collect a workflow. A package is a directory whose
httk_workflow.toml is the strictly httk-owned glue around a runner; the
whole directory is published content-addressed and digest-pinned per job:
my-workflow/
├── httk_workflow.toml
└── run # the executable entry (any language)
[workflow]
id = "example.relax"
[workflow.runner]
entry = "run"
steps = ["prepare", "relax", "publish"]
initial_step = "prepare"
[workflow.resources]
procs = 4
mem = 4096
[workflow.steps.relax.resources]
procs = 8
[workflow.inputs.structure]
destination = "POSCAR"
entry_type = "structures"
[workflow.parameters.encut]
default = 520
job new --workflow-dir my-workflow --input structure=POSCAR instantiates a
job from it. Declared inputs are staged objects; parameters are knobs;
[workflow.environment.*] consumes typed workspace settings;
[workflow.instantiate]/[workflow.collect] hooks and
[workflow.postprocess.NAME] scripts run in any language and write outside the
payload (under <workspace>/postprocess/, so a sealed job can still be
postprocessed); and compiled
workflows declare [workflow.build] (sources-only digests, binaries built and
registered per machine with httk workflow build).
The [workflow.build] vocabulary and engine are shared httk.core.building
machinery. httk-workflow owns the workspace store layout and platform-tagged
registrations; the manager passes registered build artifacts through
HTTK_WORKFLOW_RUNNER_ARTIFACTS without modifying the published source tree.
The build semantics are unchanged.
An installed httk₂ plugin may bundle workflow packages. Resolution checks
in-process registrations first, then installed plugins; httk workflow list
labels plugin entries with their owning plugin, while workflow describe
reports a plugin entry as source: installed-package.
The full guide, Workflow packages in detail, is the manifest reference: every table and key, hook envelopes, output declarations and provenance, language realizations, and the build-registration mechanics.