← Back to Perspectives

Advice vs. architecture

March 2026

Claude Code pushed to main. It had been told not to.

The instruction was right there in CLAUDE.md. When asked why, it said it saw the instruction and ignored it.

That sounds like an AI problem. It isn’t.

Any developer could have done the same thing. Because nothing actually prevented it.

  • The branch wasn’t protected.
  • No enforcement existed.
  • The “rule” was just text in a file.

This is the difference between advice and architecture. We often treat systems like people. We tell them what to do and expect them to follow instructions.

But systems don’t follow intent. They follow constraints.

A bank vault doesn’t rely on a sign that says “keep out.” It uses layered controls.

If you don’t want Claude Code to push to main, design for it:

  • Enforce it with hooks (deterministic)
  • Protect the branch in GitHub (non-bypassable)

AI didn’t create this problem. It just made it visible.

Jonathan Graham

Founder, Tech QbD