Cursor · Grok · Claude · CI
Hard where the host allows it. CI on every path.
Cursor, Grok, Claude, and required CI. The write is rejected where the host allows it. The same check still fails the pull request.
Support matrix
After install. After trust.
Host. Write boundary. Merge guarantee.
| Host | Write boundary | Merge guarantee |
|---|---|---|
| Cursor |
Hard for listed
Write / StrReplace when hooks
are trusted
|
Required strict-merge status |
| Grok | Hard for listed Grok Build write ops when trusted | Required strict-merge status |
| Claude |
Hard for listed
Write / Edit / MultiEdit
when trusted
|
Required strict-merge status |
| Google Antigravity | Hard for listed write / replace ops when trusted | Required strict-merge status |
| OpenAI Codex |
Hard for complete local
apply_patch when that hook is trusted
|
Required strict-merge status |
| OpenCode | Warning only — not a hard write boundary | Required strict-merge status |
Repair payload and MCP detail
MCP validation is advisory; the agent must call it. Repair
envelopes may emit. Cursor Write
updated_input reinjection is not claimed. Grok,
Claude, and Antigravity emit a payload the host must re-inject.
Codex and OpenCode have 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.
Local checks buy speed. Required CI owns correctness. Any local boundary can be walked around.
The only guarantee for every path is
arkgate-check --strict-merge, when that status is
required. Cursor covers listed ops. Codex covers complete local
apply_patch. OpenCode and human edits rely on CI.
Install examples
Deep install detail lives in the library docs: ai-gates.md ↗ · Develop path on this site: docs/develop.