Files
roboco/alembic/versions/014_drop_pm_approvals.py
T
Renn F eed4551497 feat(alembic): B2 drop unused pm_approvals Task column
Smoke run analysis initially flagged three Task fields as unused
(pm_approvals, quick_context, proactive_context). A follow-up audit
found quick_context (stores original_developer marker + doc notes +
PR creator + escalation notes) and proactive_context (RAG injection)
are actively used. Only pm_approvals is truly orphaned.

Migration 014 drops pm_approvals; downgrade() recreates it if ever
needed. The two false-positive fields stay untouched.

Spec ref: docs/superpowers/specs/2026-05-12-post-smoke-3-fixes-design.md
section B2 (re-scoped 2026-05-12).
2026-05-12 04:03:21 +02:00

35 lines
949 B
Python

"""Drop unused Task column pm_approvals.
Smoke run analysis (2026-05-12) initially flagged three Task fields
as unused: pm_approvals, quick_context, proactive_context. A follow-up
audit found quick_context and proactive_context are actively written
(original_developer marker, doc_notes, PR creator tags; RAG context
injection respectively). Only pm_approvals is truly orphaned — zero
writers, only model + schema declarations as readers.
Revision ID: 014_drop_pm_approvals
Revises: 013_drop_role_enum
Create Date: 2026-05-12
"""
from __future__ import annotations
import sqlalchemy as sa
from alembic import op
revision = "014_drop_pm_approvals"
down_revision = "013_drop_role_enum"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.drop_column("tasks", "pm_approvals")
def downgrade() -> None:
op.add_column(
"tasks",
sa.Column("pm_approvals", sa.JSON, nullable=False, server_default="{}"),
)