from __future__ import annotations

from app.config import settings


FEATURE_FLAG_NAMES = (
    "ENABLE_RETROSPECTIVE",
    "ENABLE_SESSION_RETROSPECTIVE_SEARCH",
    "ENABLE_RUNTIME_SKILL_SHORTLIST",
    "ENABLE_LEARNING_SIGNALS",
    "ENABLE_SKILL_PROMOTION",
    "ENABLE_LEARNED_SKILL_LOADING",
    "ENABLE_PARALLEL_TASK_GRAPH",
)


class RollbackController:
    def snapshot_flags(self) -> dict[str, bool]:
        return {
            flag_name: bool(getattr(settings, flag_name, False))
            for flag_name in FEATURE_FLAG_NAMES
        }

    def is_enabled(self, flag_name: str) -> bool:
        return bool(getattr(settings, flag_name, False))
