feat: Add task_delegations schema (Session 374)
- task_delegations table for tracking delegation metadata per task - task_learning_effectiveness table for per-task learning tracking - Indexes for efficient querying by task_id, status, backend Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
42
migrations/002_task_delegations.sql
Normal file
42
migrations/002_task_delegations.sql
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
-- Migration 002: Task-Delegation Integration
|
||||||
|
-- Session 374: Unified task management with code delegation
|
||||||
|
|
||||||
|
-- Task delegation tracking table
|
||||||
|
CREATE TABLE IF NOT EXISTS task_delegations (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
||||||
|
delegation_id TEXT NOT NULL UNIQUE,
|
||||||
|
backend TEXT NOT NULL,
|
||||||
|
quality_score INTEGER,
|
||||||
|
learnings_injected TEXT, -- Comma-separated learning IDs
|
||||||
|
status TEXT DEFAULT 'pending' CHECK (status IN ('pending', 'success', 'failed', 'partial')),
|
||||||
|
started_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||||
|
completed_at TIMESTAMP WITH TIME ZONE,
|
||||||
|
input_tokens INTEGER DEFAULT 0,
|
||||||
|
output_tokens INTEGER DEFAULT 0,
|
||||||
|
cost_usd NUMERIC(10,6) DEFAULT 0,
|
||||||
|
context_hash TEXT, -- MD5 of task file for dedup
|
||||||
|
error_message TEXT
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_delegations_task ON task_delegations(task_id);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_delegations_status ON task_delegations(status);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_delegations_backend ON task_delegations(backend);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_delegations_started ON task_delegations(started_at);
|
||||||
|
|
||||||
|
-- Per-task learning effectiveness tracking
|
||||||
|
CREATE TABLE IF NOT EXISTS task_learning_effectiveness (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
||||||
|
learning_id INTEGER NOT NULL,
|
||||||
|
outcome TEXT NOT NULL CHECK (outcome IN ('success', 'failed')),
|
||||||
|
recorded_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_learning_task ON task_learning_effectiveness(task_id);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_learning_learning ON task_learning_effectiveness(learning_id);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_task_learning_outcome ON task_learning_effectiveness(outcome);
|
||||||
|
|
||||||
|
-- Migration tracking
|
||||||
|
INSERT INTO schema_migrations (version, applied_at) VALUES ('002_task_delegations', NOW())
|
||||||
|
ON CONFLICT DO NOTHING;
|
||||||
Reference in New Issue
Block a user