Pinned Tweet
your CLAUDE dot md is a suggestion, not a rule. Claude can edit it. Claude can ignore it. Claude can agree with it and then do the opposite anyway.
200+ CLI commands. enforcement gates the AI can't bypass. 7,500+ tests.
Claude codes. Python enforces 馃悕
paircoder.ai
enforcement isn't about not trusting AI. it's about not trusting yourself to catch everything at 2am.
ownership should be queryable, not tribal knowledge. if "who owns this" requires asking a person instead of running a command, that's a gap. 馃悕
your system should never report stale data as truth. if it says 12 things need attention and you already handled all of them, the system is lying.
cleaned up our git history today. if you've ever committed a secret and thought "i'll fix it later," later is now. scrub it.
just shipped a team model so any session can answer "who owns this project" without reading someone's notes. one table, one query.
the model changes every 3 months. your enforcement layer shouldn't. python gates don't care which model is running.
git diff main...HEAD before every review. don't let the model tell you what it changed. read the diff yourself.
claude code will auto-compact your context and lose your constraints mid-task. state files survive compaction. that's not a tip, that's architecture.
put your acceptance criteria in a markdown file, not in the prompt. the model can read it, reference it, and you can diff against it later.
tdd isn't slower with AI. it's faster. the model writes passing code in one shot when it has a failing test to aim at instead of vibes.
people ask why i run arch checks on every commit. because the third refactor is where the AI starts hiding complexity in god functions.
the AI is not your coworker. it's a contractor with amnesia. scope the task, write the AC, verify the output. every single time.
if your test suite passes when the AI writes the tests and the code in the same prompt, you don't have a test suite. you have a mirror.
the model layer is going to keep flipping every 3 months. the enforcement layer, structure, gates, quality control, that's the part that stays stable regardless of who's generating the code.
write your acceptance criteria before you prompt. not in the prompt, in a separate file the model can't edit. then make claude prove it met every line. that's the difference between "said it did it" and actually verifying.
spent the week building enforcement gates that won't let code ship without passing every acceptance criteria first. the AI writes fast. the gates decide if it wrote correctly.
your CLAUDE.md is editable by the thing it's supposed to govern. that's not enforcement. that's a sticky note on a door the AI has the keys to.

