Skip to content

v0.9.8 — directional flow map: see every exchange's direction, replay any run

Choose a tag to compare

@bwangbos bwangbos released this 12 Jul 12:13

Signed installers for macOS and Windows (attached below once the packaging build completes).

What's new

The run inspector's flow map now shows direction, drawn only from what was actually observed:

  • Persistent directional arrows on every edge — an outbound request and its verified response light independently. An exchange that never completed shows an outbound arrow and nothing back; the map never claims a response it didn't see.
  • The plain-EHR data-source node lights for real. The bundled Smart Gateway (v0.26.0) now reports every read of its configured data source (sor.read events), and those reads appear as first-class steps with plain-language narration ("The gateway read the member's open order from its data source."). With an older gateway that doesn't report reads, the map falls back to a clearly-labeled static treatment — "seeded read — not observed".
  • Click a step to see its path — the step's edge highlights, the others dim, and a pulse replays the exchange's direction. Each step's detail view opens with direction rows: who sent what to whom, observed-only.
  • Replay run — replay a completed run's whole story in observed event order, edge by edge, node by node. Works for any completed run, including one you just watched finish live.
  • Data-source read steps render honestly in both detail views: a local read is a single observed frame — the returned resource labeled as such — never presented as a request/response exchange through the Hub.

Under the hood

  • Bundled Smart Gateway updated to v0.26.0 (adds the sor.read observer event kind under the observer stream's evolving contract) and shn-sdk to v0.29.0.
  • Run fixtures re-captured from live runs so the committed examples carry real read events.

Full test suites green (Go daemon under race detection, 382 UI tests, desktop shell); all eight prior-authorization scenarios verified end-to-end through the daemon's API in both lanes.