"""Model registry — importing this package registers every table on
Base.metadata. Keep the module list in sync with alembic/env.py;
tests/test_models.py asserts the expected table count so a dropped
import can't silently shrink the schema.
"""
from .base import Base  # noqa: F401
from . import (  # noqa: F401
    assistant,
    catalog,
    garden,
    history,
    identity,
    notes,
    planting,
    reminders,
    search,
    weather,
)

EXPECTED_TABLES = {
    # identity
    "users", "gardens", "garden_members",
    # garden domain (carried)
    "areas", "watering_stations", "area_stations", "supplies", "years",
    # catalog + planting (carried + planner cols)
    "species", "varieties", "plantings", "plants",
    # notes (carried + dual-voice)
    "field_notes", "field_note_targets",
    "notes", "note_targets", "note_media", "note_revisions",
    # assistant + chat (carried + new)
    "chat_sessions", "chat_messages", "tool_suggestions",
    "assistants", "assistant_templates", "onboarding_sessions",
    # reminders + notifications
    "scheduled_actions", "care_rules", "reminder_events",
    "notification_channels", "notification_dispatches",
    # search + weather
    "embeddings", "weather_daily",
    # history + AI bookkeeping
    "activity_log", "overview_versions", "artifacts",
    "pipeline_runs", "resolver_feedback", "ai_usage",
}
