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-builtworkflow.tomlfor 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
dynamicWorkflowssection in.awman/config.jsonpins which agents and models the leader may schedule (agentsToModels), sets a repo-widedefaultLeader, advises amaxConcurrentStepscap, and — new in this release — carries aguidancelist 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 matchingDockerfile.<agent>fails fast before any container is spawned. - TUI config management. The Ctrl-, config dialog handles the nested
agentsToModelsmap andguidancelist legibly — Ctrl+N appends a new mapping or guidance entry, entries edit inline, and saving an empty value removes one.
- Repo-level configuration. A new
-
True parallel agents. The workflow engine now runs independent DAG steps concurrently instead of one at a time. A new
maxConcurrentAgentsconfig knob (repo/global, overridable with--max-concurrentorAWMAN_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 -Ydiff 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-runto preview and--yesto 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}.logand 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 readyNo 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>.