#!/usr/bin/env python3
"""Is the FETCHED ID SET frozen across days? A live account posting 12x/day must
rotate ids. Identical id sets over 2+ days = GetXAPI serving a cached page."""
import json
from datetime import datetime

RAW = "/home/kiro/trend-engine/trends/x/raw/"
DATES = ["2026-11-06", "2026-11-07", "2026-11-08", "2026-11-09"]
snaps = {d: json.load(open(RAW + f"scan_results_{d}_FULL.json"))["raw"] for d in DATES}
handles = sorted(set().union(*[set(s.keys()) for s in snaps.values()]))

def pdt(s):
    return datetime.strptime(s, "%a %b %d %H:%M:%S %z %Y")

print(f"{'handle':20s} {'n06':>4s} {'n07':>4s} {'n08':>4s} {'n09':>4s}  id-set identical across  (07=08=09)?")
frozen = []
for h in handles:
    sets = []
    ns = []
    for d in DATES:
        tw = snaps[d].get(h) or []
        ns.append(len(tw))
        sets.append(frozenset(t.get("id") for t in tw))
    eq_789 = (sets[1] == sets[2] == sets[3]) and len(sets[3]) > 0
    ov_89 = len(sets[2] & sets[3]); 
    tag = ""
    if eq_789: tag = "*** FROZEN 3 DAYS ***"; frozen.append(h)
    elif sets[2] == sets[3] and len(sets[3]) > 0: tag = "frozen 08=09"
    print(f"{h:20s} {ns[0]:4d} {ns[1]:4d} {ns[2]:4d} {ns[3]:4d}  overlap08/09={ov_89:2d}/{ns[3]:2d}  {tag}")
print("\nFROZEN 3-DAY handles:", len(frozen), frozen)
