#!/usr/bin/env python3
"""Generate + validasi konten Threads harian 2026-10-01 (slot tsc 20:00, das 23:00).

Guard: SS/uky/tslaw SKIP (sudah ada jadwal same-day ber-link domain sendiri —
precedent 22/24/25/28 Sep). Validasi: ada link, ada CTA komentar, tanpa @mention,
<=500 char, hashtag lowercase, tanpa teks CJK.
"""
import json
import re
import sys

sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")

TSC_LINK = "https://www.theskincodeclinic.com/kebiasaan-bikin-kulit-kehilangan-kenyal-3/"
DAS_LINK = "https://dasindonesia.com/bengkel-spesialis-overhaul-mobil-surabaya-kapan-dibutuhkan/"

TSC_PARTS = [
    "Kekenyalan kulit tidak hilang dalam semalam, tapi pelan-pelan tanpa disadari. "
    "Pasien saya sering baru sadar setelah melihat foto lama.",
    "Penyebabnya kebiasaan harian yang dianggap sepele: jarang pakai sunscreen, kurang tidur, "
    "sampai sering ganti produk keras tanpa panduan.",
    "Selengkapnya: " + TSC_LINK,
    "Menurut Anda, kebiasaan mana yang paling sulit diubah? Komentar ya.",
    "#kulitsehat #dokterkulitkrian #skincare",
]

DAS_PARTS = [
    "Mesin jarang rusak mendadak. Saya sering menerima mobil yang masih bisa diselamatkan, "
    "tapi pemiliknya menunggu terlalu lama.",
    "Tarikan lesu, oli cepat berkurang, dan suara mesin kasar adalah tanda yang sering "
    "diabaikan. Dibiarkan, biayanya membengkak.",
    "Selengkapnya: " + DAS_LINK,
    "Menurut Anda, gejala mana yang paling sering diabaikan? Komentar di bawah!",
    "#overhaulmesin #bengkelmobilsurabaya #perawatanmobil",
]

TSC = "\n\n".join(TSC_PARTS)
DAS = "\n\n".join(DAS_PARTS)

CJK = re.compile(r"[\u3000-\u303f\u3040-\u30ff\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff00-\uffef]")
CTA = re.compile(r"komentar|pendapat|diskusi|setuju|share|pengalaman", re.I)
MENTION = re.compile(r"@\w+")
URL = re.compile(r"https?://\S+")

items = [
    {"account": "tsc", "slot": 20, "text": TSC},
    {"account": "das", "slot": 23, "text": DAS},
]

ok = True
for it in items:
    t = it["text"]
    checks = {
        "len<=500": len(t) <= 500,
        "link": bool(URL.search(t)),
        "cta": bool(CTA.search(t)),
        "no_mention": not MENTION.search(t),
        "no_cjk": not CJK.search(t),
        "hashtag_lower": all(h == h.lower() for h in re.findall(r"#(\w+)", t)),
        "min2paragraf": t.count("\n\n") >= 2,
    }
    bad = [k for k, v in checks.items() if not v]
    print(f"{it['account']}: len={len(t)} " + ("OK" if not bad else "GAGAL " + str(bad)))
    for part in it["text"].split("\n\n"):
        print(f"    [{len(part)}] {part[:70]}")
    if bad:
        ok = False

out = {"date": "2026-10-01", "accounts": items}
json.dump(out, open("/home/mantapman/.hermes/profiles/atun/workspace/threads_content_today.json", "w"),
          indent=2, ensure_ascii=False)
print("ditulis: threads_content_today.json")
sys.exit(0 if ok else 1)
