summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Task completion checkpointmakima/task-task-fefc1fab-fefc1fabsoryu2026-01-180-0/+0
|
* feat(mesh): show all contract tasks for supervisor taskssoryu2026-01-182-17/+51
| | | | | | | | | | | | | | | | | When viewing a supervisor task (task.isSupervisor === true), the TaskDetail component now shows all tasks in the contract instead of showing the subtasks tree. Changes: - Add contractTasks prop to TaskDetailProps for passing contract tasks - Add displayTasks computed value that uses contractTasks for supervisors - Change section header from "Subtasks" to "Contract Tasks" for supervisors - Hide the "+ Add Subtask" button for supervisor tasks - Update empty state message for supervisors - Fetch contract tasks in mesh.tsx when viewing a supervisor task - Filter out the supervisor itself from the contract tasks list Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fixup: fix history call and try to start pending tasks when a daemon is ↵soryu2026-01-164-21/+215
| | | | available
* Fixup: set daemon ID on spawned tasks by supervisorsoryu2026-01-163-40/+98
|
* Fixup: use default api.makima.jp URL and fix default branch detectionsoryu2026-01-1625-19/+2071
| | | | Also add checkpointing/history
* Fixup: add task contract type to frontendv0.1.0soryu2026-01-164-6/+70
|
* Add Task Contract Type for one-off adhoc tasks (#2)soryu2026-01-168-77/+368
|
* Add resume and history system for makima (#1)soryu2026-01-1514-4/+5106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Implement git config inherit systemsoryu2026-01-154-0/+257
|
* Implement simple git checkpoint command for supervisorsoryu2026-01-155-10/+441
|
* Fixup: Add cleanup and isolation features to makimasoryu2026-01-1529-243/+2624
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add comprehensive CLI documentation - Create makima/docs/CLI.md with complete command reference for: - makima server: HTTP/WebSocket server options - makima daemon: Worker daemon configuration - makima supervisor: Contract orchestration commands - makima contract: Task-contract interaction commands - Include configuration file examples and environment variables - Add usage workflows for common scenarios - Update makima/README.md with CLI overview and link to docs Add GitHub Actions release workflow for v0.1.0 Creates automated release workflow that: - Triggers on v* tag pushes - Builds binaries for Linux x86_64, macOS x86_64, and macOS ARM64 - Uses Rust nightly toolchain (required for edition 2024) - Packages binaries as .tar.gz archives - Creates GitHub release with installation instructions fix(ci): update macOS runner for x86_64 builds Replace deprecated macos-13 runner with macos-15-intel for x86_64-apple-darwin target. The macos-13 runner has been retired by GitHub Actions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Add dismissing notifications and fix CLI task ID arg Add worktree cleanup when contracts complete or are deleted (#21) - Add CleanupWorktree daemon command variant - Handle CleanupWorktree in daemon task manager - Add cleanup_contract_worktrees helper function - Trigger cleanup when contract status becomes 'completed' - Trigger cleanup before contract deletion Add Autonomous Loop Mode for persistent task completion (#20) Implements the "Autonomous Loop Mode" feature inspired by Ralph for Claude Code. This enables tasks to automatically restart and continue working until they explicitly signal completion via a COMPLETION_GATE block. Key features: - Exit confirmation via COMPLETION_GATE: Tasks must output a <COMPLETION_GATE> block with `ready: true` to signal completion. Without this, the task auto-restarts using `claude --continue` to resume the conversation. - Circuit breaker: Prevents infinite loops by detecting: * Maximum iteration limit (default: 10) * No progress for N consecutive iterations (default: 3) * Same error repeated N times (default: 5) - spawn_continue: New ProcessManager method to spawn Claude with the `--continue` flag, resuming from the previous session state. Toggle: Enable via `autonomous_loop` flag on contracts. When set, all tasks spawned for that contract will run in autonomous loop mode. Files changed: - completion_gate.rs: COMPLETION_GATE parser and CircuitBreaker logic - claude.rs: spawn_continue() for --continue mode spawning - manager.rs: Autonomous loop iteration logic in run_task() - protocol.rs: autonomousLoop field in DaemonCommand::SpawnTask - models.rs/repository.rs: autonomous_loop column on contracts/tasks - Migration: Adds autonomous_loop columns to contracts and tasks tables Add get-task and output commands to supervisor CLI (#24) Add two new supervisor subcommands: - `makima supervisor task <task_id>` - Get individual task details - `makima supervisor output <task_id>` - Get task output/claude log This allows supervisors to fetch task details and claude output directly from the CLI instead of using curl to call the task API. Add optional bubblewrap sandboxing for Claude processes (#23) Add --bubblewrap flag and process.bubblewrap config section to enable running Claude Code in a bubblewrap sandbox for process isolation. When enabled, claude processes run with filesystem restrictions: - Root filesystem mounted read-only - Working directory (worktree) mounted read-write - Fresh /dev, /proc, /tmp - Network access preserved for API calls Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Fixup: experiment with different entrypoint for containersoryu2026-01-151-1/+1
|
* Advance stages of a contractsoryu2026-01-157-9/+100
|
* Fixup: container image binarysoryu2026-01-151-4/+2
|
* Add arg index for makima CLIsoryu2026-01-151-1/+12
|
* Add cleanup to daemonsoryu2026-01-156-4/+167
| | | | Also fixup for container image
* Add repository history feature to store and suggest previously used ↵soryu2026-01-1511-7/+730
| | | | | | | | | | | | | | | | | | | | | | repositories (#18) - Add repository_history table migration with repo_type, repo_path, use_count, last_used_at - Add RepositoryHistoryEntry model and CRUD database functions - Create API endpoints: GET/POST/DELETE /api/v1/repository-history, GET /api/v1/repository-history/suggestions - Update add_remote_repository and add_local_repository handlers to automatically track history - Update frontend API with repository history types and functions - Add Repository History section to Settings page with list of entries and delete functionality - Add suggestions dropdown to RepositoryPanel when entering new repository URL/path - Suggestions filter by repo type (remote vs local) and match on user input Test plan: - Add a remote repository to a contract - verify it appears in Settings history - Add a local repository to a contract - verify it appears in Settings history - Add same repository again - verify use_count increments, not duplicate - When adding new repository, verify suggestions appear based on history - Delete a history entry from Settings - verify it's removed - Verify suggestions only show matching type (remote for remote, local for local) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Automatically derive repo URL and add notifications for inputsoryu2026-01-1520-91/+2017
|
* Fixup: use entrypoint in containersoryu2026-01-151-5/+6
|
* fix: add missing contract_type field to CreateContractRequestsoryu2026-01-152-0/+2
| | | | | | | | The CreateContractRequest struct requires a contract_type field. Set to "specification" for transcript analysis contracts since they follow the full Research -> Specify -> Plan -> Execute -> Review workflow. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(types): add missing contractId and authToken to StartMessage typesoryu2026-01-152-0/+306
| | | | | | | Add optional contractId and authToken fields to the StartMessage TypeScript type to match the backend message structure and fix type checking. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(listen): add transcript analysis UI panelsoryu2026-01-157-5/+582
| | | | | | | | | | | | | Add UI integration for the transcript analysis feature: - Add TranscriptSaved WebSocket message type to notify client when transcript is saved - Create TranscriptAnalysisPanel component to display analysis results - Shows requirements grouped by category, decisions, action items with priorities - Displays speaker statistics and suggested contract name/description - Provides buttons to create new contract or add to existing contract - Update Listen page to show analysis panel as modal overlay after recording stops - Update useWebSocket hook to handle transcriptSaved message Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(contract-tools): add transcript analysis tools for contract chatsoryu2026-01-152-0/+436
| | | | | | | | | | Adds two new tools to contract_tools: - analyze_transcript: Analyze a file's transcript and return structured results - create_contract_from_transcript: Create a new contract from transcript analysis These tools enable voice-to-contract workflows directly from the contract chat interface. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(listen): add transcript analysis API endpointssoryu2026-01-153-1/+680
| | | | | | | | | | | | Adds three new endpoints under /api/v1/listen/: - POST /analyze - Analyze a file's transcript for requirements, decisions, action items - POST /create-contract - Create a new contract from analyzed transcript - POST /update-contract - Update an existing contract with extracted information These endpoints bridge the Listen (voice transcription) system with the Contract system, enabling voice-to-contract workflows. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(transcript): add transcript analyzer module for extracting requirements ↵soryu2026-01-152-0/+298
| | | | | | | | | | | | | and decisions Adds a new transcript_analyzer module that: - Defines types for extracted requirements, decisions, and action items - Provides functions to format transcripts for LLM analysis - Calculates speaker statistics from transcript entries - Builds analysis prompts and parses LLM responses - Includes unit tests for core functionality Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* wip - contract systemsoryu2026-01-151-1/+0
|
* Fixup: make makima CLI executablesoryu2026-01-151-2/+2
|
* Update container image to use new CLIsoryu2026-01-151-3/+3
|
* Contract type systemsoryu2026-01-156-22/+207
|
* Contract systemsoryu2026-01-15109-1528/+24240
|
* Update Makima panel in soryu to match makima/frontend descriptionsoryu2026-01-112-17/+19
|
* Default makima daemon to use production URIsoryu2026-01-111-6/+20
|
* Add auth variables by defaultsoryu2026-01-113-44/+18
|
* Disable buttons if logged outsoryu2026-01-114-4/+75
| | | | Also add prod.env for FE config
* Initial Control systemsoryu2026-01-1194-3135/+29269
|
* Add defined user input dialogue to LLM editsoryu2026-01-025-11/+484
|
* Update LLM to keep contextsoryu2026-01-023-10/+61
|
* Update display of LLM edit panelsoryu2026-01-023-2/+176
|
* Add loop based LLM editing + view toolssoryu2026-01-022-16/+525
|
* Add versioning to filessoryu2025-12-2416-59/+1757
|
* Update overwrite mechanism to show diffsoryu2025-12-242-23/+201
|
* Revert "Update overwrite mechanism to only require one prompt"soryu2025-12-241-24/+4
| | | | This reverts commit d2bb569401a906e33517cafd0e35d960bd1381bd.
* Revert "Fixup: Update overwrite mechanism"soryu2025-12-241-12/+4
| | | | This reverts commit 70e6c958a5a624e1d3ce51ff119a281032addf1a.
* Fixup: Update overwrite mechanismsoryu2025-12-241-4/+12
|
* Update overwrite mechanism to only require one promptsoryu2025-12-241-4/+24
|
* Add overwrite mechanism for conflicting writes of filessoryu2025-12-243-32/+187
|
* Fixup: Add font for logosoryu2025-12-233-3/+12
|
* Fixup: Update pnpm lockfilesoryu2025-12-231-2/+276
|
* Add conflict notification and file update WS endpointsoryu2025-12-2317-49/+840
|
* Add editable file sections and a drag&drop featuresoryu2025-12-235-87/+466
|