#!/usr/bin/env python3
"""2026-10-22 verify: offer phrases, tier-2, film AI audit, full texts of key posts."""
import json, re
from datetime import datetime, timezone, timedelta

DATE = "2026-10-22"
d = json.load(open(f"/home/kiro/trend-engine/trends/x/raw/scan_results_{DATE}_FULL.json"))
q, raw = d["qualifying"], d["raw"]
now = datetime.now(timezone.utc)
WIN = now - timedelta(days=3)

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

print("=== FULL TEXT: key posts ===")
for want in ["2112967338375238072", "2112545622792527872", "2112923547563917801",
             "2112980072240238723", "2112786463557353785", "2112648165090582803"]:
    for x in q:
        if want in x["url"]:
            print(f"\n@{x['handle']} | {x['likes']}L {x['rt']}RT {x['replies']}R {x['views']}V | {x['date']}")
            print(x["text"])
            break

# quote target of EHuanglu rank 9
print("\n=== EHuanglu rank-9 raw quote target ===")
for r in raw.get("EHuanglu", []):
    if str(r.get("id")) == "2112980072240238723":
        qt = r.get("quoted_tweet")
        print("quoted:", json.dumps(qt, ensure_ascii=False)[:500] if qt else None)
        print("media:", r.get("media") if not isinstance(r.get("media"), list) else [m.get("type") for m in r["media"]])

print("\n=== TIER-2 STATUS ===")
TIER2 = ["CuriousRefuge", "paultrillo", "JeffSynthesized", "CorridorDigital",
         "ai_filmmaker", "visiblemaker", "Magiermogul", "JiamingSuen",
         "moonvalley", "Chandan_Perla"]
qh = {}
for x in q:
    qh.setdefault(x["handle"], []).append(x)
silent = [h for h in TIER2 if h not in qh]
for h in TIER2:
    if h in qh:
        print(f"  @{h}: {len(qh[h])} qualifying, best {max(x['likes'] for x in qh[h])}L")
    else:
        print(f"  @{h}: ZERO")
print(f"silent {len(silent)}/{len(TIER2)}")

print("\n=== FILM-INDUSTRY AI-TERM AUDIT ===")
AI_TERMS = re.compile(r"\b(ai\b|a\.i\.|seedance|kling|runway|veo|sora|minimax|hailuo|higgsfield|"
                      r"midjourney|nano ?banana|gpt-?[0-9.]*|chatgpt|gemini|generative|"
                      r"render|vfx|ai film|aifilm|grokbot|motion capture|deepfake|davinci|"
                      r"blender|autocad|storyboard|(ai|3d|generated) ?animation|diffusion|comfyui|"
                      r"(?<!\bfilm )(?<!\bfilm-)(?<!\bscreenplay )(?<!\bscreenplay-)\bprompt)", re.I)
for x in q:
    if x["handle"] in {"DiscussingFilm", "nofilmschool"}:
        m = AI_TERMS.search(x["text"])
        if m:
            print(f"  @{x['handle']} term={m.group(0)} | {x['likes']}L/{x['views']}V | {x['text'][:130]}")

print("\n=== OFFER / ARBITRAGE GREP (in-window only) ===")
PATTERNS = {
    "Flova x Seedance offer": r"flova\s*[x×]\s*seedance|up to 80% off|\\$0\.0(22|44)\s*/sec",
    "CapCut Black Friday": r"capcut.{0,60}(black friday|60% off|40% off)|black friday.{0,40}capcut",
    "DaVinci Resolve sale": r"davinci.{0,40}(20%|sale|off)",
    "Topaz 50% off": r"topaz.{0,60}(50%|off|adobe)",
    "Higgsfield Genjutsu": r"genjutsu",
    "Higgsfield Wan 3.0": r"wan\s*3\.0",
    "Kling 4.0": r"kling\s*4\.0",
    "Dreamina $1.50": r"dreamina.{0,80}(1\.50|\\$1\.5)",
    "freebeat challenge": r"freebeat|lyric video challenge",
    "Qoder free DeepSeek": r"qoder",
    "Nebius grants": r"nebius",
    "Seedance 2.5": r"seedance\s*2\.5",
    "MiniMax": r"minimax",
    "Viggle JST-2": r"viggle|jst-2",
    "Magnific": r"magnific",
    "Nano Banana": r"nano ?banana",
    "Dolphin AI": r"dolphin ai",
    "Air credits": r"\\bair\\b.{0,30}(credit|free)",
    "Higgsfield cashback": r"cashback",
    "Ads Studio / Ad Multiplier": r"ad(s)? studio|ad multiplier",
    "filmera": r"filmera",
    "Higgsfield Academy": r"academy",
    "Free credits (generic)": r"free (credits|tokens|generations|access)",
    "FLUX 3": r"flux\s*3",
}
for name, pat in PATTERNS.items():
    rx = re.compile(pat, re.I)
    hits = [x for x in q if rx.search(x["text"])]
    print(f"\n{name}: {len(hits)} hit(s)")
    for x in sorted(hits, key=lambda t: -t["score"])[:4]:
        print(f"   @{x['handle']} {x['likes']}L/{x['views']}V {x['date']} :: {x['text'][:180]}")

print("\n=== ARRIVAL CHECK (new-ish handles inside core top 10) ===")
FILM = {"DiscussingFilm", "nofilmschool"}
IRR = {"AIBuzzNews","AIGuideHQ","AITECHio","AIFrontliner","TheAIColony","AITOPIAai","GoogleLabs",
       "GoogleAI","DonutAI","cladlabs","FaithJaiye2187","KammelaBala","MyStageAI","AlexStudio44",
       "AI_with_jasmin","Ai_Vaidehi","ChrisLaubAI","CINEMA505","AIScottAdams","AISuperDomain",
       "AI_Jasonyu","AIByLeo"}
LABS = {"OpenAI", "AnthropicAI"}
core = sorted([x for x in q if x["handle"] not in FILM | IRR | LABS], key=lambda x: -x["score"])
print("core top10 handles:", [x["handle"] for x in core[:10]])
print("any non-core in top10:", [h for h in [x["handle"] for x in core[:10]] if h in FILM | IRR | LABS])
