Report the running build's version to the master

The version is the checkout's HEAD commit (short hash + commit time),
read once at startup — updates arrive as `git pull`, so there is no
release number to bump. It rides on the socket hello, socket reports,
and the HTTP report fallback; the field is optional in the protocol so
older masters ignore it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Brandon Li
2026-09-12 18:54:19 -05:00
co-authored by Claude Fable 5
parent c493796602
commit 38a9c6c1b7
5 changed files with 65 additions and 2 deletions
+7
View File
@@ -101,6 +101,13 @@ instance does two things with them: it reports its firm and account counts every
30 seconds, and it holds a WebSocket open to `<url>/ws/instance` so the master
can drive it.
Every report also carries this checkout's version — the HEAD commit and its
time, since updates arrive as `git pull` and there is no release number to
bump. The master shows it in a **Version** column and flags any machine running
something older than the newest build in the fleet, which is how you check at a
glance that every machine took the last update. An instance showing *old build*
predates version reporting entirely.
What the master can trigger here:
| | |