"""suggestion_threshold default 0.50 → 0.70

Revision ID: 0033
Revises: 0032
Create Date: 2026-06-02

Operator-flagged 2026-06-02 — the 0.50 default (set on 2026-06-01) is
too noisy in practice; raise to 0.70 for both suggestion categories.

Only conditionally updates singletons whose current value is still the
2026-06-01 default (0.50). Operators who deliberately tuned their row
to some other value (0.55, 0.65, 0.80, etc. via the Settings UI) keep
their pick — the migration only catches the unchanged-default case.
"""
from typing import Sequence, Union

from alembic import op

revision: str = "0033"
down_revision: Union[str, None] = "0032"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    op.execute(
        "UPDATE ml_settings "
        "SET suggestion_threshold_character = 0.70 "
        "WHERE id = 1 AND suggestion_threshold_character = 0.50"
    )
    op.execute(
        "UPDATE ml_settings "
        "SET suggestion_threshold_general = 0.70 "
        "WHERE id = 1 AND suggestion_threshold_general = 0.50"
    )


def downgrade() -> None:
    op.execute(
        "UPDATE ml_settings "
        "SET suggestion_threshold_character = 0.50 "
        "WHERE id = 1 AND suggestion_threshold_character = 0.70"
    )
    op.execute(
        "UPDATE ml_settings "
        "SET suggestion_threshold_general = 0.50 "
        "WHERE id = 1 AND suggestion_threshold_general = 0.70"
    )
