campaign-orchestration
Campaign Orchestration — stateless agents, durable workflow files
A practical pattern for managing many long-running compute campaigns (think: 10+ HPC simulations, each a multi-stage pipeline, each stage taking hours to days) without dedicating a persistent agent to each one.
Core idea
State lives in
WORKFLOW.mdfiles. Agents are stateless workers that tick over the files.
Each campaign has a WORKFLOW.md that declares its stages, current position, job IDs, action queue, failure history. An orchestration tick reads all the files under a search root, advances or debugs each one, writes the files back, and exits. Next tick is a fresh agent that picks up where it left off. The file is the state machine; the agent is a function (file, time) → (new file, side effects).
This is the same pattern that powers Argo Workflows, Airflow, and anything else that has to survive worker restarts.
When this skill is the right pattern
- You have N ≥ 2 campaigns (otherwise just drive interactively).
- Stages are long (hours to days). Interactive driving wastes context.
- Failures are expected but diagnosable — the agent can read a log, infer a fix, retry.
- You want a single dashboard view (
cat WORKFLOW.md) without building a UI. - You want to escalate to a human only on novel or destructive situations.