Standard release summaries with scope, changes, verification, and known boundaries.
Released locallyREL-NHR-004 — Live updates and an always-on local server
- Release date
- 2026-09-23
- Release type
- Local operations release
- Summary
- Pages update the moment the ledger changes instead of polling every ten seconds, and the local server now runs unattended: at boot, before login, and again after a crash.
- Included
- Server-Sent Events on the dashboard and a WebSocket on the Designer, both tailing monotonic ledger keys over read-only SQLite.
- Both transports carry notice only; every page still reads its state through the same read-only endpoints as before.
- Windows service registration under
src/tools/service, with three layers of restart: the bridge relays the exit code, the supervisor backs off, and the service manager restarts the supervisor at 5s, 15s, then 60s. - Clean shutdown across Windows session boundaries, and a run file the operator's CLI can actually find.
- Current status
- Installed and running as
nahruncoordinationserver.exe: start mode Auto, account LocalSystem, serving 127.0.0.1:8765. No user action is required to keep it up.
- Verification
- 97 automated tests pass. Cross-process delivery was proved against an isolated ledger copy with the backstop poll at 120s, so only the stream could have carried it. Crash recovery was proved by killing the server and watching it return on a new process. After installation every route answered and the live-update broker reported both topics available.
- Known boundaries
- Windows only. Production on Hostinger/Ubuntu uses pm2 per
DEC-NHR-005 and none of this applies there. No new route and no new authority: there is still no unauthenticated mutating HTTP route, and the WebSocket refuses client messages that attempt to mutate.
Related: PLAN-FOUNDATION-COORDINATION Coordination foundation · Record index
Canonical record: knowledge/docs/RELEASE-UPDATE-2026-09-23-realtime-and-always-on.md · Decisions: DEC-NHR-082, DEC-NHR-083 · Operating guide: src/tools/service/README.md