WR-0002.01
An approval button is only the beginning
Imagine an AI-assisted system recommending an inventory adjustment.
A manager sees “Approve correction?” with two buttons. The workflow technically includes human oversight, but the manager does not have enough information to make a responsible decision.
A useful approval step must expose the proposed change, its evidence, its consequences, and what happens if the recommendation is wrong.
That makes human approval an engineering problem as much as an interface problem. The workflow, data model, backend validation, and user interface must all refer to the same proposed action.
WR-0002.02
Show the proposed change
Using restaurant inventory as an illustrative extension of my Odoo Restaurant Operations work, an approval record could show:
- The affected item
- The current quantity
- The proposed quantity
- The difference
- The records supporting the recommendation
- The time at which those records were collected
- The system or person that created the proposal
“Reduce stock by six units” is incomplete if the reviewer cannot see whether those units represent sales, waste, a counting discrepancy, or another event.
The interface should also distinguish observed data from an inferred explanation.
“Six fewer units were counted” may be an observation. “Staff failed to record six sales” is an allegation that requires additional evidence. A confident model-generated sentence must not make those statements appear equivalent.
The reviewer needs options that match the real operational process:
- Approve the proposed adjustment
- Edit the quantity
- Reject it with a reason
- Request a recount
- Escalate the discrepancy
Approval should apply to a specific proposed change, not to whatever the system generates next.
WR-0002.03
Connect approval to execution
A proposed action can become stale before someone approves it.
If another staff member changes the inventory record while the proposal is waiting, the backend must compare the current state with the state used to create the recommendation. If they no longer match, the original approval should not execute silently.
The workflow should mark the proposal as stale, explain what changed, and request a fresh review.
This principle also applies to the Secure AI WhatsApp Assistant. If a write action is proposed for a student record, approval should remain tied to the authenticated requester, the affected record, the requested change, and the state that existed when the proposal was created.
After approval, the system should distinguish between:
- Approved
- Queued for execution
- Being applied
- Applied successfully
- Failed
- Reversed or compensated
If the request times out, the interface should not encourage repeated clicks before checking whether the action succeeded. A repeated write could create duplicate records or apply the same change more than once.
WR-0002.04
Preserve history and recovery
For consequential records, recovery may require a compensating action instead of deleting history.
An inventory correction, account adjustment, or published content revision should retain:
- The original proposal
- The evidence presented to the reviewer
- The reviewer’s decision
- Any edits made during review
- The execution result
- Subsequent corrections
This creates an audit trail that can answer what the system proposed, what the person approved, and what the application actually changed.
The same pattern applies to the AI News Intelligence workflow. Generated summaries and draft posts can move into an editorial review stage, but publication should remain a separate, traceable action.
WR-0002.05
Measure whether approval helps
Adding approval can create the appearance of safety without improving decisions. If reviewers receive too many low-quality requests or cannot understand the evidence, they may begin approving changes automatically.
A reasonable evaluation should measure:
- Whether reviewers notice deliberately incorrect proposals
- Whether they understand the effect of the proposed action
- How often they edit or reject recommendations
- How long responsible review takes
- How frequently approved actions fail during execution
- Whether users can recover from mistakes
Faster approval is not valuable if it simply encourages habitual clicking.
A useful human-in-the-loop system makes the next decision understandable and the resulting action traceable. The approval control earns its place by helping a person exercise judgment and by ensuring the software executes exactly what was reviewed.
Related systems
Related projects
References
Sources
- Microsoft Research — Guidelines for Human-AI Interaction
The inventory example is an illustrative extension of the Odoo project rather than a claim that its current POS implementation already performs AI-generated stock adjustments.