-- 002_dead_letter_v1.sql -- 死信表:失败任务落点(框架壳,不含业务重放逻辑) -- 禁止对现网 ytd_runtime 执行。 CREATE TABLE IF NOT EXISTS agent_dead_letter ( id UUID PRIMARY KEY, source TEXT NOT NULL DEFAULT '', source_id TEXT NOT NULL DEFAULT '', job_type TEXT NOT NULL DEFAULT '', payload JSONB NOT NULL DEFAULT '{}'::jsonb, error TEXT NOT NULL DEFAULT '', attempts INT NOT NULL DEFAULT 0, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), replayed_at TIMESTAMPTZ ); CREATE INDEX IF NOT EXISTS idx_agent_dead_letter_created ON agent_dead_letter (created_at DESC); CREATE INDEX IF NOT EXISTS idx_agent_dead_letter_job_type ON agent_dead_letter (job_type, created_at DESC); INSERT INTO schema_migrations (version, description) VALUES ('002_dead_letter_v1', 'agent_dead_letter 死信表壳') ON CONFLICT (version) DO NOTHING;