heartbeat_host
Refresh a host lock's liveness signal to prevent it from going stale mid-task, and update the phase as work progresses.
Instructions
Refresh your lock's heartbeat so it doesn't go stale mid-task. Heartbeating the SAME phase
does not clear stuck-ness (that is the point); report a new phase as your work moves on.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Free text for the dashboard | |
| owner | Yes | Who is asking: workstream/session id, e.g. 'ws/occluder-wire', 'p-1a2b3c4d', 'coord-session' | |
| phase | No | New phase; pass the same value to keep it, a new one to reset the clock | |
| host_id | Yes | Host id from list_hosts, e.g. 'build-pc' |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | free text from the owner, e.g. the current step | |
| fresh | Yes | heartbeat within ttl (False = stale, can be taken over) | |
| owner | Yes | ||
| phase | No | what the owner is doing ('', 'compile', 'test', ...); '' = not reported | |
| stuck | No | fresh heartbeat but the phase has not moved past the server's threshold (liveness != progress) | |
| age_sec | Yes | seconds since the last heartbeat | |
| host_id | Yes | ||
| ttl_sec | Yes | ||
| acquired_at | Yes | ||
| phase_since | No | when the current phase started (NULL when no phase) | |
| heartbeat_at | Yes | ||
| stuck_reason | No | why the server marked this lock stuck | |
| phase_age_sec | No | seconds since the phase was last changed |