#!/usr/bin/env python3
"""Hitung distribusi tone (netral/opini/sanjungan) dari hook pool yang tercatat di log."""
import json, sys
ROOT = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, ROOT)
import diskusi_engine as de

log = json.load(open(ROOT + "/image_posting_log.json"))
n = 0
hits = []
for e in log:
    cap = e.get("caption_final") or ""
    if not cap:
        continue
    found = None
    for ind, tones in de.PANCINGAN.items():
        for tone, hooks in tones.items():
            for h in hooks:
                if h and h in cap:
                    found = (ind, tone, h)
    if found:
        n += 1
        hits.append((e.get("item_id"), found[0], found[1]))

print("entri log dgn hook pool:", n)
from collections import Counter
c = Counter(t for _, _, t in hits)
print(c)
for base in ("netral", "opini", "sanjungan"):
    tot = n + 1
    cc = dict(c)
    cc[base] = cc.get(base, 0) + 1
    pn = 100 * cc.get("netral", 0) / tot
    po = 100 * cc.get("opini", 0) / tot
    ps = 100 * cc.get("sanjungan", 0) / tot
    dev = abs(pn - 60) + abs(po - 25) + abs(ps - 15)
    print(f"+{base:9s} -> {cc.get('netral',0)}/{cc.get('opini',0)}/{cc.get('sanjungan',0)} "
          f"= {pn:.1f}/{po:.1f}/{ps:.1f} dev {dev:.2f}")
print("\n20 entri terakhir yg match:")
for h in hits[-20:]:
    print("  ", h)
