feat: conversational branching, AI markers, TaskLane improvements, collapsible sidebar #120

Merged
chihlasm merged 58 commits from feat/conversational-branching into main 2026-03-27 13:16:44 +00:00
chihlasm commented 2026-03-26 19:58:09 +00:00 (Migrated from github.com)

Summary

Major feature branch adding conversational branching infrastructure and AI assistant UX improvements.

Conversational Branching (Backend)

  • 4 new models: SessionBranch, ForkPoint, SessionHandoff, SessionResolutionOutput
  • Migration 067 with 4 tables + 13 columns on existing tables
  • BranchManager service for fork/switch/merge operations
  • BranchAwarePromptBuilder for cross-branch context injection
  • HandoffManager for park/escalate with dual-write
  • ResolutionOutputGenerator for three-output generation (ticket note, internal summary, knowledge base)
  • Full API endpoints for branches, handoffs, and resolutions
  • 7 integration test suites

AI Marker System ([QUESTIONS]/[ACTIONS]/[FORK])

  • Fixed system prompt so AI reliably emits structured markers
  • Added format reminder injection into user messages
  • Fixed fork section conflicting with marker instructions
  • Markers now parsed into structured data (actions, questions, fork metadata)
  • Frontend renders markers as interactive TaskLane cards

TaskLane Improvements

  • Partial submit: engineers can send responses without completing all items
  • Dynamic label: "Send 2 of 6 Responses" vs "Send All Responses"
  • Click-to-edit: done cards reopen for editing
  • Collapsible preview of formatted message before sending
  • Resizable panel with grip handle (280px–50vw, localStorage persistence)
  • TaskLane resets on new chat / chat switch
  • Removed double-border between TaskLane and chat input

Collapsible Chat Sidebar

  • Collapses to horizontal top bar with "New" + "History" buttons
  • Shows active chat title when collapsed
  • Persists collapse state to localStorage

Other

  • Frontend branching components (BranchMap, BranchNode, ForkCard, HandoffModal, etc.)
  • useBranching hook for branch state management
  • DevBranchingPage for testing branch components
  • ActionCardGroup component for structured rendering

Test plan

  • Backend integration tests (7 suites)
  • TypeScript compilation passes (tsc --noEmit)
  • Manual QA: AI marker rendering in new sessions
  • Manual QA: TaskLane partial submit, resize, preview
  • Manual QA: Collapsible sidebar state persistence

🤖 Generated with Claude Code

## Summary Major feature branch adding conversational branching infrastructure and AI assistant UX improvements. ### Conversational Branching (Backend) - 4 new models: SessionBranch, ForkPoint, SessionHandoff, SessionResolutionOutput - Migration 067 with 4 tables + 13 columns on existing tables - BranchManager service for fork/switch/merge operations - BranchAwarePromptBuilder for cross-branch context injection - HandoffManager for park/escalate with dual-write - ResolutionOutputGenerator for three-output generation (ticket note, internal summary, knowledge base) - Full API endpoints for branches, handoffs, and resolutions - 7 integration test suites ### AI Marker System ([QUESTIONS]/[ACTIONS]/[FORK]) - Fixed system prompt so AI reliably emits structured markers - Added format reminder injection into user messages - Fixed fork section conflicting with marker instructions - Markers now parsed into structured data (actions, questions, fork metadata) - Frontend renders markers as interactive TaskLane cards ### TaskLane Improvements - Partial submit: engineers can send responses without completing all items - Dynamic label: "Send 2 of 6 Responses" vs "Send All Responses" - Click-to-edit: done cards reopen for editing - Collapsible preview of formatted message before sending - Resizable panel with grip handle (280px–50vw, localStorage persistence) - TaskLane resets on new chat / chat switch - Removed double-border between TaskLane and chat input ### Collapsible Chat Sidebar - Collapses to horizontal top bar with "New" + "History" buttons - Shows active chat title when collapsed - Persists collapse state to localStorage ### Other - Frontend branching components (BranchMap, BranchNode, ForkCard, HandoffModal, etc.) - useBranching hook for branch state management - DevBranchingPage for testing branch components - ActionCardGroup component for structured rendering ## Test plan - [x] Backend integration tests (7 suites) - [x] TypeScript compilation passes (`tsc --noEmit`) - [ ] Manual QA: AI marker rendering in new sessions - [ ] Manual QA: TaskLane partial submit, resize, preview - [ ] Manual QA: Collapsible sidebar state persistence 🤖 Generated with [Claude Code](https://claude.com/claude-code)
railway-app[bot] commented 2026-03-26 19:58:43 +00:00 (Migrated from github.com)

🚅 Deployed to the resolutionflow-pr-120 environment in selfless-grace

Service Status Web Updated (UTC)
patherly Success (View Logs) Web Mar 27, 2026 at 12:36 pm
hopeful-liberation Success (View Logs) Web Mar 27, 2026 at 12:36 pm
<!-- railway-bot-comment-version=2 --> <!-- railway-project-id="22b9b58c-271b-42e5-a10e-6fdec8d00134" railway-project-name="selfless-grace" --> 🚅 Deployed to the [resolutionflow-pr-120](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134?environmentId=032d00ed-f042-403c-b3d1-8d8e95fd417e) environment in **[selfless-grace](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134)** | **Service** | **Status** | **Web** | **Updated** (UTC) | | :--- | :--- | :--- | :--- | | patherly | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/95f556ff-5264-4116-a0c2-618a2fc53ba4?id=4334dc7b-94e3-4db9-9993-57ca07263dae&environmentId=032d00ed-f042-403c-b3d1-8d8e95fd417e)) | [Web](https://patherly-resolutionflow-pr-120.up.railway.app) | Mar 27, 2026 at 12:36 pm | | hopeful-liberation | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/e1db2ee3-d241-4f45-abe4-c9c5fdf483d5?id=7afcc590-f66c-40ad-8263-16c706d8a3fe&environmentId=032d00ed-f042-403c-b3d1-8d8e95fd417e)) | [Web](https://hopeful-liberation-resolutionflow-pr-120.up.railway.app) | Mar 27, 2026 at 12:36 pm |
Sign in to join this conversation.