Live dogfood finding
During the live OpenMeow SDK dogfood run, run.events() returned a usable normalized stream, but it also emitted raw events whose underlying Gateway event was chat and whose payload looked like assistant delta content.
Evidence doc:
Observed event sequence included:
run.started
assistant.delta
raw
assistant.delta
assistant.delta
assistant.delta
assistant.delta
assistant.delta
assistant.delta
run.completed
The raw event payload had raw.event: "chat" and assistant text fragments under message.content.
Impact
OpenMeow can render from assistant.delta, but app UIs need to either ignore/debug-log these raw events or risk duplicate assistant deltas.
Desired contract
For SDK-facing run.events():
- either normalize
chat assistant delta payloads into stable assistant.delta / assistant.message events, or
- suppress duplicate raw
chat deltas from the high-level run event stream and reserve them for rawEvents() / debug APIs.
Acceptance
- Live OpenMeow happy-path run has no raw/debug fallback for normal assistant text streaming.
- Raw provider/Gateway payloads remain available for debugging without being required for app UI rendering.
Live dogfood finding
During the live OpenMeow SDK dogfood run,
run.events()returned a usable normalized stream, but it also emittedrawevents whose underlying Gateway event waschatand whose payload looked like assistant delta content.Evidence doc:
916d755(docs: add live dogfood findings)Observed event sequence included:
The raw event payload had
raw.event: "chat"and assistant text fragments undermessage.content.Impact
OpenMeow can render from
assistant.delta, but app UIs need to either ignore/debug-log these raw events or risk duplicate assistant deltas.Desired contract
For SDK-facing
run.events():chatassistant delta payloads into stableassistant.delta/assistant.messageevents, orchatdeltas from the high-level run event stream and reserve them forrawEvents()/ debug APIs.Acceptance