{"slug": "bound-a-deterministic-control-harness-for-ai-agents", "title": "Bound – A deterministic control harness for AI agents", "summary": "Developer Danny de Bree released BOUND, a deterministic control harness for AI coding agents that enforces stop-or-continue decisions using observable evidence. The open-source tool introduces a four-signal system—ACCEPT, RETRY, REPLAN, ROLLBACK—to prevent agents from over-optimizing or regressing after a task is already satisfactory.", "body_md": "**Agents that know when good enough is enough.**\n\n**The deterministic control harness for AI agents.**\n\nCoding agents are good at continuing. They are less good at knowing when to stop.\n\nBOUND sits between execution and the agent's next decision, turning observable evidence into a deterministic control signal:\n\n**ACCEPT · RETRY · REPLAN · ROLLBACK**\n\n- Download\n.`BOUND-agent-skill.zip`\n\n- In ChatGPT, open\n**Profile → Skills → Create → Upload from your computer**. - Select the ZIP, review the scan result, and install the skill.\n- Start a new chat and invoke it with\n`@BOUND`\n\n, or let ChatGPT select it when your request matches the skill description.\n\nThe Skills menu must be available for your ChatGPT account or workspace. Personal Skills may need to be installed separately in ChatGPT on the web and in the desktop app because those installations do not automatically sync.\n\nBOUND includes an open `SKILL.md`\n\nskill for Codex, Claude Code, Cline, Kilo\nCode, and other compatible coding agents:\n\n```\nnpx skills add Danny-de-bree/bound --skill bound\n```\n\nTo install only for Codex without interactive selection:\n\n```\nnpx skills add Danny-de-bree/bound --skill bound --agent codex -y\n```\n\nThe skill lives in [ skills/bound/](/Danny-de-bree/bound/blob/main/skills/bound) and teaches the agent to\ninstall BOUND, establish meaningful evaluation boundaries, collect real\nevidence, report the numeric A/I/R/C/S/T calculation, and react to\n\n`ACCEPT / RETRY / REPLAN / ROLLBACK`\n\n.Choose your agent, open its integration prompt, and paste it into a new session:\n\n**That's it.**\n\nThe prompt tells the agent to install BOUND, inspect its workflow, identify meaningful evaluation boundaries, and wire the harness into its control loop.\n\nFor the initial setup, use your agent's strongest **architecture or planning mode** — or a stronger model if available. This first pass should focus on defining the plan, meaningful step boundaries, acceptance criteria, risks, budgets, and observable evidence.\n\n```\nPaste integration prompt into agent\n              ↓\nAgent installs BOUND\n              ↓\nAgent inspects project + workflow\n              ↓\nAgent defines goals, contracts, and evidence\n              ↓\nYou review the integration plan\n              ↓\nAgent wires BOUND into the workflow\n              ↓\nRun your agent with BOUND\n```\n\nOnce configured, the normal execution loop can use BOUND deterministically. No LLM judge is required for observable criteria.\n\nBOUND belongs after a meaningful execution step and before the agent decides whether to keep optimizing the same objective.\n\n```\nAgent executes\n      ↓\nObservable evidence\n      ↓\nBOUND evaluates\n      ↓\nACCEPT / RETRY / REPLAN / ROLLBACK\n      ↓\nAgent changes its next action\n```\n\nConceptually:\n\n```\nresult = workflow.evaluate_step(\n    contract=contract,\n    evidence=evidence,\n    criteria=criteria,\n)\n\nmatch result.decision:\n    case \"ACCEPT\":\n        continue_to_next_step()\n    case \"RETRY\":\n        retry_current_approach()\n    case \"REPLAN\":\n        choose_new_strategy()\n    case \"ROLLBACK\":\n        rollback()\n```\n\nThe agent still owns planning, reasoning, tool use, code changes, and execution.\n\n**BOUND decides whether the current result is good enough to move on.**\n\n| Decision | Meaning |\n|---|---|\nACCEPT |\nGood enough. Stop optimizing this step and continue. |\nRETRY |\nKeep the current approach and make one focused correction. |\nREPLAN |\nStop iterating on the current strategy and choose another approach. |\nROLLBACK |\nA hard risk boundary was exceeded. Return to a safe state. |\n\nBOUND can use observable evidence such as tests, lint and type checks, acceptance checks, expected changes, retries, tool calls, token usage, runtime, and rollback availability.\n\nGood enough is enough. Keep progressing.\n\nWithout an explicit stopping policy, an agent can continue working after the task is already satisfactory:\n\n```\ntask solved\n    ↓\ntests pass\n    ↓\nmore refinement\n    ↓\nmore calls and changes\n    ↓\npossible regression\n```\n\nBOUND adds an explicit control point:\n\n```\ntask solved\n    ↓\nevidence collected\n    ↓\nBOUND evaluates\n    ↓\nACCEPT\n    ↓\ncontinue to the next goal\n```\n\nBOUND does not replace the agent. It is a thin control harness around the agent's execution loop.\n\nBOUND is the **control harness**.\n\nUnder the hood:\n\n```\nContracts + evidence  → evaluation layer\nBoundPolicy           → deterministic decision engine\nBOUND                 → control harness\nIntegration prompts   → adoption layer\n```\n\nThe scoring model, evidence mapping, thresholds, weights, calculations, and exact decision rules live in the technical documentation:\n\n[Read the architecture and scoring model →](/Danny-de-bree/bound/blob/main/architecture/README.md)\n\nIf you want to integrate BOUND directly:\n\n```\npip install bound-policy\n```\n\nOr:\n\n```\nuv add bound-policy\n```\n\nThe PyPI distribution is `bound-policy`\n\n; the Python import and CLI are `bound`\n\n.\n\nBOUND is experimental.\n\nThe scoring heuristics, weights, thresholds, and integration patterns still need broader validation on real agent workloads.\n\nThe next milestone is dogfooding BOUND inside real coding agents and measuring whether it reduces unnecessary post-solution work, calls, tokens, retries, and regressions without reducing task success.\n\n```\ngit clone https://github.com/Danny-de-bree/bound.git\ncd bound\n\nuv sync\nuv run pytest\nuv run ruff check .\n```\n\nMIT © Danny de Bree", "url": "https://wpnews.pro/news/bound-a-deterministic-control-harness-for-ai-agents", "canonical_source": "https://github.com/Danny-de-bree/bound", "published_at": "2026-07-18 12:59:02+00:00", "updated_at": "2026-07-18 13:21:28.941341+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools"], "entities": ["Danny de Bree", "BOUND", "ChatGPT", "Codex", "Claude Code", "Cline", "Kilo Code"], "alternates": {"html": "https://wpnews.pro/news/bound-a-deterministic-control-harness-for-ai-agents", "markdown": "https://wpnews.pro/news/bound-a-deterministic-control-harness-for-ai-agents.md", "text": "https://wpnews.pro/news/bound-a-deterministic-control-harness-for-ai-agents.txt", "jsonld": "https://wpnews.pro/news/bound-a-deterministic-control-harness-for-ai-agents.jsonld"}}