Read the project contract before automated writes or binding a new project. Keep targets and receipts project-owned.
- Resolve the account/list and existing reminder ID when editing or completing. Confirm list ID and account; names may repeat. A fallback list must be part of the project policy or request, and its actual identity goes in the receipt.
- For a new caller, run the Reminders probe in apple-effects-reliability, then read the exact target. Reminders-data permission is separate from Automation. App name/version success is not evidence of reminder/list access.
- Use the project's existing adapter for its supported fields. For AppleScript, read Reminders scripting details. Use computer use for fields absent from the dictionary, such as a requested recurrence; do not silently omit those fields or substitute a simple task.
- Apply only the requested fields. Resolve date-only versus timed reminders and the intended time zone before setting a date. Complete or edit by ID, not by the first matching title. Preserve unrelated task fields.
- Read the reminder by ID and verify actual list/account, title/body, completed state and all requested scheduling fields. Reconcile a create's operation marker and save the project receipt. A timeout after a write is uncertain; use the reliability skill before creating another copy.
Completion means the saved task and requested fields agree with the receipt. A due date readback does not independently prove a notification will fire.