hub_presence
Report which agents are heartbeating across mesh nodes, including per-node observations and coverage gaps, so unseen roles are not mistaken for dead workers.
Instructions
The fleet roster as far as it can honestly be seen from here: this node's live registry plus every other node's published snapshot (presence..json, one small file per node, refreshed on heartbeat). Each row carries observedOn — WHICH node saw that heartbeat — and alsoOn when one agent name turns up on several. Read coverage before believing any absence: it lists every current mesh member with the age of its snapshot, or null when it has published none, and blindTo/note say so outright. That distinction is the reason this tool exists in this shape — one role read as 383 minutes since heartbeat on one node and 5.9 days on another, nothing was stale and nothing had diverged, the registries were simply of different machines, and an orchestrator escalated "worker is dead" four times over 92 hours while the worker worked. A role nobody reports is invisible, which is NOT the same as dead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | only agents whose heartbeat cwd is this directory or under it — "who is in this checkout" | |
| full | No | return everything, uncapped. By default long lists are trimmed to fit an agent context and what was left out is reported in `truncated`. | |
| role | No | filter to agents heartbeating under this role | |
| project | No | only agents whose heartbeat cwd resolves to this project (marker, sync path or folder name) | |
| aliveOnly | No | drop stale (TTL-expired) records, default false | |
| memberDays | No | a node counts as a mesh member if it wrote within N days, default 30 — retired node names drop out of `coverage` on their own |