The interface
Go checks that the methods exist with the right signatures. An implementation can pass that check and still get the behavior wrong.
Reserve(qty int) errorGive agents freedom to implement.
Be precise about what must remain true.
Watch a Go package go sideways.
Then give the bots a contract.
The interface checks the shape. Who checks the behavior?
Reserve(qty int) error tells us how to call it. It doesn’t say whether stock can go below zero.
Operations use the accepted implementation.
Turn checks off with the file still present. A written instruction alone can’t block a bad patch.
Go checks that the methods exist with the right signatures. An implementation can pass that check and still get the behavior wrong.
Reserve(qty int) errorPut package-specific invariants in AGENTS.md. Give agents the context they need before they start making changes.
Stock must never be negative.Turn those promises into tests. Reject failing proposals, explain what broke, and let the agent find a valid implementation.
Write it. Check it. Keep it true.A Markdown file is a conversation.
A passing check is evidence.