Write boundary by host
Hard where the host allows it. CI for every path.
Local write hardness differs by host. The repository-wide hard guarantee is a required merge status—not “CI file present,” and not a fake hard claim for advisory hosts.
Support matrix
After files are installed and trusted.
| Host | Local write boundary | MCP validation | CI / merge path | Repair payload |
|---|---|---|---|---|
| Claude Code | Hard block for listed ops (PreToolUse Write / Edit / MultiEdit) when installed + trusted | Advisory; agent must call it | Required status = hard merge boundary | Emitted on hook deny; host must re-inject |
| Grok Build | Hard block for listed ops (PreToolUse write / search_replace + aliases) when installed + trusted | Advisory; agent must call it | Required status = hard merge boundary | Emitted on hook deny; host must re-inject |
| Google Antigravity | Hard block for listed ops (write_to_file / replace_file_content / multi_replace_file_content) when installed + trusted | Advisory; agent must call it | Required status = hard merge boundary | Emitted on hook deny; host must re-inject |
| Cursor | Advisory only at write (no hard hook) | Advisory; agent must call it | Required status = hard merge boundary | No hard-boundary payload |
| OpenAI Codex | Advisory / best-effort at write (not equivalent to Claude/Grok hard block) | Advisory; agent must call it | Required status = hard merge boundary | No hard-boundary payload |
| OpenCode | Advisory / best-effort (MCP + optional plugin; not a hard boundary) | Advisory; agent must call it | Required status = hard merge boundary | No hard-boundary payload |
Required merge boundary means a
required CI status running
arkgate-check --strict-merge—not merely a workflow
file present. A hard local boundary covers only the listed hook
operations. Alternate tools, direct filesystem writes, and human
edits still rely on CI. Installed files alone do not imply hard
without the host loading and trusting them. Run
arkgate-check --doctor for evidence in the current
repository.
Why merge owns the hard guarantee
Deliberate trade-off—not a gap.
ArkGate validates at the earliest boundary each host offers and enforces at the earliest boundary a repository can make non-bypassable: the required merge status.
Hard hooks deny listed write operations at write time. Advisory
surfaces coach the agent while it works. But any local boundary can
be routed around—so the only guarantee claimed for every path is
arkgate-check --strict-merge, when that status is
required.
Local checks optimize feedback speed; the merge gate owns correctness. Cursor, Codex, and OpenCode never get a fake hard write claim.
Install examples
Deep install detail lives in the library docs: ai-gates.md ↗ · Develop path on this site: docs/develop.