docs: Add Python session identity ADR#6630
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds ADR 0029 to document Python identity lifetimes and boundaries across AgentSession, protocol task/session identifiers, response/message IDs, and framework continuation tokens, to reduce terminology overlap and guide follow-up work for native conversation propagation and A2A behavior.
Changes:
- Introduces ADR 0029 describing identity lifetimes and where each identifier should live (durable session state vs. per-response vs. continuation token vs. run/telemetry correlation).
- Documents current Python implementation behavior for A2A and OpenAI Responses continuation to ground the decision discussion.
- Enumerates remaining durable-state shape options (session subclasses vs. namespaced
session.statevs. richerservice_session_id) plus an A2Atask_id/reference_task_idsappendix.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
TaoChenOSU
left a comment
There was a problem hiding this comment.
This sounds like the gap that exists today is primarily in A2A. Is it necessary to introduce a new abstraction for me? My understanding of the problem is very limited. Please correct me if I am wrong.
|
@TaoChenOSU Thanks — your review question on whether this needs a new abstraction is now reflected directly in the Decision section. The direction is to avoid a new top-level identity abstraction and keep continuation identity under |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Motivation & Context
Python protocol and service integrations currently use session, task, response, and continuation identifiers with overlapping terminology. This ADR documents the lifetime boundaries for those identities so follow-up implementation work for native conversation propagation and A2A task/session behavior has a clearer design basis.
The ADR keeps AG-UI out of the session identity decision, preserves
service_session_idas an opaque service continuation handle, and focuses the remaining open design question on how Python should store additional durable continuation state across calls.Description & Review Guide
AgentSessionsubclasses, namespacedAgentSession.state, or richer service-ownedservice_session_idvalues.task_idvsreference_task_idsbehavior to validate in implementation.Related Issue
Related to #4673 and #4893. Does not close them.
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.