Repository navigation
[Epic] Aura session storage and persistance #325
Copy link
Copy link
Description
Activity
- added a parent issue
on Jul 9, 2026 - added a commit that references this issue
on Jul 10, 2026 - added a commit that references this issue
on Jul 13, 2026 - added a commit that references this issue
on Jul 13, 2026 - added a commit that references this issue
on Jul 13, 2026 - added a commit that references this issue
on Jul 13, 2026 - removed a parent issue
on Jul 16, 2026 - added a parent issue
on Jul 16, 2026 - changed the title
[-]Session storage (cross-pod state)[/-][+]HITL Session storage (durable+cross-pod state)[/+]on Jul 16, 2026 - changed the title
[-]HITL Session storage (durable+cross-pod state)[/-][+]HITL Session storage (durable + cross-pod state)[/+]on Jul 16, 2026 - changed the title
[-]HITL Session storage (durable + cross-pod state)[/-][+]HITL Session storage for approvals and A2A tasks (durable + cross-pod state) [/+]on Jul 16, 2026 - removed a parent issue
on Jul 20, 2026 - changed the title
[-]HITL Session storage for approvals and A2A tasks (durable + cross-pod state) [/-][+][Epic] Aura session storage and persistance[/+]on Jul 20, 2026
Metadata
Metadata
Assignees
Labels
No labels
AURA needs session storage. The official/supported backend to support that session storage, and how session storage will work, needs to be decided on. An ADR needs to be created which addresses the need for session storage and then a first iteration is needed which satisfies this ADR.
load balancer with no session affinity, that state is invisible to the other pods.
approvals and the A2A task registry. Both are explicitly flagged in code as
"not durable / TBD resilient location".
impl; anyonecan write their own backend against the traits.
Phased rollout (Sub-issues)
Each phase is a self-contained issue/PR. Phase 1 is the prerequisite for everything else;
phases 2 and 3 are independent and can land in either order; phase 4 needs both.
SessionStore,ApprovalStore,EventBus; move today's structures behind them; A2A already hasTaskStore. Ship withbackend = memory. This is a pure refactor — existing tests arethe guard.
(
message:send+ poll works across pods). No bus needed for the poll path.approvals via
approval:{id}pub/sub. Fail-closed preserved.message:stream/subscribe/cancelvia thea2a:task:{id}(fan-out) anda2a:cancel:{id}(routed cancel) topics.Depends on the shared task store (phase 2) and the
EventBusimpl (phase 3)./health, runbook.