Gated Write — the generic command lifecycle
The command path every propose_* shares: the agent proposes, a cleared human approves in the card, the kind's applier executes the vendor write — with every step recorded on the shared store.
Overview
The shape every command shares. For a specific tool’s path — including its vendor routing and degradation behavior — use the per-tool flows: Propose Vendor Bill — command lifecyclePropose Vendor Bill — command lifecycleFlowv0.1.0One propose_vendor_bill call end to end: queue → ProposalCreated → human approve → ProposalApproved → applier routes by ...Ownervisionary-engineeringView flowView docs · Propose Bill-Date Correction — command lifecyclePropose Bill-Date Correction — command lifecycleFlowv0.1.0One propose_bill_date_correction call end to end — the recommended FIRST live command: single reversible field, QBO-only...Ownervisionary-engineeringView flowView docs · Propose Customer Invoice — command lifecyclePropose Customer Invoice — command lifecycleFlowv0.1.0One propose_invoice call end to end: queue → human approve → applier creates the QBO invoice from the approved lines.Ownervisionary-engineeringView flowView docs · Propose Sales Order — command lifecyclePropose Sales Order — command lifecycleFlowv0.1.0One propose_order_entry call end to end: queue → sales approves → applier imports a draft SO (status Estimate) via Fishb...Ownervisionary-engineeringView flowView docs · Propose AR Collections Email — command lifecyclePropose AR Collections Email — command lifecycleFlowv0.1.0One propose_ar_collection_email call end to end: queue → human reviews AND CAN EDIT subject/body → approve is the send →...Ownervisionary-engineeringView flowView docs. Contrast with the read flows (Cash Flow Tracker — tool-call lifecycleCash Flow Tracker — tool-call lifecycleFlowv0.1.0One cash_flow_tracker call end to end: the query hits CashFlowService, which fans into QBO + Fishbowl + ClaritySoft in p...Ownervisionary-engineeringView flowView docs et al.), which are direct request/response and never enter the event system.
The flow
How it works
- Max (agent) drafts the mutation → propose_ tool call*
- Propose Vendor Bill (example) → queue only — no write
- Approval Bus queues the proposal → pending + widget token minted
- Proposal Created → approval card renders
- Cleared human reviews the card → human click — approve/reject
- Commit Approval (app-only) → RBAC + atomic claim
- Approval Bus dispatches by kind → the kind’s applier
- Applier service (e.g. VendorBillApplier) → the one vendor write
- QBO Create Bill (example) → result recorded on the proposal
- Mutation Applied