#!/usr/bin/env python3
"""Verify illustrative aggregate outputs for ECOM-MARGIN-20260823."""

from __future__ import annotations

import csv
import pathlib
import sys


EXPECTED = {
    "order_lines": "18400",
    "channels": "4",
    "catalog_skus": "1240",
    "unmapped_marketplace_ids": "96",
    "flip_skus": "3",
    "return_rate": "8.4",
}


def main() -> int:
    path = pathlib.Path(__file__).with_name("sku-summary-ECOM-MARGIN-20260823.csv")
    with path.open(newline="", encoding="utf-8") as handle:
        rows = list(csv.DictReader(handle))
    observed = {row["metric"]: row["value"] for row in rows if row["status"] == "published"}
    held = [row for row in rows if row["status"].startswith("held_")]
    if observed != EXPECTED or len(held) != 2:
        print("FAIL: aggregate outputs or held actions are incorrect.", file=sys.stderr)
        return 1
    if any(row["value"] for row in held):
        print("FAIL: a held action exposes a result.", file=sys.stderr)
        return 1
    print("OK: six aggregates and two held actions verified.")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
