From 474b913ac9cbad88a0a3fd14d372b98336ce4672 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 30 Apr 2026 23:53:19 +0800 Subject: [PATCH] chore(db): add playbook versioning migration --- .../migrations/adr104_playbook_versioning.sql | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 apps/api/migrations/adr104_playbook_versioning.sql diff --git a/apps/api/migrations/adr104_playbook_versioning.sql b/apps/api/migrations/adr104_playbook_versioning.sql new file mode 100644 index 00000000..cbed2389 --- /dev/null +++ b/apps/api/migrations/adr104_playbook_versioning.sql @@ -0,0 +1,20 @@ +-- ADR-104 T4: Playbook versioning / lineage schema +-- 2026-04-30 Codex: LLM-generated Playbooks must preserve lineage instead of +-- overwriting prior operational knowledge. + +ALTER TABLE playbooks + ADD COLUMN IF NOT EXISTS version INTEGER NOT NULL DEFAULT 1, + ADD COLUMN IF NOT EXISTS parent_playbook_id VARCHAR(36), + ADD COLUMN IF NOT EXISTS supersedes_playbook_id VARCHAR(36), + ADD COLUMN IF NOT EXISTS version_reason TEXT; + +UPDATE playbooks +SET parent_playbook_id = playbook_id +WHERE parent_playbook_id IS NULL; + +CREATE INDEX IF NOT EXISTS ix_playbook_lineage + ON playbooks(parent_playbook_id, version); + +CREATE INDEX IF NOT EXISTS ix_playbook_supersedes + ON playbooks(supersedes_playbook_id) + WHERE supersedes_playbook_id IS NOT NULL;