Problem
SayBar is aligned on direct app ownership of SpeakSwiftlyServer.EmbeddedServer as its embedded runtime surface. In SpeakSwiftlyServer 11.0.0, HostStateSnapshot includes remoteGeneration, but the app-facing EmbeddedServer observable does not publish remote-generation status or apply that snapshot field in a way a host app can read directly.
That leaves SayBar with two bad options:
- skip remote-generation diagnostics even though the data exists in host state snapshots
- add a separate HTTP, MCP, or host-state side channel just to read this one diagnostic surface
SayBar should not need that side channel while the product baseline is direct embedded-runtime ownership.
Requested Surface
Expose remote-generation status through the public EmbeddedServer app-facing model, ideally in the same style as the existing observable snapshots for overview, queues, playback, runtime refresh, backend transitions, configuration, transports, network audio, and recent errors.
Useful behavior:
EmbeddedServer publishes the current remote-generation status as an observable snapshot or equivalent typed value.
EmbeddedServer applies HostStateSnapshot.remoteGeneration when applying host state updates.
- The exposed value is stable enough for a host app like SayBar to render in Settings diagnostics without decoding raw HTTP/MCP payloads.
SayBar Context
SayBar will intentionally wait for a proper EmbeddedServer surface before adding remote-generation UI. We do not want to bypass EmbeddedServer or introduce duplicate runtime paths in the app just for this diagnostic.
Related SayBar follow-up branch: runtime/v11-followup-cleanup.
Problem
SayBar is aligned on direct app ownership of
SpeakSwiftlyServer.EmbeddedServeras its embedded runtime surface. In SpeakSwiftlyServer 11.0.0,HostStateSnapshotincludesremoteGeneration, but the app-facingEmbeddedServerobservable does not publish remote-generation status or apply that snapshot field in a way a host app can read directly.That leaves SayBar with two bad options:
SayBar should not need that side channel while the product baseline is direct embedded-runtime ownership.
Requested Surface
Expose remote-generation status through the public
EmbeddedServerapp-facing model, ideally in the same style as the existing observable snapshots for overview, queues, playback, runtime refresh, backend transitions, configuration, transports, network audio, and recent errors.Useful behavior:
EmbeddedServerpublishes the current remote-generation status as an observable snapshot or equivalent typed value.EmbeddedServerappliesHostStateSnapshot.remoteGenerationwhen applying host state updates.SayBar Context
SayBar will intentionally wait for a proper
EmbeddedServersurface before adding remote-generation UI. We do not want to bypassEmbeddedServeror introduce duplicate runtime paths in the app just for this diagnostic.Related SayBar follow-up branch:
runtime/v11-followup-cleanup.