"""add meta_json to messages (Спринт 6b — расширенная мета на сообщениях) Revision ID: g3a71d4fc285 Revises: f2d50c8b91a7 Create Date: 2026-04-25 19:00:00.000000 JSON-метаданные конкретной реплики ассистента: решение роутера, шаг state machine, список событий (sticky / hard_handoff / soft_insertion / resumed / routing_loop / validation_blocked). Используется в Песочнице для отображения подробных пилюль рядом с бейджем ветки. """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = 'g3a71d4fc285' down_revision: Union[str, None] = 'f2d50c8b91a7' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: with op.batch_alter_table('messages', recreate='always') as batch: batch.add_column(sa.Column('meta_json', sa.Text(), nullable=True)) def downgrade() -> None: with op.batch_alter_table('messages', recreate='always') as batch: batch.drop_column('meta_json')