#!/usr/bin/env python3
"""Add synthetic truncation coverage for the Sprint 7C-D browser matrix."""
from __future__ import annotations

import sqlite3
import sys
from datetime import date, timedelta
from pathlib import Path


def main(database: Path) -> None:
    variants = (
        "truncation item",
        "Truncation item",
        "tRuncation item",
        "trUncation item",
        "truNcation item",
        "trunCation item",
        "truncAtion item",
        "truncaTion item",
        "truncatIon item",
    )
    connection = sqlite3.connect(database)
    try:
        next_id = int(connection.execute("SELECT COALESCE(MAX(id),0)+1 FROM nutrition_items").fetchone()[0])
        start = date(2026, 5, 13)
        rows = []
        for offset in range(33):
            identifier = next_id + offset
            day = (start + timedelta(days=offset)).isoformat()
            rows.append(
                (
                    identifier,
                    "synthetic_7cd",
                    f"synthetic-7cd-{offset}",
                    day,
                    "dinner",
                    variants[offset % len(variants)],
                    f"synthetic-7cd-hash-{offset}",
                    "2026-06-15T12:00:00+00:00",
                    "2026-06-15T12:00:00+00:00",
                )
            )
        connection.executemany(
            """INSERT INTO nutrition_items
               (id,source,source_item_id,datum,meal,name,item_hash,imported_at,updated_at)
               VALUES(?,?,?,?,?,?,?,?,?)""",
            rows,
        )
        connection.commit()
    finally:
        connection.close()


if __name__ == "__main__":
    if len(sys.argv) != 2:
        raise SystemExit("usage: dashboard_v5_sprint7c_d_fixture.py DATABASE")
    main(Path(sys.argv[1]))
