Implement the station side of the PSWS heartbeat (v0 observe-only): a per-station JSON envelope rolled up from each client's inventory --json + validate --json (what smd status already aggregates), shipped via a new hs-uploader transport. Unblocks PSWS #9 (network-health query), #33 (Gantt availability), #50 (timing provenance), and #34 (Level-0 response). Server endpoint is UA-owned. Spec: PSWS-HEARTBEAT-SPEC.md.
Implement the station side of the PSWS heartbeat (v0 observe-only): a per-station JSON envelope rolled up from each client's
inventory --json+validate --json(whatsmd statusalready aggregates), shipped via a newhs-uploadertransport. Unblocks PSWS #9 (network-health query), #33 (Gantt availability), #50 (timing provenance), and #34 (Level-0 response). Server endpoint is UA-owned. Spec: PSWS-HEARTBEAT-SPEC.md.