from __future__ import annotations

import argparse
import json
from pathlib import Path


def build_parser() -> argparse.ArgumentParser:
  parser = argparse.ArgumentParser(
    description="Evaluation helper for the phishing-triage fine-tuning project.",
  )
  parser.add_argument(
    "--predictions",
    required=True,
    help="Path to a JSON file containing model predictions.",
  )
  return parser


def main() -> None:
  parser = build_parser()
  args = parser.parse_args()

  prediction_path = Path(args.predictions)
  predictions = json.loads(prediction_path.read_text(encoding="utf-8"))

  total = len(predictions)
  correct = sum(1 for item in predictions if item["expected_label"] == item["predicted_label"])
  accuracy = correct / total if total else 0.0

  print(json.dumps({"total": total, "correct": correct, "accuracy": accuracy}, indent=2))


if __name__ == "__main__":
  main()
