#!/usr/bin/env python3
"""Generator konten Threads harian 29 Sep 2026 (job 04:00 WIB).

Sumber materi = artikel WEBSITE SENDIRI, semua sudah dicek FRESH
(belum pernah dipakai di jadwal Repliz mana pun) via cek_fresh_29.py / cek_fresh_ss.py:
  - studiosoft : https://studiosoft.id/apa-itu-geo-generative-engine-optimization/
  - uky        : https://studiosoft.id/bikin-konten-pakai-ai-boleh-asal-tahu-batasnya/
  - tslaw      : https://www.tslaw.id/7-langkah-aman-jual-beli-tanah-secara-hukum-agar-tidak-sengketa-di-kemudian-hari/
  - tsc        : https://www.theskincodeclinic.com/perawatan-bekas-jerawat-krian/
  - das        : https://dasindonesia.com/tanda-mobil-mewah-butuh-perawatan-khusus-jangan-abaikan-gejala-ini/
"""
import json, re, sys

NL = "\n"
CJK = re.compile(r"[\u3000-\u303f\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uff00-\uffef]")
CTA = re.compile(r"komentar|pendapat|diskusi|setuju|share|pengalaman|menurut", re.I)
MENTION = re.compile(r"@\w+")

items = [
    {
        "account": "studiosoft",
        "slot": 11,
        "text": (
            "Saya melihat cara orang mencari informasi berubah. Dulu mengetik kata kunci di Google, sekarang banyak yang langsung bertanya ke AI." + NL + NL +
            "Di sinilah GEO masuk. Tujuannya bukan hanya peringkat, tapi membuat konten kita dikutip sebagai sumber jawaban. Struktur konten, data, dan otoritas situs jadi penentu." + NL + NL +
            "https://studiosoft.id/apa-itu-geo-generative-engine-optimization/" + NL + NL +
            "Menurut Anda, SEO masih relevan atau sudah waktunya belajar GEO? Tulis pendapatmu di komentar."
        ),
    },
    {
        "account": "uky",
        "slot": 14,
        "text": (
            "Saya memakai AI setiap hari untuk menyusun draf, merapikan jadwal, dan menjawab pertanyaan berulang." + NL + NL +
            "Tapi ada batas yang saya pegang. Data tetap diverifikasi manusia, sudut pandang tetap milik kita, dan tidak ada klaim yang tak bisa dipertanggungjawabkan. Pembaca cepat merasakan mana tulisan yang benar-benar dipikirkan." + NL + NL +
            "https://studiosoft.id/bikin-konten-pakai-ai-boleh-asal-tahu-batasnya/" + NL + NL +
            "Menurut Anda, di mana batas wajar penggunaan AI dalam bekerja? Share pendapatmu di komentar."
        ),
    },
    {
        "account": "tslaw",
        "slot": 17,
        "text": (
            "Saya sering menemui pembeli tanah yang baru sadar ada masalah setelah akta ditandatangani. Padahal risikonya bisa dicegah sejak awal." + NL + NL +
            "Kuncinya: verifikasi sertifikat di BPN, cocokkan data fisik dan yuridis, pastikan PBB penjual lunas, lalu transaksi di hadapan PPAT. Urutan ini yang membuat peralihan hak sah." + NL + NL +
            "https://www.tslaw.id/7-langkah-aman-jual-beli-tanah-secara-hukum-agar-tidak-sengketa-di-kemudian-hari/" + NL + NL +
            "Menurut Anda, langkah mana yang paling sering dilewatkan? Tulis di komentar."
        ),
    },
    {
        "account": "tsc",
        "slot": 20,
        "allow_if_no_ownlink": True,
        "text": (
            "Saya sering menerima pasien yang sudah habis banyak produk pemudar, tapi bekas jerawatnya tidak berubah. Sumbernya kerusakan kolagen, bukan sekadar warna kulit." + NL + NL +
            "Karena itu jenisnya harus dikenali dulu. Bekas cekung seperti ice pick butuh penanganan berbeda dari noda gelap. Setelah jelas, baru treatment medis dan perawatan pendukung ditentukan." + NL + NL +
            "https://www.theskincodeclinic.com/perawatan-bekas-jerawat-krian/" + NL + NL +
            "Mana yang lebih mengganggu: bekas cekung atau noda gelap? Ceritakan di komentar!"
        ),
    },
    {
        "account": "das",
        "slot": 23,
        "allow_if_no_ownlink": True,
        "text": (
            "Saya sering menerima mobil premium yang pemiliknya bilang masih nyaman dipakai, padahal ada gejala awal yang sudah muncul." + NL + NL +
            "Mobil mewah punya mesin bertenaga besar, transmisi canggih, dan banyak sensor elektronik. Semua itu menuntut perawatan presisi, dan menunda perbaikan hampir selalu berujung biaya jauh lebih besar." + NL + NL +
            "https://dasindonesia.com/tanda-mobil-mewah-butuh-perawatan-khusus-jangan-abaikan-gejala-ini/" + NL + NL +
            "Pernah mengalami gejala yang awalnya dianggap sepele? Share di kolom komentar!"
        ),
    },
]

out = {"date": "2026-09-29", "accounts": items}
bad = 0
for it in items:
    t = it["text"]
    problems = []
    if len(t) > 500:
        problems.append("LEN=%d >500" % len(t))
    if not re.search(r"https?://\S+", t):
        problems.append("TANPA LINK")
    if not CTA.search(t[-220:]):
        problems.append("TANPA CTA")
    if MENTION.search(t):
        problems.append("ADA MENTION")
    if CJK.search(t):
        problems.append("ADA CJK")
    if "..." in t:
        problems.append("ADA ELIPSIS")
    if len([s for s in re.split(r"[.!?]", t) if len(s.strip()) > 12]) < 5:
        problems.append("KALIMAT <5")
    if "#" in t:
        tags = re.findall(r"#(\w+)", t)
        if any(x != x.lower() for x in tags):
            problems.append("HASHTAG KAPITAL")
    print("%-11s slot %2d  len=%3d  %s" % (it["account"], it["slot"], len(t),
                                           "OK" if not problems else " | ".join(problems)))
    if problems:
        bad += 1

if bad:
    print("❌ %d item bermasalah" % bad)
    sys.exit(1)

path = "/home/mantapman/.hermes/profiles/atun/workspace/threads_content_today.json"
with open(path, "w") as f:
    json.dump(out, f, ensure_ascii=False, indent=1)
print("✅ tulis", path)
