Harness engineering
for coding agents
Coding agents are powerful but unpredictable. AgentWeaver wraps them in structured, repeatable harnesses — declarative specs, artifact contracts, and resumable pipelines — so every run is observable, reproducible, and composable.
$ agentweaver auto-golang DEMO-1234
Fetching Jira context...
Running phase: plan done
Running phase: implement done
Running phase: review done
Running phase: commit done
All phases completed successfully.
Why harness engineering?
Test harnesses made software reliable. Agent harnesses do the same for AI workflows — they wrap unpredictable tools in structured, repeatable processes.
Agent runs are opaque
Harness as observability
Every phase logs inputs, outputs, and artifacts. You see exactly what the agent did, what context it had, and what it produced — not just the final diff.
Results vary between runs
Harness as contract
Flow specs define expected artifacts and validation rules. The harness enforces the same structure every time, making agent output predictable and auditable.
Failures lose all progress
Harness as checkpoint
State is persisted after each phase. When something breaks, resume from the last checkpoint — no wasted tokens, no repeated work, no lost context.
Agents work in isolation
Harness as pipeline
Artifacts flow between phases as stable contracts. One agent plans, another implements, a third reviews — all connected through the harness, not ad-hoc prompts.
What's inside the harness
Declarative Flow Specs
Define workflows as JSON specs with phases, steps, prompt bindings, and expectations. Version-controlled and repeatable.
Multi-Agent Executors
First-class integrations for Codex, OpenCode, shell processes, Jira, GitLab, and Telegram — all unified under one pipeline.
Artifact Pipeline
Stages produce and consume artifacts as stable contracts. Context flows between phases automatically, building on prior results.
Resumable Execution
Interrupted? Resume from any phase. AgentWeaver persists state, validates launch profiles, and picks up right where you left off.
Interactive TUI
Browse workflows, launch in scope, follow activity, and review execution summaries — all from a full-screen terminal interface.
Custom Flow Specs
Create project-local workflows under .agentweaver/.flows/ with the same validation and runtime as built-in flows.
Three steps to automated workflows
Define Your Flow
Write a declarative JSON spec describing phases, steps, prompt bindings, and expected artifacts. Or use one of 16 built-in workflows.
{
"name": "auto-golang",
"phases": [
{ "name": "plan", "executor": "codex" },
{ "name": "implement", "executor": "codex" },
{ "name": "review", "executor": "codex" },
{ "name": "commit", "executor": "shell" }
]
} Set the Scope
Point AgentWeaver at a Jira ticket, GitLab MR, or any scope identifier. It fetches context, creates an isolated workspace, and prepares artifacts.
$ agentweaver auto-golang DEMO-1234
Fetching Jira context for DEMO-1234...
Scope initialized: .agentweaver/scopes/DEMO-1234/
Artifacts directory ready. Execute & Resume
AgentWeaver runs each phase through the appropriate executor, persisting state between steps. Interrupted? Resume from any phase with full context.
$ agentweaver auto-golang DEMO-1234 --from review
Resuming from phase: review
Validating saved artifacts... OK
Running phase: review ✓
Running phase: commit ✓
All phases completed. Up and running in minutes
$ npm install -g agentweaver $ git clone https://github.com/seko99/AgentWeaver.git
$ cd AgentWeaver && npm install && npm run build
$ node dist/index.js --help
# ~/.agentweaver/.env
JIRA_API_KEY=your-token
JIRA_BASE_URL=https://your-org.atlassian.net
GITLAB_TOKEN=your-token
$ agentweaver plan PROJ-42
# Or launch the interactive TUI
$ agentweaver