Releases: ChaosRealmsAI/open-dynamic-workflow
v0.3.1 — zero-install, self-documenting CLI
odw is now zero install. Nothing is scaffolded into your project — the binary is self-documenting, so any AI (Claude, codex, or otherwise) reads the CLI and can use it.
Highlights
odw guide— a single self-contained authoring + run guide (what odw is, the full API, how to run, the gotchas).odw --helpleads with it;odw specadds the TypeScript types,odw contractthe authoring contract.- Removed the install model —
odw initand the pack-management commands (validate/agents/workflows/graphs/evidence) and the installed pack (skill, agents, slash commands, starter workflows, schema files) are gone. ~1000 lines lighter.doctornow reports node + pandacode + runtimes only. - The embedded runtime, HTML report assets, and authoring contract stay inside the binary.
Validation
A fresh agent handed only the CLI (no source, no README) went from zero knowledge to a working multi-node workflow run (parallel + schema + pipeline + HTML report) using odw guide alone — proving the self-documenting design. It surfaced one real gap (now fixed): the guide now documents that a --backend mock dry run returns a status object (not final text) and that schema nodes always "fail" under mock — use mock to verify graph shape, real runs for node outputs.
Gate green: cargo build/test/clippy + selftest 52/52. odw exec / report / runs / doctor / spec / contract / capabilities unchanged.
v0.3.0 — dogfood hardening round 2
Continued autonomous dogfooding (build real projects, run varied real workflows, probe edge cases) since v0.2.0 — 19 commits of fixes, all gate-green (cargo build/test/clippy + 52/52 parity selftest). Binaries now correctly report their version.
Security & robustness
- Report XSS: a node prompt containing
</script>could execute when the offline HTML report opened — embedded JSON is now<-escaped. - Unloadable schema now fails fast with a clear non-retryable
schema_load_errorinstead of burning retries as a confusing mismatch. - Non-serializable workflow return (circular/BigInt/function) → a clean structured
result_not_serializablefailure instead of an opaque crash. - pandacode: session name sanitized (path-traversal), atomic session writes, no tmux leak on a failed resume turn.
Executor / PandaCode
- bamboo: infer the provider from the model when
--provideris omitted — every non-deepseek model previously misrouted to deepseek (400). - Unchanged worktree nodes keep a consistent
{text, worktree}shape, soresult.worktree.changedis always inspectable.
Examples & docs (honest parity)
- Examples 03/05/06 fixed to actually work on real runs / read cleanly in mock dry-runs.
- Documented the real divergences from the built-in Workflow: budget counts total (not output) tokens; schema retry is opt-in (
maxAttempts:1); a new "where the built-in is better" section;--timeoutgranularity. - Removed stale references to the converged-away
odw mcp/odw runsurfaces.
The runtime contract matches the built-in Workflow tool on the behaviors covered by scripts/selftest.mjs (concurrency caps, determinism guards, parallel/pipeline semantics, budget, worktree, workflow() nesting).
v0.2.0 — dogfood-hardened
27 atomic, gate-green, CI-green commits from an autonomous dogfooding loop (real projects, 100-node scale runs, head-to-head vs the built-in tool).
Fixes
- claude runtime: strip the PANDACODE_DONE completion marker from results; reliably capture the final reply via the hook event log; report token usage from the session transcript (budget now counts claude).
- observability: backfill the executor-resolved model (no more
inherit); report shows a per-model token breakdown that reconciles to the total. - budget accrues on every attempt (retries/failures counted), documented as best-effort under concurrency.
- codex node timeout floors at 10 min so real builds aren't truncated; codex defaults to full access (workspace-write blocks the network and breaks
npm/pip/cargo install). - security: block a symlink escape in the agent write tools (create_dirs path); harden
runs showrun-id resolution against path traversal. - out-of-box: auto-detect a sibling
pandacodebinary;doctorchecks Node.js; concise pack status; relative--scriptfalls back to cwd.
Docs/examples: heterogeneous-models + build-a-project examples; honest 'when the built-in tool is better'; corrected bamboo guidance (it's a coding agent — route prose/structured nodes to claude/codex).
Validated: 100 real parallel nodes (concurrency cap held); Python/Rust/Node projects built end-to-end; nested workflows + worktree concurrency + resume; ~3x cheaper than the built-in tool on the same fan-out.
v0.1.0 — initial public release
First public release. odw (orchestration runtime) + pandacode (codex/claude/bamboo executor) shipped as one Cargo workspace. Clone → ./install.sh → odw doctor → run. Auto HTML execution-graph reports, deterministic resume, worktree isolation, token budgets.