#!/usr/bin/env python3
"""Susun berkas rencana konsolidasi DAS yang sudah dikurasi (per klaster nyata, bukan per kata kunci kasar)."""
import json

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
peta = {x["slug"]: x for x in json.load(open(f"{WS}/drafts/das_peta_konten.json"))}

# (nama klaster, id kanonik, [id yang digabung], catatan) — id diambil dari slug nyata
RENCANA = [
    ("Nissan", "bengkel-spesialis-nissan-surabaya",
     ["bengkel-mobil-nissan-di-surabaya-servis-perbaikan-dan-overhaul-mesin"], "SELESAI 7 Okt"),
    ("Lexus", "bengkel-spesialis-lexus-di-surabaya",
     ["bengkel-lexus-surabaya-terpercaya-servis-mobil-mewah-dengan-teknologi-terbaru",
      "bengkel-ac-lexus-surabaya"], "SELESAI 7 Okt"),
    ("Alphard", "bengkel-spesialis-alphard-surabaya",
     ["bengkel-mobil-alphard", "bengkel-spesialis-alphard",
      "bengkel-mobil-mewah-di-surabaya-panduan-merawat-alphard-land-cruiser-dan-sedan-premium"],
     "SELESAI 7 Okt"),
    ("Mercy & BMW", "bengkel-mobil-bmw-mercy-surabaya",
     ["bengkel-mercy-surabaya-terpercaya-pilih-bengkel-das-surabaya", "bengkel-mercy-surabaya"], "SELESAI 7 Okt"),
    ("Toyota", "bengkel-toyota-di-jagir-surabaya-solusi-terbaik-untuk-perawatan-kendaraan-anda",
     ["bengkel-spesialis-toyota-surabaya"], "berikutnya"),
    ("Honda", "bengkel-honda-terbaik",
     ["bengkel-mobil-honda-terbaik-di-surabaya-servis-perbaikan-dan-overhaul",
      "bengkel-mobil-honda-brio-terbaik-di-surabaya",
      "bengkel-spesialis-honda-hr-v-surabaya-servis-terbaik-di-das-indonesia"], "berikutnya"),
    ("Land Cruiser", "bengkel-land-cruiser-di-surabaya-untuk-perawatan-dan-perbaikan",
     ["bengkel-land-cruisher-surabaya"], "berikutnya (slug kanonik salah ketik, perlu dirapikan)"),
    ("Transmisi matic", "bengkel-spesialis-matic-surabaya",
     ["bengkel-spesialis-matic-surabaya-teknisi-juara-toyota-di-das-indonesia",
      "bengkel-transmisi-matic-honda-di-surabaya-perawatan-overhaul-yang-benar"], "SELESAI 7 Okt"),
    ("Halaman merek umum", "bengkel-terpercaya-surabaya-tempatnya-mekanik-profesional-ramah",
     ["bengkel-mobil-surabaya-terpercaya-pilihan-tepat-untuk-perawatan-mobil-anda",
      "bengkel-spesialis-mobil-premium-surabaya-layanan-terbaik-di-das-bengkel-indonesia",
      "bengkel-das-indonesia-bengkel-amanah-dan-profesional-untuk-segala-kebutuhan-mobil-anda"],
     "berikutnya"),
    ("Overhaul", "kapan-mobil-perlu-engine-overhaul",
     ["bengkel-spesialis-engine-overhaul-di-surabaya-bukan-sekadar-bongkar-pasang",
      "bengkel-overhaul-mobil-surabaya-yang-siap-kembalikan-performa-mesin-seperti-baru",
      "bengkel-spesialis-overhaul-mobil-surabaya-kapan-dibutuhkan",
      "turun-mesin-vs-engine-overhaul-perbedaan-kapan-dibutuhkan"], "berikutnya"),
    ("Multi merek Jepang", "bengkel-spesialis-multi-merek-jepang-di-surabaya-satu-tempat-untuk-honda-nissan-alphard-dan-lainnya",
     [], "berikutnya (ditautkan ke kanonik tiap merek, bukan dipensiunkan)"),
]

baris = []
for nama, kan_slug, gab_slugs, status in RENCANA:
    kan = peta.get(kan_slug)
    gab = [peta.get(s) for s in gab_slugs]
    baris.append({"klaster": nama, "status": status,
                  "kanonik": {"slug": kan_slug, "id": kan["id"] if kan else None,
                              "kata": kan["kata"] if kan else None,
                              "tayang": kan["tayang"] if kan else None},
                  "gabung": [{"slug": s, "id": (g["id"] if g else None),
                              "kata": (g["kata"] if g else None),
                              "tayang": (g["tayang"] if g else None)} for s, g in zip(gab_slugs, gab)]})

with open(f"{WS}/drafts/das_konsolidasi_rencana_20261007.md", "w") as f:
    f.write("# DAS — rencana konsolidasi halaman (dikurasi 7 Okt 2026)\n\n")
    f.write("Satu halaman kanonik per klaster. Halaman lain: isinya dipindahkan lebih dulu (ditulis ulang),\n")
    f.write("baru dipensiunkan jadi draf. Setiap halaman yang dipensiunkan butuh pengalihan 301 dari Bos.\n\n")
    done = [b for b in baris if b["status"].startswith("SELESAI")]
    todo = [b for b in baris if not b["status"].startswith("SELESAI")]
    f.write(f"Sudah dikerjakan: **{len(done)} klaster** · menunggu: **{len(todo)} klaster**\n\n")
    for b in baris:
        k = b["kanonik"]
        f.write(f"## {b['klaster']} — {b['status']}\n\n")
        f.write(f"- kanonik: `/{k['slug']}` (#{k['id']}) | {k['kata']} kata | {k['tayang']} tayangan\n")
        for g in b["gabung"]:
            f.write(f"- gabung: `/{g['slug']}` (#{g['id']}) | {g['kata']} kata | {g['tayang']} tayangan\n")
        f.write("\n")
json.dump(baris, open(f"{WS}/drafts/das_konsolidasi_rencana_20261007.json", "w"), ensure_ascii=False, indent=1)
print(f"rencana ditulis: {len(done)} klaster selesai, {len(todo)} menunggu")
for b in todo:
    print(f"  - {b['klaster']:<18} kanonik #{b['kanonik']['id']} + {len(b['gabung'])} halaman digabung")
