# Resume and History System - User Stories

## Epic: History Viewing

### US-HV-01: View Contract History Timeline
**As a** developer using Makima
**I want to** view a complete timeline of all activities in my contract
**So that** I can understand what happened across all phases and tasks

**Acceptance Criteria:**
- Timeline shows all activities chronologically
- Activities include task creation, completions, checkpoints, phase changes, and chat messages
- Timeline can be filtered by phase
- Timeline can be filtered by time range
- Timeline supports pagination for large datasets

### US-HV-02: View Task Conversation History
**As a** developer
**I want to** view the complete conversation history for any task
**So that** I can understand what the AI did and how it arrived at its solution

**Acceptance Criteria:**
- All messages are displayed in chronological order
- Tool calls are shown with their inputs
- Tool results are shown with outputs
- Error messages are clearly highlighted
- Token usage and cost are displayed if available

### US-HV-03: View Checkpoint with Diff
**As a** developer
**I want to** see what code changes were made in each checkpoint
**So that** I can review the work done at each step

**Acceptance Criteria:**
- Checkpoint details show commit message and timestamp
- Diff shows files changed with additions/deletions
- Diff uses syntax highlighting for code
- Can navigate between checkpoints
- Shows summary statistics (files changed, lines added/removed)

### US-HV-04: View Supervisor Conversation
**As a** developer managing a contract
**I want to** view the supervisor's conversation history
**So that** I can understand how tasks were orchestrated and decisions were made

**Acceptance Criteria:**
- Full conversation history is displayed
- Spawned tasks are linked and visible
- Pending tasks are indicated
- Phase information is shown
- Tool calls and decisions are visible

## Epic: Resume System

### US-RS-01: Resume Interrupted Supervisor
**As a** developer
**I want to** resume my supervisor conversation after a daemon disconnect
**So that** I don't lose my progress and context

**Acceptance Criteria:**
- Supervisor can be resumed with full conversation context
- Can choose resume mode (continue, restart phase, from checkpoint)
- Resume works on any available daemon
- Original context is preserved
- New activity continues from where it left off

### US-RS-02: Resume Interrupted Task
**As a** developer
**I want to** resume a task that was interrupted
**So that** the AI can continue without redoing completed work

**Acceptance Criteria:**
- Task resumes with conversation context
- Worktree state is preserved
- Can specify context size limit
- Resume works on different daemon if needed
- Progress is not lost

### US-RS-03: Resume from Specific Checkpoint
**As a** developer
**I want to** resume work from a specific checkpoint
**So that** I can try a different approach from a known good state

**Acceptance Criteria:**
- Can select any checkpoint to resume from
- Code state matches checkpoint
- Can optionally include conversation up to that point
- New task is created with appropriate context
- Original task remains unchanged

### US-RS-04: Continue from Previous Task
**As a** developer
**I want to** start a new task that inherits another task's worktree
**So that** I can build on previous work without copying files manually

**Acceptance Criteria:**
- New task inherits worktree state from source task
- Can specify which files to copy
- Git history is preserved
- Source task is not modified
- New task gets its own isolated worktree

## Epic: Rewind/Restore Features

### US-RW-01: Rewind Code to Checkpoint
**As a** developer
**I want to** rewind my code to a previous checkpoint
**So that** I can undo changes and try a different approach

**Acceptance Criteria:**
- Can select any checkpoint to rewind to
- Can choose to discard current changes
- Can choose to preserve current state as branch
- Can choose to stash current changes
- Rewind is atomic (all or nothing)

### US-RW-02: Rewind Conversation
**As a** developer
**I want to** rewind the conversation to an earlier point
**So that** I can remove problematic AI responses and try again

**Acceptance Criteria:**
- Can specify rewind point by message ID, timestamp, or message count
- Messages after rewind point are removed
- Optionally rewind code to matching checkpoint
- Supervisor state is updated
- Can continue conversation from new point

### US-RW-03: Fork Task from History
**As a** developer
**I want to** create a new task from a point in history
**So that** I can explore an alternative approach without losing original work

**Acceptance Criteria:**
- Can fork from any checkpoint
- Can fork from any conversation point
- New task gets code state from fork point
- Can optionally include conversation history
- Original task is not modified
- New branch is created in git

### US-RW-04: Create Branch from Checkpoint
**As a** developer
**I want to** create a git branch from any checkpoint
**So that** I can preserve or share a specific point in development

**Acceptance Criteria:**
- Can specify branch name
- Branch is created at checkpoint's commit
- Can optionally checkout the new branch
- Works even if task is completed
- Branch is visible in git

## Epic: CLI Integration

### US-CLI-01: View History via CLI
**As a** developer using the terminal
**I want to** view contract and task history via CLI
**So that** I can understand project history without opening the web UI

**Acceptance Criteria:**
- `makima contract history` shows timeline
- `makima task history` shows conversation
- `makima task checkpoints` lists checkpoints
- `makima task checkpoint-diff` shows code changes
- Output is formatted for terminal readability

### US-CLI-02: Resume via CLI
**As a** developer using the terminal
**I want to** resume supervisors and tasks via CLI
**So that** I can recover from interruptions without the web UI

**Acceptance Criteria:**
- `makima supervisor resume` resumes supervisor
- `makima task resume` resumes interrupted task
- `makima task resume-from` resumes from checkpoint
- Can specify resume options via flags
- Clear feedback on resume success/failure

### US-CLI-03: Rewind via CLI
**As a** developer using the terminal
**I want to** perform rewind operations via CLI
**So that** I can quickly undo changes or fork without the web UI

**Acceptance Criteria:**
- `makima task rewind` rewinds code
- `makima supervisor rewind-conversation` rewinds conversation
- `makima task fork` creates fork from history
- Can specify options via flags
- Confirmation required for destructive operations

## Epic: Frontend Integration

### US-FE-01: History Timeline UI
**As a** developer using the web interface
**I want to** see a visual timeline of contract activities
**So that** I can quickly understand project progression

**Acceptance Criteria:**
- Timeline is visually clear and scrollable
- Events are color-coded by type
- Can click events for details
- Can filter and search
- Responsive on different screen sizes

### US-FE-02: Conversation Viewer UI
**As a** developer using the web interface
**I want to** view conversations in a chat-like interface
**So that** I can easily read and understand AI interactions

**Acceptance Criteria:**
- Messages are displayed in chat format
- Different message types are visually distinct
- Code blocks have syntax highlighting
- Tool calls are collapsible
- Can copy message content

### US-FE-03: Checkpoint Browser UI
**As a** developer using the web interface
**I want to** browse and interact with checkpoints
**So that** I can review, restore, or branch from any point

**Acceptance Criteria:**
- Checkpoints listed with details
- Can view diff for each checkpoint
- Can trigger rewind from UI
- Can create branch from UI
- Can resume from checkpoint via UI

### US-FE-04: Rewind Controls UI
**As a** developer using the web interface
**I want to** easily rewind code or conversation
**So that** I can undo changes with clear visual feedback

**Acceptance Criteria:**
- Clear controls for rewind operations
- Preview of what will be affected
- Confirmation dialog for destructive actions
- Progress indication during operation
- Clear success/failure feedback
