# GitHub Release — v1.9.3 (copy-paste)

**Title:** v1.9.3 - The "Live Telemetry" Update

**Tag:** `v1.9.3`

---

## Real-Time UI

The Sovereign UI now refreshes about every **5 seconds** while the engine runs. No more frozen progress bars during long LLM jobs: token counters, phase progress, and catalog pills update smoothly instead of jumping only when you hit **Stop Engine**.

## Thread-Safe Heartbeat

Daemon telemetry was rewritten for **atomic checkpoint writes** during inference. A cooperative heartbeat flushes `.matryca_daemon_state.json` on a 5-second cadence using `threading.Lock` and immutable state snapshots — so background saves never race the main LLM loop.

## Auto-Unfreeze

The control room detects a **live Plumber PID** (`daemon_pid` on `/api/state`) and resumes state polling even if you started `matryca plumber start` from a terminal before opening the browser. Click **Start Engine** for the full live console (logs + graph analytics).

## Developer workflow

Use `make test-fast` or a focused pytest subset for UI/daemon work (`tests/test_ui_server.py`, `tests/test_maintenance_daemon.py`) during iteration; run `make check` before tagging.

---

**Technical changelog (canonical):** see [`CHANGELOG.md`](../../CHANGELOG.md) section `[1.9.3]`.

**OpenSpec:** [`docs/openspec/live-telemetry-ui.md`](../openspec/live-telemetry-ui.md).
