Skip to content

feat: Conversation branch visualization and fork controls #22

@rdwj

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions