From 6ee2e75834bff187b8c262e0798ef365bc21cd59 Mon Sep 17 00:00:00 2001 From: soryu Date: Thu, 15 Jan 2026 22:33:47 +0000 Subject: Add resume and history system for makima (#1) This PR implements a comprehensive resume and history system that enables: 1. **History Viewing** - View complete conversation history for contracts across all phases - View conversation history for individual tasks - View task output/tool call history with timestamps - View checkpoint history - Timeline view showing all activities 2. **Resume System** - Resume interrupted supervisor conversations with full context - Resume interrupted task conversations - Resume from specific checkpoints - Continue tasks from previous task state (worktree inheritance) 3. **Rewind/Restore Features** - Rewind code to any checkpoint (git restore) - Rewind conversation to any point - Create new branches from historical points - Fork tasks from any point in history - New migration: 20250117000000_history_tables.sql - conversation_snapshots table for storing conversation state - history_events table for unified timeline - Added forking fields to tasks table - Added conversation_snapshot_id to task_checkpoints - ConversationSnapshot, HistoryEvent, ConversationMessage - Request/response types for resume and rewind operations - Query filter types for history endpoints - CRUD functions for conversation_snapshots - CRUD functions for history_events - Task conversation retrieval from task_events - GET /api/v1/contracts/{id}/history - GET /api/v1/contracts/{id}/supervisor/conversation - GET /api/v1/mesh/tasks/{id}/conversation - GET /api/v1/timeline - POST /api/v1/contracts/{id}/supervisor/resume - POST /api/v1/mesh/tasks/{id}/rewind - POST /api/v1/mesh/tasks/{id}/fork - POST /api/v1/mesh/tasks/{id}/checkpoints/{cid}/resume - POST /api/v1/mesh/tasks/{id}/checkpoints/{cid}/branch - POST /api/v1/contracts/{id}/supervisor/conversation/rewind - task-history: View task conversation history - task-checkpoints: List task checkpoints - resume: Resume supervisor after interruption - task-resume-from: Resume task from checkpoint - task-rewind: Rewind task code to checkpoint - task-fork: Fork task from historical point - rewind-conversation: Rewind supervisor conversation --- makima/src/daemon/cli/mod.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'makima/src/daemon/cli/mod.rs') diff --git a/makima/src/daemon/cli/mod.rs b/makima/src/daemon/cli/mod.rs index da71b0d..cde6e16 100644 --- a/makima/src/daemon/cli/mod.rs +++ b/makima/src/daemon/cli/mod.rs @@ -88,6 +88,27 @@ pub enum SupervisorCommand { /// Get task output/claude log Output(supervisor::GetTaskOutputArgs), + + /// View task conversation history + TaskHistory(supervisor::TaskHistoryArgs), + + /// List task checkpoints (with optional diff) + TaskCheckpoints(supervisor::TaskCheckpointsArgs), + + /// Resume supervisor after interruption + Resume(supervisor::ResumeArgs), + + /// Resume task from checkpoint + TaskResumeFrom(supervisor::TaskResumeFromArgs), + + /// Rewind task code to checkpoint + TaskRewind(supervisor::TaskRewindArgs), + + /// Fork task from historical point + TaskFork(supervisor::TaskForkArgs), + + /// Rewind supervisor conversation + RewindConversation(supervisor::ConversationRewindArgs), } /// Contract subcommands for task-contract interaction. -- cgit v1.2.3