#!/usr/bin/env python3
"""2026-10-30 verify: higgsfield offer terms, Pika H3 Flex reactions, AIWarper/EHuanglu chronology."""
import json
from datetime import datetime, timezone, timedelta

RAW = "/home/kiro/trend-engine/trends/x/raw"
D = json.load(open(f"{RAW}/scan_results_2026-10-30_FULL.json"))
raw = D["raw"]
cutoff = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0) - timedelta(days=3)

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

print("=== HIGGSFIELD OFFER TERMS (full) ===")
for t in raw.get("higgsfield", []):
    txt = t.get("text") or ""
    if "Offer details" in txt or "Unlimited" in txt:
        print(f"\n--- {t.get('createdAt')} {t.get('likeCount')}L/{t.get('viewCount')}V reply={bool(t.get('isReply'))}")
        print(txt)
        print(f"https://x.com/higgsfield/status/{t.get('id')}")

print("\n\n=== PIKA H3 FLEX REACTION POSTS (full) ===")
for h in ["AIWarper", "ElsaSofia__AI", "azed_ai", "EHuanglu", "ItsMaryamAi", "CharaspowerAI", "Soaima_Ai"]:
    for t in raw.get(h, []):
        txt = (t.get("text") or "")
        if "H3 Flex" in txt or "Pika" in txt:
            print(f"\n--- @{h} {t.get('createdAt')} {t.get('likeCount')}L/{t.get('retweetCount')}RT/{t.get('viewCount')}V")
            print(txt[:800])

print("\n\n=== AIWARPER CHRONOLOGY ===")
rows = sorted([(t, parse_d(t["createdAt"])) for t in raw.get("AIWarper", [])
               if not t.get("retweeted_tweet") and parse_d(t["createdAt"]) >= cutoff], key=lambda r: r[1])
for t, d in rows:
    print(f"  {d.strftime('%m-%d %H:%M')} {t.get('likeCount')}L/{t.get('viewCount')}V reply={bool(t.get('isReply'))} | {(t.get('text') or '')[:240]}")

print("\n\n=== EHANGLU CHRONOLOGY ===")
rows = sorted([(t, parse_d(t["createdAt"])) for t in raw.get("EHuanglu", [])
               if not t.get("retweeted_tweet") and parse_d(t["createdAt"]) >= cutoff], key=lambda r: r[1])
for t, d in rows:
    print(f"  {d.strftime('%m-%d %H:%M')} {t.get('likeCount')}L/{t.get('viewCount')}V reply={bool(t.get('isReply'))} | {(t.get('text') or '')[:200]}")

print("\n\n=== CHARASPOWERAI CHRONOLOGY ===")
rows = sorted([(t, parse_d(t["createdAt"])) for t in raw.get("CharaspowerAI", [])
               if not t.get("retweeted_tweet") and parse_d(t["createdAt"]) >= cutoff], key=lambda r: r[1])
for t, d in rows:
    print(f"  {d.strftime('%m-%d %H:%M')} {t.get('likeCount')}L/{t.get('viewCount')}V reply={bool(t.get('isReply'))} | {(t.get('text') or '')[:170]}")

print("\n\n=== RUNWAY / VENTURETWINS / C_VALENZUELA newest ===")
for h in ["runwayml","venturetwins","c_valenzuelab"]:
    rows = sorted([(t, parse_d(t["createdAt"])) for t in raw.get(h, [])], key=lambda r: r[1], reverse=True)[:5]
    print(f"\n-- @{h}")
    for t, d in rows:
        print(f"  {d.strftime('%m-%d %H:%M')} {t.get('likeCount')}L/{t.get('viewCount')}V | {(t.get('text') or '')[:200]}")
