import json,re
from datetime import datetime,timezone
RAW="/home/kiro/trend-engine/trends/x/raw"
d=json.load(open(f"{RAW}/scan_results_2026-11-12_FULL.json"))
prev=json.load(open(f"{RAW}/scan_results_2026-11-11_FULL.json"))
CUT=datetime(2026,11,9,tzinfo=timezone.utc);FMT="%a %b %d %H:%M:%S %z %Y"
q=d['qualifying']
IRR_A={"AIBuzzNews","AIGuideHQ","AITECHio","AIFrontliner","TheAIColony","AITOPIAai","AISuperDomain",
 "GoogleLabs","GoogleAI","DonutAI","cladlabs","FaithJaiye2187","KammelaBala","MyStageAI","AlexStudio44",
 "AI_with_jasmin","Ai_Vaidehi","ChrisLaubAI","OpenAI","AnthropicAI","CINEMA505","AIScottAdams","AI_Jasonyu","AIByLeo",
 "interesting_aIl","hubermanlab","NVIDIAAI","Teamily_AI","EinsiaAI","numerai","openart_ai","different_ai","via_ai_",
 "AIsaOneHQ","AiWithTariq","Lab_for_Men","dai2noyuyuta","uns__nstudio","Nevermined_ai","AidenChaoyangHe","MysticTrioAi"}
FILM={"DiscussingFilm","nofilmschool"}
HEALTH={"hubermanlab"}; LABS={"OpenAI","AnthropicAI","NVIDIAAI","GoogleAI","GoogleLabs"}; OFF={"interesting_aIl"}
core=[x for x in q if x['handle'] not in IRR_A and x['handle'] not in FILM]
film=[x for x in q if x['handle'] in FILM]
irr=[x for x in q if x['handle'] in IRR_A and x['handle'] not in LABS|OFF|HEALTH]
labs=[x for x in q if x['handle'] in LABS]
off=[x for x in q if x['handle'] in OFF]
hea=[x for x in q if x['handle'] in HEALTH]
print("core",len(core),"film",len(film),"irrelevant",len(irr),"labs",len(labs),"offtopic",len(off),"health",len(hea),"sum",len(core)+len(film)+len(irr)+len(labs)+len(off)+len(hea),"total",len(q))
core.sort(key=lambda x:-x['score'])
print("top10 cutoff",core[9]['score'],"rank11",core[10]['score'],"rank12",core[11]['score'])
print("\n-- organic-only core top 10 --")
org=[x for x in core if x['views'] and x['likes']/x['views']*100>=0.10]
for i,x in enumerate(org[:10],1): print(f"{i}|@{x['handle']}|{x['likes']}L|{x['likes']/x['views']*100:.3f}%|{x['url']}")

print("\n-- FILM bucket --")
for x in sorted(film,key=lambda y:-y['score'])[:6]: print(f"  @{x['handle']} {x['likes']}L/{x['views']}V | {x['text'][:110]}")
ai_film=[x for x in film if re.search(r'\bAI\b|\bVFX\b|artificial',x['text'])]
print(" film AI-term matches:",len(ai_film))

print("\n-- MARGINAL PAID CHECK (core grew since yesterday) --")
prevq={x['url'].rstrip('/').split('/')[-1]:x for x in prev['qualifying']}
sus=[]
for x in core:
    tid=x['url'].rstrip('/').split('/')[-1]; p=prevq.get(tid)
    if not p: continue
    dl=x['likes']-p['likes']; dv=x['views']-p['views']
    if dv<=0: continue
    vpl = dv/dl if dl>0 else float('inf')
    flag=" <== VIEW PUSH" if (dl==0 or vpl>1000) else ""
    print(f"  @{x['handle']} +{dl}L/+{dv}V = {vpl:.0f}v/like{flag} | {x['text'][:60]}")
print("\n-- NEW TODAY (not in yesterday's qualifying) --")
for x in core:
    tid=x['url'].rstrip('/').split('/')[-1]
    if tid not in prevq: print(f"  @{x['handle']} {x['likes']}L/{x['views']}V {x['date']} | {x['text'][:80]}")
