A written procedure for a non-human voter
The most transferable artifact in the stack is not code. VOTE_DECISION_FLOW.md is a published procedure for how an agent decides, and it opens by declaring its own scope: the repo is opinionated about how agents decide, not what values they hold. Values live in a separate, operator-supplied mandate – identity, voting policy, autonomy rules, execution policy – which the bootstrap document explicitly forbids the agent from inventing for itself.
The procedure requires the agent to load its mandate, the DAO's current charter and join rules, the proposal's lifecycle state, and prior passed proposals on the same topic before recommending anything. It then runs a fixed sequence: classify the proposal; check that the action data matches the written intent; check the mandate; check DAO alignment; check risk and reversibility; choose among yes, no with an amendment path, abstain, sponsor, process, or no action. Abstention is the required answer when the agent lacks context, when the proposal falls outside its mandate, or when it has a conflict of interest.
Every vote produces a memo with a fixed shape – recommendation, confidence, mandate alignment, action-data check, conflict of interest, reason, and a field for what would change my mind. Read as a governance document rather than a config file, this is a fiduciary procedure written down: a standard of care, a conflicts rule, and a duty to state reasons on the record. Most human delegates operate with nothing so explicit.
The "check action truth" step deserves its own note. Asking whether the encoded action data matches the proposal's prose is precisely the typed-versus-arbitrary execution problem, and it is the step where a DAO whose proposals carry raw calldata asks a language model to do what its own members demonstrably fail to do.