#!/usr/bin/env python3
"""2026-10-22 part4: new model names + Flovaai fresh posts + bucket AI-relevant count."""
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)

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

TERMS = ["claude duet", "topview", "starlight precise", "onsolo", "firefly", "viggle", "jst-2",
         "gpt sunburst", "flux max", "flux 3 max", "dreamina", "$0.29", "$0.60", "kling 4",
         "genjutsu", "wan 3.0 prime", "seedance 2.5"]
print("=== NEW-TERM SCAN (all fetched raw, incl out-of-window) ===")
for t in TERMS:
    hits = []
    for h, rs in raw.items():
        for r in rs:
            if t in (r.get("text") or "").lower():
                hits.append((h, r.get("likeCount", 0), r.get("viewCount", 0), pdate(r["createdAt"]), r["text"][:150]))
    hits.sort(key=lambda x: -x[3].timestamp())
    print(f"\n'{t}': {len(hits)} hit(s)")
    for h, l, v, dt, txt in hits[:3]:
        print(f"   @{h} {l}L/{v}V {dt:%m-%d %H:%M} :: {txt}")

print("\n=== @Flovaai ALL raw (chronological) ===")
for r in sorted(raw.get("Flovaai", []), key=lambda r: pdate(r["createdAt"])):
    print(f"  {pdate(r['createdAt']):%m-%d %H:%M} {r.get('likeCount')}L/{r.get('viewCount')}V :: {r['text'][:170]}")

print("\n=== BUCKET AI-RELEVANT COUNT ===")
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)
film = [x for x in q if x["handle"] in {"DiscussingFilm", "nofilmschool"}]
print("film posts:", len(film), "| AI-relevant:", sum(1 for x in film if AI_TERMS.search(x["text"])))
