Skip to content

v0.11.0

Latest

Choose a tag to compare

@cohix cohix released this 13 Jul 21:18

Release v0.11.0

This release is about workflows that build and run themselves, and running more of them at once. A leader agent can now design a purpose-built workflow for a work item on the fly, real DAG parallelism lands in the engine, and the TUI grows a live git sidebar plus a clean command for tidying up what awman leaves behind.

Features

  • Dynamic workflows. awman exec workflow --dynamic --work-item <N> launches a "leader" agent inside a container that designs a purpose-built workflow.toml for your work item, then validates and runs it — all in one command, no workflow file to author by hand. The leader works in an isolated worktree with a read-only view of your source, and a repair loop (up to 3 attempts) fixes invalid output before anything executes. Pick the leader with --leader agent::model. See Dynamic Workflows.

    • Repo-level configuration. A new dynamicWorkflows section in .awman/config.json pins which agents and models the leader may schedule (agentsToModels), sets a repo-wide defaultLeader, advises a maxConcurrentSteps cap, and — new in this release — carries a guidance list of project-specific instructions the leader must follow when building the workflow (e.g. "always add a validation step after each implementation step"). A configured agent with no matching Dockerfile.<agent> fails fast before any container is spawned.
    • TUI config management. The Ctrl-, config dialog handles the nested agentsToModels map and guidance list legibly — Ctrl+N appends a new mapping or guidance entry, entries edit inline, and saving an empty value removes one.
  • True parallel agents. The workflow engine now runs independent DAG steps concurrently instead of one at a time. A new maxConcurrentAgents config knob (repo/global, overridable with --max-concurrent or AWMAN_MAX_CONCURRENT_AGENTS) caps how many agents run at once. In the TUI, Ctrl-S switches between parallel containers within a tab, and each container's minimized status bar shows its own stuck/yolo state. See Parallel Workflows.

  • Git sidebar. Press Ctrl-G in the TUI to open a collapsible git sidebar showing every changed file with per-file +/- counts, color-coded by change type (green added, red deleted, blue modified). When closed, a compact +X -Y diff summary sits at the far right of the status bar. Both update live — roughly every two seconds — as agents write files. See Using the TUI.

  • awman clean. A new top-level command that reclaims what awman leaves behind: stopped awman containers, dangling awman images, and completed-workflow data in the repo and under ~/.awman/. It shows a full itemized list and asks for confirmation before deleting anything. Use --dry-run to preview and --yes to skip the prompt in scripts. Categories fail independently, so filesystem cleanup still runs even if the Docker daemon is unreachable. See Cleaning Up.

  • Container failure logs. awman keeps a rolling tail of the last ~100 lines of each workflow step container's output. When a container exits non-zero on its own — not because awman killed it — that tail is flushed to ~/.awman/logs/{workflow-id}-{step-name}-{container}.log and the path is surfaced in an error message, so you can debug a failed step after the fact even if the TUI has scrolled its output away. Teardown remediation agents also receive the failed command's captured stdout/stderr as a readable file in their container.

Improvements

  • Workflow file format reference. The complete workflow file format — every setup, step, teardown, and overlay field — is now documented in one place and seeded into the context directory for dynamic-workflow leaders to reference.
  • Newer Codex model support. The Codex agent Dockerfiles were updated for newer GPT model support, and Codex now runs correctly under the sandbox runtime.
  • Architecture hardening. Internal cleanup across the API frontend and TUI modules brought the codebase back into conformance with the layered architecture, with no user-facing behavior change.

Fixes

  • Credentials are no longer passed on the command line where they could appear in a process listing; they are injected through the environment instead.
  • Workflow filenames derived from titles or work items are sanitized, preventing path-traversal and invalid-filename issues.
  • Fixed OpenCode mishandling interactive prompts inside its container.

Upgrade path

curl -s https://prettysmart.dev/install/awman.sh | sh
awman ready

No config migration is required. Existing .awman/config.json files work unchanged — the new dynamicWorkflows and maxConcurrentAgents settings are optional. To try a dynamic workflow, run awman exec workflow --dynamic --work-item <N>.