diff options
Diffstat (limited to 'makima/migrations/20260517000000_drop_legacy_contracts_and_supervisor.sql')
| -rw-r--r-- | makima/migrations/20260517000000_drop_legacy_contracts_and_supervisor.sql | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/makima/migrations/20260517000000_drop_legacy_contracts_and_supervisor.sql b/makima/migrations/20260517000000_drop_legacy_contracts_and_supervisor.sql new file mode 100644 index 0000000..bc89ff8 --- /dev/null +++ b/makima/migrations/20260517000000_drop_legacy_contracts_and_supervisor.sql @@ -0,0 +1,58 @@ +-- Drop the legacy contracts + supervisor task-grouping system. +-- +-- Context: contracts were the pre-directive grouping for tasks. The +-- "supervisor" was a special task type (`is_supervisor=true`) that +-- coordinated a tree of subtasks under one contract. Both have been +-- inert for several PRs — no creation path remains, the LLM removal +-- (#135) took out the last surface that spawned them, and the +-- directives system reads its own active contract body for spec text. +-- +-- This migration drops every remnant in one shot. The user authorised +-- a DB wipe; CASCADE is intentional. +-- +-- Survives: +-- * `pending_questions` (in-memory only in server state.rs) — the +-- directive Ask command still uses this backchannel. +-- * `orders` (already had contract_id dropped, line 20260216). +-- * `directive_documents` (the user-facing "contract" surface). + +-- --------------------------------------------------------------------------- +-- Drop FK columns first so the parent tables can go cleanly. +-- --------------------------------------------------------------------------- + +-- Tasks: legacy contract grouping + supervisor flags. +ALTER TABLE tasks DROP COLUMN IF EXISTS contract_id CASCADE; +ALTER TABLE tasks DROP COLUMN IF EXISTS is_supervisor CASCADE; +ALTER TABLE tasks DROP COLUMN IF EXISTS supervisor_task_id CASCADE; +ALTER TABLE tasks DROP COLUMN IF EXISTS supervisor_worktree_task_id CASCADE; + +-- directive_steps: legacy contract-backed step machinery. +ALTER TABLE directive_steps DROP COLUMN IF EXISTS contract_id CASCADE; +ALTER TABLE directive_steps DROP COLUMN IF EXISTS contract_type CASCADE; + +-- files: legacy contract + phase association. +ALTER TABLE files DROP COLUMN IF EXISTS contract_id CASCADE; +ALTER TABLE files DROP COLUMN IF EXISTS contract_phase CASCADE; + +-- history_events: drop contract scope; events stay task-level only. +ALTER TABLE history_events DROP COLUMN IF EXISTS contract_id CASCADE; +ALTER TABLE history_events DROP COLUMN IF EXISTS phase CASCADE; + +-- --------------------------------------------------------------------------- +-- Drop dependent tables. Order is FK-safe: leaf tables first. +-- --------------------------------------------------------------------------- + +DROP TABLE IF EXISTS contract_chat_messages CASCADE; +DROP TABLE IF EXISTS contract_chat_conversations CASCADE; +DROP TABLE IF EXISTS contract_events CASCADE; +DROP TABLE IF EXISTS contract_repositories CASCADE; +DROP TABLE IF EXISTS contract_type_templates CASCADE; + +DROP TABLE IF EXISTS supervisor_heartbeats CASCADE; +DROP TABLE IF EXISTS supervisor_states CASCADE; + +DROP TABLE IF EXISTS mesh_chat_messages CASCADE; +DROP TABLE IF EXISTS mesh_chat_conversations CASCADE; + +-- Final boss: the contracts table itself. +DROP TABLE IF EXISTS contracts CASCADE; |
