Skip to content

Per-chat history, and a stash you can bring back #1286

Description

@santoshkumarradha

As chats fork into side chats and tasks, it stops being clear whose history is whose. Work started in one place can lose the history it depended on, or pick up history that was never meant for it. We want to settle this properly rather than patch it.

What we are aiming for

  • History belongs to the chat that produced it. A fork, side chat or task starts from the history it was given and goes its own way from there.
  • Coming back to a chat restores that chat's history, not someone else's.
  • A stash per chat. Set the current history aside, carry on clean, bring it back later. The stash belongs to that chat, not to the whole app.
  • You can see what a run is working from, and what is stashed.

The hard part

This is a data-structure question before it is a feature. The structure decides how forks and tasks behave, what a run pays for in context, and whether any of it can be undone. Before we build, we want to settle:

  • How a fork relates to its parent: a copy, a pointer, or a shared trunk with branches
  • Whether history is a list, a tree, or a chain of edits
  • What a stash is: a named snapshot, a branch, or a slice set aside, and how many a chat can hold
  • Whether stash and restore lose nothing, and what happens to work done while a stash was away
  • Where it lives and how it survives a restart

Tell us

If you fork chats, run several at once, or want to park a conversation and come back to it, describe how you work. It will shape the structure we pick.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:chatThe v3 surface a person sits in front of (internal/tui3)area:sessionThe engine — turns, tasks, the toolbelt, checkpointsfeatureWork that adds a capability; developers break it into tasksneeds groomingShape and scope are still being decided — the approach is not settledroadmapA public roadmap outcome; the card on the Agent-Field board links here for votes and discussion

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions