Direct · human approval surface
payment product always stop here — no exceptions, no executor
Action proposals
The VEO proposes — you decide, and you execute. This page is a human-only surface; it is never exposed as an agent tool.
Payment
Product
Comms
Research
Memo
How the gates hold
In codeActionProposal.Normalize()
In the databaseveo_force_approval trigger
Executor for gated actionsnone exists — by design
Connectorsread-only · a write anywhere = product
🛡️
Both layers stay. If they ever disagree, the database wins — a proposal can't be un-gated by a prompt, a bug, or the VEO itself.