Skip to content

feat: Conversation branch visualization and fork controls #22

Description

@rdwj

Summary

Add UI for forking conversations at any message and navigating between branches. This enables "what-if" exploration and A/B comparison of different agent responses from the user's perspective.

UX Requirements

  • Fork button on each message (visible on hover)
  • When forking, create a new conversation tab or panel starting from that message
  • Branch indicator showing which fork the user is currently viewing
  • Branch switcher to navigate between forks of the same root conversation
  • Visual lineage indicator (e.g., "Forked from Session X at message 5")
  • Branch list or tree view accessible from sidebar or modal
  • Delete branch option with confirmation
  • Forked conversations are fully independent after creation — edits in one don't affect the other

Implementation Notes

POST to /v1/sessions/{id}/fork?at_message={index} via the gateway to create a new session seeded with the conversation up to that point. The new fork opens as a separate session tab in the UI. The sidebar session list should group forks under their parent with indentation or tree lines. Store fork metadata (parent session ID, fork point) client-side for navigation; the gateway returns this in the session object.

Companion Issues

Companion issues filed on fips-agents/agent-template, fips-agents/gateway-template, fips-agents/fips-agents-cli, and fips-agents/examples.

Size

M-L

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions