Skip to content

v0.2.0 — sessionful workers, supervised fleets, and the fleet protocol

Latest

Choose a tag to compare

@scasella scasella released this 10 Jun 12:34

The first tagged release. Since the original re-host (the one-shot agent()/parallel()/pipeline() DSL on a local Codex app-server, with the run viewer), this release adds the whole live-orchestration ladder:

Sessionful workers

  • agent.start / agent.waitAny / session.steer — long-lived Codex workers you steer on warm context instead of re-prompting cold. Measured on this repo: ~3× cheaper, ~16× faster per follow-up after a one-time ingest (benchmark).
  • Warm resume: --resume re-attaches workers to their persisted threads (thread/resume) and replays completed turns free.
  • Workers are first-class in the viewer (turn-chip strips, per-turn timelines) and the summary.

Supervised fleets (--multi)

  • /codex-workflows --multi <intent> makes Claude the operator of 2–4 concurrent variant workflows: it launches them in the background, polls fleet status, answers their human() gates with fleet answer (free text = a steer), kills dead ends, forks winners (journal copy + --resume replays the prefix at 0 tokens), and synthesizes across variants.
  • fleet status — one digest across every run in a directory: derived states (completed / running / stopped-resumable / idle), stall detection, pending gates with paste-ready answer commands. --watch for a terminal redraw, --html for a live dashboard (see the README's walkthrough 8).
  • --notify-cmd — push, not poll: a shell hook fires the moment a gate goes pending or a run ends ($WORKFLOW_EVENT).
  • The human() cockpit: gates are answerable in the live --gui viewer's answer card, by CLI, or by a supervising agent — journaled, so resumes never re-ask; defaulted on timeout, so nothing ever hangs.

The fleet protocol — supervise anything

  • The supervision layer is a documented file contract (references/fleet-protocol.md): sidecar formats, the state machine, answer/steer rules, and a minimum-viable-producer ladder.
  • supervise -- <any command> is the reference second producer: wrap a deploy script, eval run, or data job in the sidecars — its output streams as live progress, and a one-line @@ASK {json} on its stdout becomes a real supervisor gate answered on stdin (a bash read is a complete client).

Analytics

  • summarize-run — one run's cost/performance/reliability deep dive.
  • compare-runs — across runs: executed tokens per run, completion rates (cancelled-by-design race losers aren't failures), and run-over-run trends per workflow.

Distribution

  • Install as a Claude Code plugin: /plugin marketplace add scasella/claude-dynamic-workflows-codex/plugin install codex-workflows@codex-workflows
  • Or npx github:scasella/claude-dynamic-workflows-codex <run|fleet|supervise|view|map|summarize|compare|doctor>
  • Or the classic clone into ~/.claude/skills/ (npm run sync-skill for developers).

Trust

  • 13 offline CI suites (zero dependencies, no Codex needed), including end-to-end supervisor loops driven against real child processes, and a sweep proving all 24 bundled workflow templates stay --plan-safe.
  • Dogfooded: a --multi fleet audited this repo's own docs before release — 90 claims checked, findings adversarially verified (refute-by-default killed 2 of its own 8), every confirmed issue fixed or turned into a permanent CI suite.
  • Budget guidance is measured, not guessed (read-heavy agents ≈ 500k tokens regardless of effort tier; xhigh reading turns ≈ 1–1.5M).

Everything works offline against the bundled demo — no Codex required to look:

git clone https://github.com/scasella/claude-dynamic-workflows-codex && cd claude-dynamic-workflows-codex
node runner/bin/view-run.js examples/incident-demo --open