Skip to main content

🚀 Beta: All Pro and Team features are free. Install on GitHub →

Platform truth table — what actually enforces, where

Every cell is source-verified. PREVENTS means the action physically cannot proceed on that path. REPORTS means the result is visible while merge or deploy can still proceed. INSTRUCTS means durable guidance the agent reads; it is not enforcement. “With opt-in” names the switch that turns reporting into prevention.

See What each path does — and does not.

Surface What it gates Default With opt-in How to enable
Claude Code — PreToolUse hookContract-touching Write/Edit/MultiEdit at tool-call timePREVENTS (exit 2 on BLOCK/STOP)coderifts claude-hook + settings.json recipe
Claude Code — MCP pluginpreflight/verify/details as toolsREPORTS (decision surface)plugin install (3 canonical tools)
OpenAI / Codex — dispatcherEvery registered mutating tool callPREVENTS (proof-bound return; BLOCK → raw function does not run)withCodeRiftsOpenAI + executeOpenAIToolCall loop (production pattern)
Anthropic / Gemini / LangGraph — dispatcherSame, framework-native facesPREVENTSexecute*ToolCall wrappers (guard ≥6.4.0)
GitHub PR — contract checkBreaking API changes on PRsREPORTS (visible check; phase-1 conclusion clamped to neutral, not failure)PREVENTS (merge physically blocked)required check via coderifts setup-required-check --apply (+ --enforce-admins); hard failure needs MERGEGATE_ENFORCE
Deploy gateDeploying an artifact whose receipt is stale/mismatchedREPORTS (advisory, exit 0)PREVENTS (exit 1)CI enforce signal (phase-3 posture)
Publish gateReleasing without a verified receipt / authorize decision surfacePREVENTS (exit 1 on BLOCK/STOP)coderifts publish-gate in npm prepublishOnly
git pre-push hookPushing spec changes without authorizationPREVENTS (non-zero exit)coderifts hook install
Rule files (6 platforms)Agent knows when/how to consult CodeRiftsINSTRUCTScoderifts agent-setup
MCP server (hosted)analyze = information only; authorize = receipt issuanceREPORTS + issues receipts(feeds every PREVENTS path above)app.coderifts.com/mcp

Boundary

Prevention holds inside the wired boundary — a host that bypasses the guarded table, uninstalls the hook, or merges on a repository without the required check is outside it, and the proofs say so rather than pretending otherwise. Live proof: the demo repository’s blocked PR is physically unmergeable.

Last verified: 2026-08-15. Cell changes require source quotes.