You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
A ctx.invoke child run's events reach an Observer under its parent's session (#491). A
sink bucketing by conversation now sees the child's run.started / usage.reported / run.completed under it, instead of losing them to a process-wide session-less bucket shared
with every other conversation's children. Live sinks only, and attribution only: the child's
stored rows stay session-less, so it still claims no session, is still played with its own
history, and still contributes nothing to the conversation's transcript. Read a stored child
back through run.started.parent_run_id.
A workflow sharing a conversation's session_id no longer duplicates its input into the
agent's next prompt (#490). Only an agent turn is a conversational turn: a workflow or tool
run passed the same session_id joins that conversation's event stream, so an operator
surface keyed by the session sees it, but its input is an orchestration argument and never
reaches the model as something the user said. "Enrich, then answer" on one session is now the
one obvious path, with no derived <session>|step id to invent.
One limit, for a conversation that already ran a workflow on a shared session_id under an
earlier release: that release replayed the workflow's input into the engine's session, which
the transcript no longer counts, so the two disagree from that message on. Such a session
reports openai_agents.session_diverged on every later turn and skips crash repair, the
reconciliation that replays a message the log recorded and a killed process never wrote. Turns
themselves are unaffected, and nothing is written into a session AgentDeck cannot account for.
Reset one with await deck.session_for("<session-id>").clear_session(), which drops that
conversation's engine-side memory (the event log is untouched), or move the conversation to a
new session_id. A session that never shared a workflow run is unaffected.