SQLGuard

Field note 11

Human-in-the-loop is not a receipt.

“Ask the human before commit” is the right instinct. The durable control is still a statement-bound artifact, not the chat bubble that said yes.

Local guards and full-access MCP servers often pause after DML so a person can review. That pause is valuable UX. It usually lives inside one client session.

Another host calling the same tool tomorrow does not inherit the pause. Neither does next week’s incident review when the thread is gone.

Yes → receipt → verify → execute

Collect the human yes however you like — elicitation, [y/N], ticket. Then mint a receipt over the exact SQL hash and verify it at execute time.

If this is your write path

Challenge · Gateway · Discord.