#!/usr/bin/env python3
"""Tambahkan aturan STANDAR DESAIN BARU (16 Sep 2026) ke prompt cron terkait gambar."""
import json
import subprocess
import sys

JOBS = "/home/mantapman/.hermes/profiles/atun/cron/jobs.json"
TARGETS = {
    "f7e00ade8034": "studiosoft-healthcare-carousel-harian",
    "563618b0f31b": "daily-image-posting-all",
}

RULE = """

## 🎨 STANDAR DESAIN GAMBAR (FIXED 16 Sep 2026 — perintah Bos, WAJIB)
Semua gambar/carousel yang digenerate & diposting WAJIB pakai standar BARU:
- Layout: RATA KIRI, satu blok di TENGAH vertikal (jarak atas = jarak bawah), TANPA garis separator (jangan ada tick "-----"), bullet pakai dot (bukan glyph ☑/☒ yang rusak di Poppins).
- Warna: background BIRU TUA #122B63 (RGB 18,43,99). Untuk versi BERGANTIAN: background PUTIH + teks #122B63. DILARANG pakai navy lama #0D4761 atau #1E40AF lagi.
- Tipografi: judul Poppins-Bold 85 (auto-fit kalau kepanjangan), body Poppins-Regular 36, sub 30. Line advance: judul size+8, body size+12 (JANGAN pakai metrics penuh — bikin kendur & overflow ke footer).
- Engine render: `ss_carousel_lib.py` (carousel 1080×1350, ada auto-fit anti-nabrak footer) atau `gen_uky_center.py` (kartu square 1080×1080). Contoh pemakaian: `studiosoft_hc37_carousel_gen.py`, `studiosoft_albums_gen.py`.
- Gambar lama/arsip yang belum sesuai standar ini JANGAN diposting — render ulang dulu dengan engine di atas.
- Detail lengkap: skill `atun-social-automation` → `references/carousel-standar.md` + `references/desain-standar-uky.md`.
"""


def main():
    jobs = json.load(open(JOBS))
    arr = jobs if isinstance(jobs, list) else jobs.get("jobs", jobs)
    items = arr if isinstance(arr, list) else list(arr.values())
    done = 0
    for j in items:
        jid = j.get("id")
        if jid not in TARGETS:
            continue
        old = j.get("prompt") or j.get("command") or ""
        if "STANDAR DESAIN GAMBAR (FIXED 16 Sep 2026" in old:
            print("⏭️  %s sudah punya aturan desain" % jid)
            continue
        new = old.rstrip() + RULE
        r = subprocess.run(["hermes", "cron", "edit", jid, "--prompt", new],
                           capture_output=True, text=True)
        ok = r.returncode == 0
        done += ok
        print("%s %s (%s) -> rc=%s %s" % ("✅" if ok else "❌", jid, TARGETS[jid],
                                          r.returncode, (r.stdout or r.stderr).strip()[:200]))
    print("selesai: %d job di-update" % done)
    return 0 if done else 1


if __name__ == "__main__":
    sys.exit(main())
