#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Siapkan prompt baru untuk job `threads-all-harian` (16e1f3f8170d).

Perintah Bos 5 Okt 2026: nada sosmed (termasuk Threads) = SANTAl, sedangkan artikel website tetap
humanis-resmi/B2B. Script ini hanya MENGGANTI baris nada di prompt lama (merge, bukan tulis ulang),
lalu menyimpan ke /tmp/prompt_threads_new.txt + backup jobs.json.
"""
import json
import shutil
import sys

JOBS = "/home/mantapman/.hermes/profiles/atun/cron/jobs.json"
JID = "16e1f3f8170d"
OUT = "/tmp/prompt_threads_new.txt"

j = json.load(open(JOBS))
jobs = j.get("jobs", j)
if isinstance(jobs, list):
    jobs = {x.get("id"): x for x in jobs}
p = jobs[JID]["prompt"]

ganti = [
    (
        "Masing-masing minimal 5 kalimat/2 paragraf, bahasa Indonesia, gaya \"saya\" (bukan \"gue\").",
        "Masing-masing minimal 5 kalimat/2 paragraf, bahasa Indonesia, **gaya ngobrol (santai)** — lihat\n"
        "bagian NADA SOSMED di bawah. Bukan \"gue\"/bahasa alay.",
    ),
    (
        "- Bahasa Indonesia, pakai \"saya\" bukan \"gue\"",
        "- Bahasa Indonesia santai (nggak kaku, nggak baku banget), jangan \"gue\"/alay",
    ),
    (
        "- \"Menurut Anda bagaimana? Yuk tulis pendapatmu di kolom komentar.\"",
        "- \"Menurut kamu gimana? Tulis di kolom komentar ya.\"",
    ),
    (
        "- Gaya: personal / bisnis / AI, bahasa percakapan, sudut pandang \"saya\". Hook (baris pertama) WAJIB beda tiap hari.",
        "- Gaya: personal / bisnis / AI, bahasa percakapan santai, sudut pandang \"aku\" (akun personal) atau\n"
        "  \"kami\" (akun brand). Hook (baris pertama) WAJIB beda tiap hari.",
    ),
]

for lama, baru in ganti:
    if lama not in p:
        print("⚠️ tidak ketemu: %r" % lama[:60])
        continue
    p = p.replace(lama, baru)
    print("✅ diganti: %r" % lama[:60])

tambahan = """
## NADA SOSMED — SANTAI (perintah Bos 5 Okt 2026)

Bos: *"untuk website lebih humanis tapi tetap resmi dan sifatnya untuk B2B, namun jika untuk social media
gunakan bahasa yang lebih santai, termasuk di threads."*

- **Semua caption Threads = bahasa ngobrol.** Pakai **"kamu"** untuk pembaca, JANGAN "Anda". Sapaan resmi
  ("Anda", "apabila", "tersebut", "merupakan") termasuk tanda nada website, bukan nada Threads.
- Sudut pandang: akun **personal** (@ukyhandoko, Soto Pak Otto) pakai **"aku"**; akun **brand**
  (StudioSoft, TSC, TSLaw, DAS, EveryBe) pakai **"kami"** atau tanpa subjek.
- Boleh kata sehari-hari: "nggak", "banget", "gimana", "kepake", "ngobrol", "coba". Kalimat pendek,
  satu gagasan per kalimat. Tetap sopan: jangan "gue", jangan alay, jangan SARA/politik/serang kompetitor.
- Nada santai BUKAN alasan melanggar aturan lama: tetap ≤500 char, ada link artikel website sendiri,
  ada ajakan komentar di ekor, hashtag huruf kecil, tanpa mention antar akun kita, 0 teks CJK.
- Kalau materi diambil dari artikel website (yang nadanya resmi/B2B), **sadur dulu** jadi bahasa ngobrol —
  jangan tempel kalimat artikel apa adanya. Contoh: "Pemilik brand perlu memastikan produknya legal"
  → "yang penting produknya udah legal".
"""

p = p.rstrip() + "\n" + tambahan

shutil.copy(JOBS, JOBS + ".bak-20261005-nada")
open(OUT, "w").write(p)
print("prompt lama %d char -> baru %d char" % (len(jobs[JID]["prompt"]), len(p)))
print("disimpan: %s (backup jobs.json: %s)" % (OUT, JOBS + ".bak-20261005-nada"))
