"""Generate Retention Studio strategy artifacts and pilot mechanism explainers."""

from __future__ import annotations

import json
import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

from autoshorts.retention_studio import (
    PILOT_IDEAS,
    build_mechanism_explainer,
    build_retention_studio_strategy,
    score_idea,
)


def main() -> None:
    output_dir = Path("data/retention_studio")
    output_dir.mkdir(parents=True, exist_ok=True)

    strategy = build_retention_studio_strategy()
    (output_dir / "strategy.json").write_text(
        json.dumps(strategy, indent=2, ensure_ascii=False) + "\n",
        encoding="utf-8",
    )

    scored_ideas = []
    explainers = []
    for idea in PILOT_IDEAS:
        scored = {**idea, "score": score_idea(idea)}
        scored_ideas.append(scored)
        explainers.append(build_mechanism_explainer(idea))

    (output_dir / "pilot_ideas.json").write_text(
        json.dumps(scored_ideas, indent=2, ensure_ascii=False) + "\n",
        encoding="utf-8",
    )
    (output_dir / "mechanism_explainers.json").write_text(
        json.dumps(explainers, indent=2, ensure_ascii=False) + "\n",
        encoding="utf-8",
    )

    print(f"Wrote strategy and {len(scored_ideas)} pilot ideas to {output_dir}")
    for idea in scored_ideas:
        print(f"{idea['score']['total']:03d} {idea['score']['decision']:7s} {idea['pillar']}: {idea['title']}")


if __name__ == "__main__":
    main()
