#!/usr/bin/env python3
"""Putaran 3 uji fakta: pelaporan RUPS ke SABH, PP 30/2026, kriteria UMK."""
import json, urllib.request

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
tok = json.load(open(f"{WS}/.serper_token.json"))
KEY = tok.get("api_key") or tok.get("key") or list(tok.values())[0]


def cari(q):
    req = urllib.request.Request("https://google.serper.dev/search",
                                 data=json.dumps({"q": q, "gl": "id", "hl": "id", "num": 5}).encode(),
                                 headers={"X-API-KEY": KEY, "Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=60) as r:
        d = json.load(r)
    return d.get("answerBox") or d.get("knowledgeGraph") or None, [
        {"t": o.get("title"), "s": (o.get("snippet") or "")[:300], "u": o.get("link")}
        for o in d.get("organic", [])[:5]]


QS = [
    "kewajiban pelaporan hasil RUPS tahunan PT ke SABH Kementerian Hukum peraturan menteri",
    "PP 30 tahun 2026 tarif PNBP Kementerian Hukum berlaku 1 Agustus 2026 pendirian PT",
    "kriteria usaha mikro dan kecil PP 7 tahun 2021 modal usaha maksimal kekayaan bersih",
    "perubahan data perseroan wajib didaftarkan SABH direksi alamat pemegang saham Pasal 94 UUPT",
]
for q in QS:
    try:
        ab, org = cari(q)
    except Exception as e:
        print("=" * 95); print("Q:", q); print("GAGAL:", type(e).__name__, str(e)[:160]); continue
    print("=" * 95)
    print("Q:", q)
    if ab:
        print("ANSWERBOX:", json.dumps(ab, ensure_ascii=False)[:500])
    for o in org:
        print("  -", str(o["t"])[:88], "|", o["u"])
        print("    ", o["s"][:280])
