google / google/adk-go

Session Time Travel and Forking

Open
#343 8 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
8.8k
Forks
1k
Avg merge
3d 18h
Merged PRs (30d)
88

Description

I'm working on a custom coding agent and this is a feature I want to have. It is unclear where this support should live. Some thoughts and questions

1. Having this feature in ADK generally seems really useful across every downstream application
2. It could facilitate making better testing data for evals, synth or hand crafted
3. It would have implications for how this is supported in the other services (like Artifacts), namespacing, but also linking?
4. Sessions should ideally remain accurate when loading later on. This would mean having a snapshot of the app & user state at the time they were created would be needed, if they use or modify, for their inputs and deltas to remain stable long term
5. Is this possible today without changes to ADK? _I think so_, but requires some forethought for said namespacing to avoid collision with users and/or sessions. I'll let you know what I learn!

At some point it starts to sound like git, container layers, crdt, deltadb on a per-session basis, OCI intrigues me in this regard

Contributor guide

Open the contributing guide

Research direction

Start by reviewing ADK's current session and state handling, then examine how downstream services such as Artifacts represent namespacing and links. Determine whether time travel and forking can be supported today without ADK changes, and document the required snapshot, collision-avoidance, and long-term session-accuracy behavior before proposing an implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ai, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.