Expose useful app actions with explicit permission handling.
1. Read-only first
Start with an app-owned read operation such as task search. Return the minimum data needed and validate filters. This makes the initial integration easier to evaluate.
2. Permission handoff
Runtime permission requests belong to the UI flow, not an invisible model operation. If permission is denied, return a meaningful failure and preserve manual alternatives.
3. Confirmed writes
Present the exact proposed mutation to the user before execution. Bind confirmation to validated arguments and recheck authorization when committing the write.
Worked scenario
The model proposes a task title and due date. The user edits the date in confirmation; the committed action uses the reviewed values, not the old tool proposal.
Apply it
Implement search and a confirmed create action. Test denial, edited confirmation and double taps.
Check your understanding
A stale confirmation cannot authorize a different action. Explain the decision and show evidence from your implementation or design. If you cannot demonstrate it yet, revisit the relevant section before continuing.