diff options
| author | soryu <soryu@soryu.co> | 2026-05-18 01:21:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-18 01:21:30 +0100 |
| commit | f240675da99bc7705e473b8f70a2628812aa4c10 (patch) | |
| tree | 3ee2d24b431ccb8cd1a3013c86b34a5782a3e224 /makima/src/server/handlers/directives.rs | |
| parent | 0d996cf7590e3e52f424859c7d6f0e68640f119e (diff) | |
| download | soryu-f240675da99bc7705e473b8f70a2628812aa4c10.tar.gz soryu-f240675da99bc7705e473b8f70a2628812aa4c10.zip | |
The contracts table, supervisor task type, and all their backing
machinery have been inert for several PRs. The directives system reads
its own active contract body for spec text, and PR #135 removed the
last LLM surface that spawned supervisors.
This PR wipes the dead surface in one shot — the user authorised a DB
wipe, so the migration drops every legacy table with CASCADE rather
than carrying forward stub rows. Net change: −12k LOC across handlers,
repository, state, models, the TUI, and the listen module.
What's gone:
- contracts, contract_chat_*, contract_events, contract_repositories,
contract_type_templates tables.
- supervisor_states, supervisor_heartbeats tables.
- mesh_chat_conversations, mesh_chat_messages tables.
- tasks.contract_id/is_supervisor/supervisor_task_id/supervisor_worktree_task_id columns.
- directive_steps.contract_id/contract_type columns.
- files.contract_id/contract_phase columns.
- history_events.contract_id/phase columns.
- The Contract/Supervisor/MeshChat handler + model + repository
surface, plus the daemon TUI views that read them.
- The standalone listen.rs websocket handler (orphaned with the LLM).
What stays:
- mesh_supervisor handler: trimmed to just the questions + orders
backchannel used by `makima directive ask` / `create-order` (kept
the URL prefix for CLI client compat).
- directive_documents (the user-facing "contracts" surface).
- pending_questions in-memory state for the directive Ask flow.
cargo check, cargo test --lib (68 passed), tsc, and vite build all
clean.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'makima/src/server/handlers/directives.rs')
| -rw-r--r-- | makima/src/server/handlers/directives.rs | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/makima/src/server/handlers/directives.rs b/makima/src/server/handlers/directives.rs index 35a46a0..410b2b3 100644 --- a/makima/src/server/handlers/directives.rs +++ b/makima/src/server/handlers/directives.rs @@ -1019,12 +1019,10 @@ pub async fn cleanup_directive( // Create the cleanup task (following pick_up_orders pattern) let req = CreateTaskRequest { - contract_id: None, name: format!("Cleanup: {}", directive.title), description: Some("Directive cleanup — verify merged branches and remove merged steps".to_string()), plan: prompt, parent_task_id: None, - is_supervisor: false, priority: 0, repository_url: directive.repository_url.clone(), base_branch: directive.base_branch.clone(), @@ -1037,7 +1035,6 @@ pub async fn cleanup_directive( checkpoint_sha: None, branched_from_task_id: None, conversation_history: None, - supervisor_worktree_task_id: None, directive_id: Some(directive.id), directive_step_id: None, }; @@ -1330,12 +1327,10 @@ pub async fn pick_up_orders( // Create the planning task let req = CreateTaskRequest { - contract_id: None, name: format!("Pick up orders: {}", directive.title), description: Some("Directive order pickup planning task".to_string()), plan, parent_task_id: None, - is_supervisor: false, priority: 0, repository_url: directive.repository_url.clone(), base_branch: directive.base_branch.clone(), @@ -1348,7 +1343,6 @@ pub async fn pick_up_orders( checkpoint_sha: None, branched_from_task_id: None, conversation_history: None, - supervisor_worktree_task_id: None, directive_id: Some(directive.id), directive_step_id: None, }; @@ -1907,12 +1901,10 @@ pub async fn pick_up_dog_orders( // Create the planning task let req = CreateTaskRequest { - contract_id: None, name: format!("Pick up DOG orders: {}", directive.title), description: Some("Directive order group pickup planning task".to_string()), plan, parent_task_id: None, - is_supervisor: false, priority: 0, repository_url: directive.repository_url.clone(), base_branch: directive.base_branch.clone(), @@ -1925,7 +1917,6 @@ pub async fn pick_up_dog_orders( checkpoint_sha: None, branched_from_task_id: None, conversation_history: None, - supervisor_worktree_task_id: None, directive_id: Some(directive.id), directive_step_id: None, }; @@ -2209,12 +2200,10 @@ pub async fn create_directive_task( let base_branch = req.base_branch.or_else(|| directive.base_branch.clone()); let create_req = CreateTaskRequest { - contract_id: None, name: req.name, description: None, plan: req.plan, parent_task_id: None, - is_supervisor: false, priority: 0, repository_url: repo_url, base_branch, @@ -2227,7 +2216,6 @@ pub async fn create_directive_task( checkpoint_sha: None, branched_from_task_id: None, conversation_history: None, - supervisor_worktree_task_id: None, directive_id: Some(directive.id), // No directive_step_id — this is what makes the task "ephemeral": // it lives under the directive folder but isn't part of the DAG. |
