Break the code on purpose. Run the test. If it doesn't go red, its green never meant anything.
./mutate.sh <file> --old '<working text>' --new '<broken text>' -- <your check command>
The exit code is inverted, deliberately:
A knowledge base your agents ignore is a folder. These are the two Claude Code hooks that changed that for me: one makes searching cheaper than asking, the other makes writing things down automatic.
Both are generalized -- set KB_SEARCH_TOOL to whatever your KB's MCP search tool is called.
How I review code -- including AI-written code -- with a squad of AI agents, without drowning in confident-but-wrong findings. Product-agnostic. I run it in Claude Code with parallel sub-agents, but the shape ports to any setup where you can run more than one agent.
The agent (or person) that wrote the code never reviews or approves it. Reviewers and the verifier are separate from the author. Everything below exists to enforce that.
| #!/usr/bin/env node | |
| // (c) Anthropic PBC. All rights reserved. Use is subject to the Legal Agreements outlined here: https://code.claude.com/docs/en/legal-and-compliance. | |
| // Version: 2.0.76 | |
| // Want to see the unminified source? We're hiring! | |
| // https://job-boards.greenhouse.io/anthropic/jobs/4816199008 | |
| import{createRequire as Ez9}from"node:module";var Vz9=Object.create;var{getPrototypeOf:Hz9,defineProperty:CF1,getOwnPropertyNames:Dz9}=Object;var Fz9=Object.prototype.hasOwnProperty;var l=(A,Q,B)=>{B=A!=null?Vz9(Hz9(A)):{};let G=Q||!A||!A.__esModule?CF1(B,"default",{value:A,enumerable:!0}):B;for(let Z of Dz9(A))if(!Fz9.call(G,Z))CF1(G,Z,{get:()=>A[Z],enumerable:!0});return G};var U=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var M5=(A,Q)=>{for(var B in Q)CF1(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:(G)=>Q[B]=()=>G})};var O=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var LA=Ez9(import.meta.url);var zz9,cfA;var $F1=O(()=>{zz9=typeof global=="object"&&global&&global.Object===Object&&global,cfA=zz9});var Cz9, |
| "use strict"; | |
| var fs = require('fs'); | |
| var path = require('path'); | |
| var AWS = require('aws-sdk'); | |
| var util = require('util'); | |
| var stream = require('readable-stream'); | |
| var _ = require('lodash'); | |
| version: "3.3" | |
| services: | |
| neo4j: | |
| image: neo4j:latest | |
| tty: true | |
| environment: | |
| - NEO4J_AUTH=none | |
| - NEO4J_dbms_unmanaged__extension__classes=org.neo4j.graphql=/graphql | |
| - NEO4J_dbms_security_procedures_unrestricted=apoc.\\\* | |
| - NEO4J_apoc_import_file_enabled=true |
| <style> | |
| .donate-button { | |
| text-align: center; | |
| } | |
| .donate-button .bitcoin-address { | |
| font-size: 1.5em; | |
| } | |
| </style> | |
| <div class="donate-button"> |
| def to_struct(kind, attrs) do | |
| struct = struct(kind) | |
| Enum.reduce Map.to_list(struct), struct, fn {k, _}, acc -> | |
| case Map.fetch(attrs, Atom.to_string(k)) do | |
| {:ok, v} -> %{acc | k => v} | |
| :error -> acc | |
| end | |
| end | |
| end |