The agent changes the limit.
The implementation moves from five to ten. The existing tests still pass.
2 files · billing logicOPEN SOURCE / MIT Independent verification for AI-coded software
AI can change the implementation and the tests that judge it.
MaruCheck keeps an independent record of approved behavior, then challenges every change against it.
export const limits = {- FREE_LIMIT: 5,+ FREE_LIMIT: 10, PRO_LIMIT: Infinity }Implementation updated. Existing tests pass.
maru verify --diffAnalyzing changed behaviorVERIFICATION GATE: BLOCKEDCodex
Claude Code
Cursor
GitHub Actions
Vitest
Playwright
01 — THE BLIND SPOT
02 — UNDER PRESSURE
Scroll through a real MaruCheck decision. The proof changes because the state changes.
2 files · billing logic
The implementation moves from five to ten. The existing tests still pass.
2 files · billing logicApproved behavior remains independent of whatever the implementation currently returns.
subscription-management#SUB-001Path sensitivity, contract criticality, and changed-test coverage produce an explainable score.
contract + billing + blast radiusA confirmed historical bug forces its regression test back into verification.
MEM-0143 · related regressionMaruCheck reports the semantic conflict instead of silently changing approved intent.
expected 5 · observed 1003 — SEMANTIC DRIFT
− FREE_LIMIT = 5+ FREE_LIMIT = 1004 — QA MEMORY
When related code changes again, MaruCheck recalls the failure and forces its regression back into the plan.
How memory is matchedMissing server-side account check.
Forced into this verification plan.
05 — AGENT BOUNDARY
Codex, Claude Code, Cursor, and compatible MCP clients can run MaruCheck and read structured evidence. Approval remains human-owned.
Connect an MCP clientCODING AGENTI changed invoice authorization. Existing tests pass.
maru_run_verification{ "diff": "working-tree", "evidence": true }Cross-account regression reproduced.
invoice-access#INV-001 · critical06 — LOCAL EXECUTION
Source and secrets stay in the repository or CI runner. MaruCheck produces reviewable evidence under .maru/.
~/project main*
maru verify --diff01Verification gate: BLOCKED
02[CRITICAL] BLOCKING · invoice-access#INV-001
03Expected: Users can only read invoices owned by their account.
04Actual: Cross-account invoice payload returned.
05Reproduce: npx vitest run tests/regressions/cross-account.test.ts
06Report: .maru/artifacts/runs/RUN-1048/report.json
07 — RELEASE PROOF