Skip to content

0.4.2

Latest

Choose a tag to compare

@SoundBlaster SoundBlaster released this 07 Mar 19:45
5cdcc42

Release Notes

Phase 7: Broker UX and Diagnostics

This release focuses on making the broker easier to start, monitor, and recover from failures — replacing multi-step manual sequences with single commands and actionable diagnostics.


🚀 One-command broker console (--broker-console)

Start the dedicated broker host and immediately land in the terminal monitoring frontend with a single command. No more manually sequencing --broker-daemon, --web-ui, and --tui separately. If the port is already owned by a healthy broker-backed dashboard, the command attaches to it instead of spawning a duplicate.


🩺 Broker doctor diagnostics (--doctor)

A new diagnostic command inspects the full chain visible to the user — Python runtime, broker PID/socket/version files, dashboard endpoint ownership, upstream Xcode bridge state, and common failure modes (stale ports, missing dashboard, version mismatch). Output is user-facing and actionable without requiring manual lsof, curl, or log inspection.


⚡ Dashboard port-conflict recovery

Startup no longer silently leaves a broker running without its requested dashboard. Port conflicts now fail fast with one explicit remediation path. The conflict classifier distinguishes:

  • Foreign process on the dashboard port
  • Broker-owned listener with a degraded probe
  • Mixed state (live broker PID + foreign listener)

Each case surfaces the real blocker and the exact recovery command.


🖥️ TUI local-status fallback

The terminal frontend now remains useful even when the Web UI dashboard API is unavailable. It falls back to local broker state from PID/socket/version files and clearly distinguishes live dashboard-backed data from local fallback data, so you can tell at a glance whether you need to restart the broker, free a port, or just attach a client.


📖 Simplified broker UX docs and quickstart

New docs/quickstart.md presents the recommended end-to-end broker workflow in 5 steps. docs/broker-mode.md is restructured quickstart-first with a dedicated failure recovery section. docs/troubleshooting.md now references --doctor and the quickstart directly, replacing raw shell debugging instructions.


Bug Fixes / Follow-ups

  • --broker-console interrupt normalizationCtrl-C now exits cleanly with code 0 whether the console spawned a new host or reattached to an existing one.
  • Mixed-state conflict prioritization — foreign port-owner guidance is surfaced first when both a live broker PID and a foreign dashboard listener coexist, preventing users from being sent into a broker-reset loop for the wrong blocker.
  • Broker-owned listener exclusion — the conflict classifier no longer treats the broker's own dashboard listener as a foreign port owner during degraded-probe scenarios.