Aharness – Enforce coding-agent workflows as state machines on Codex
Aharness – Enforce coding-agent workflows as state machines on Codex
Agents are capable enough for long, autonomous, multi-step work now, if they have the right guardrails.. The failure mode is now process drift and context management. Prompts and skills can describe a process, but they can't enforce it. Aharness turns the process into a runtime. You (your agent) write the workflow as a finite state machine in TypeScript: states define what Codex may do next, typed submissions prove what happened, and transitions only occur through validated exits. If a state doesn't expose an exit, the model can't take it. The bet is that useful workflows are reusable software, not prompts copied around. FSMs are meant to be maintained, shared, and built upon. Install your favorite workflow as an npm package and build on top of it. Aharness plugs into the Codex setup you already use: your AGENTS.md, skills, MCP servers, and permissions. The missing step between a skill and a custom agent harness. Early experiment, Apache-2.0. Feedback welcome, especially on the authoring model and composition. What about Claude Code dynamic workflows? Both approaches attempt to solve the same problem with different hypothesis. Dynamic workflows assume that claude is capable of designing workflows that match the process you want, and they are one-offs. Aharness assumes that you want control over your workflow, to improve it over time, an build upon it.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
SOS – Project state between coding agent sessions
Bestie, a coding agent that respects you
Bailout – The coding agent meant to be deleted
Premortem, a coding-agent-powered airplane blackbox
docs-cli - coding-agent project state in Markdown
Website Coding Agent
Beating GPT5.5-xhigh for Coding agent security with SLMs and IRM
Nv – workspace orchestrator for jj built for parallel agent workflows
Asyncmachine-go, declarative workflows with relations (state machine)
Hazzel – terminal coding agent, BYOK, undo-everything