# MEMORY.md

## ⛔ STOP TOTAL — Nucleasoft (25 September 2026, perintah Bos)
- Perintah Bos (chat, 25 Sep 2026 ~11:07 WIB): **"tolong semua aktifitas untuk nucleasoft di hentikan"**.
- **Temuan audit (semua dicek hari itu):**
  - Hermes cron profile atun/mili/suwarno/ujang/**wati**: **0 job Nucleasoft** (semua nama/prompt/script dicek).
  - Repliz: akun `Nucleasoft Digital Indonesia` (LinkedIn, id `6a3a60cfc5ff4ce3a32525bc`, username `nucleasoft`) **sudah DIPUTUS/Dihapus 25 Sep 2026** (perintah Bos) via `DELETE /public/account/{id}` → verifikasi: `GET /public/account/{id}` = 404 "account not found", daftar akun Repliz turun 41 → 40. Sebelum dihapus: 0 jadwal (2.341 jadwal Repliz dibaca penuh → hit Nucleasoft = 0). Tidak ada akun Nucleasoft lain (IG/FB/Threads/TikTok tidak ada). Reconnect = Bos harus authorize ulang dari dashboard Repliz.
  - crontab user/systemd/openclaw cron (`~/.openclaw/cron/cron_jobs.db` kosong): tidak ada Nucleasoft.
  - Profile `wati` (agent admin/finance, bot @WatiFinance_bot) gateway **stopped**, cron kosong.
  - ⚠️ Domain WP `otomasibisnispintar.com` **SERVFAIL** (NS Rumahweb menolak query / zona hilang) — situs tidak resolve, jadi tidak ada aktivitas WP yang mungkin jalan. Domain sendiri aktif (exp 7 Mei 2027).
  - Satu-satunya job yang masih menyentuh domain ini: cron **default profile** `WP Rocket Cache Rebuild Semua Klien` (id `d0b98dc7afbc`) → **domain Nucleasoft sudah DICABUT 25 Sep 2026** (perintah Bos) lewat `HERMES_HOME=/home/mantapman/.hermes hermes cron edit d0b98dc7afbc --prompt ...`. Prompt sekarang 10 domain. **Jadwalnya juga diubah 25 Sep 2026: dari tiap jam → `0 17 */3 * *` (= tiap 3 hari, 00:00 WIB).**
- **Aksi yang diambil:** `cfg_nucleasoft.py` → di-rename `STOPPED_nucleasoft_config.py` supaya pipeline artikel harian (`run_artikel_harian.sh` loop `cfg_*.py`, `publish_harian_web.py` glob `cfg_*.py`) **tidak pernah** publish ke Nucleasoft lagi. Balikkan: `mv STOPPED_nucleasoft_config.py cfg_nucleasoft.py`.
- Pipeline harian web terakhir jalan: **12 Agu 2026** (Nucleasoft post id 4309) — tidak ada cron-nya lagi sejak itu.
- Aset Nucleasoft (`nuclea_*.md`, `nucleasoft-articles/`, `nucleasoft_fb_guide.md`, `wp-clients/post_nucleasoft.py`, `upload_nucleasoft_articles*.py`, `nucleasoft.json`) tetap disimpan sebagai arsip.
- **Jangan aktifkan lagi tanpa perintah Bos.**


## ⛔ STOP TOTAL — Soto Semarang Pak Otto (24 September 2026, perintah Bos)
- Perintah Bos (chat, 24 Sep 2026 ~08:00 & ~08:30 WIB): hentikan semua kegiatan Soto Pak Otto → lalu **"semua tentang soto pak otto di repliz maupun yang masih cron matikan semua ya"**.
- **4 cron job Hermes DIHAPUS** (bukan cuma dipause):
  - `fb-otto-slot-12` (561373506015), `fb-otto-slot-19` (7c405b6ab92a)
  - `soto-threads-scheduler` (0b0b9ef72a1f), `soto-threads-autoreply` (5074c656556d)
  - Kalau nanti perlu dihidupkan lagi: buat ulang pakai `hermes cron create` + wrapper di `profiles/atun/scripts/` (`fb_otto_slot_12.sh`, `fb_otto_slot_19.sh`, `soto_threads_scheduler.sh`, `soto_threads_autoreply.sh`).
- **Repliz dibersihkan**: 27 jadwal berstatus `error` (27 Agu–13 Sep 2026) DIHAPUS; sisanya 218 jadwal status `success` = historis/sudah tayang. **0 jadwal future** → tidak ada yang akan tayang otomatis.
- Cek lain: crontab sistem (semua baris comment), systemd, profile Hermes lain (mili/suwarno/ujang/wati), proses jalan — **tidak ada Otto**.
- Script/aset `soto_*`, `schedule_soto_*`, `pak_otto_image`, `pak_otto_video` tetap disimpan sebagai arsip (tidak dipanggil otomatis).
- Data operasional kalau nanti diaktifkan lagi: buka tiap hari 10.00–21.00 WIB; Jl. Graha Anggrek Mas No. C-16, Ruko Pagerwojo, Buduran, Sidoarjo; 📲 081230777713; mendoan Rp2rb, lumpia Rp7rb.
- **Jangan aktifkan lagi tanpa perintah Bos.**


## 🎤 Event Coverage: Kopdar SUMU Sidoarjo (FIXED — 5 Agustus 2026)
- **Bos jadi narasumber** di Kopdar SUMU Sidoarjo "Big Deal, Big Opportunity" (1/8/2026) — materi: website = kantor utama bisnis di internet, SEO, digitalisasi UMKM.
- **LinkedIn WAJIB bahas event ini 2 HARI SEKALI** — cron `sumu-linkedin-2hari` (tiap 2 hari 08:00 WIB, akun bergantian Uky LinkedIn & StudioSoft LinkedIn, angle beda tiap kali).
- 7 link media coverage (semua dicek nyala): ada di `memory/2026-08-05.md` & `post_sumu_coverage.py`.
- Script: `post_sumu_coverage.py` (posting awal), `sumu_linkedin_2hari.py` (rutin 2 hari).
- Detail lengkap: memory/2026-08-05.md

## StudioSoft Invoice Template (FIXED — 3 Agustus 2026)
Aku (Atun) bikin & finalisasi template invoice StudioSoft. Ini spek final yang WAJIB diikuti terus:

- **File template:** `invoices_studiosoft_template/generate_invoice_studiosoft.py`
- **Nama brand:** Cuma **"StudioSoft"** — JANGAN pakai "CV. Kreasi StudioSoft"
- **Tagline:** SKIP — jangan tayang di invoice
- **Layout:**
  - Header: logo StudioSoft (putih, di band biru #1E40AF) kiri + "INVOICE" besar kanan + no/nomor & tanggal kanan
  - DARI (StudioSoft + alamat/email/WA) & KEPADA (klien) dua kolom
  - Tabel: **NO | DESKRIPSI aja** — TANPA QTY, TANPA harga per item
  - Harga cuma di akhir (kotak TOTAL)
  - Bagian PEMBAYARAN + tanda tangan "Hormat kami" (geser 2× ke kanan)
- **Bank (a/n Uky Yanuhandoko):**
  - BCA `6750379638` (Rungkut Mapan, Surabaya)
  - Mandiri `142-00-1068384-4` (Bratang Binangun, Surabaya)
- **Safe zone:** kanan-kiri-atas 90px, **bawah 1 cm** (≈59px @150dpi) — gak boleh ada elemen keluar
- **Resolusi:** A4 1240×1754px @150dpi, font Poppins
- **Klien (agustus 2026):** DAS Bengkel Indonesia, RSIA Kendangsari, TSC (The Skin Code Clinic), TS Law (Tito Suprianto Law Firm), EveryBe, Surabaya Skin Centre (SSC), LEIT

## Healthcare Digital Series — StudioSoft (23 Juli 2026)
- **Featured image:** Gambar real dari Pexels (healthcare asian theme), 1200×630 WebP
- **WA Button:** wa.me/6281935000624 — teks: "Saya ingin tahu lebih dalam mengenai layanan StudioSoft"
- **SEO:** Yoast hijau + meta desc + focus keyword
- **Tags:** Healthcare Digital (1043), Digital Marketing RS (1044), Marketing Klinik (1045), SEO Kesehatan (1046), Google Business Profile (210)
- **10 artikel** tentang digital marketing untuk RS, klinik, dan industri kesehatan
- Kategori baru: **Healthcare Digital** (ID: 1042)
- Semua artikel sudah publish di studiosoft.id
- Angle: data-driven digital marketing untuk RS & Klinik — sesuai positioning StudioSoft
- Daftar artikel:
  1. Kenapa RS & Klinik Wajib Punya Strategi Digital Marketing di 2026
  2. 7 Strategi Digital Marketing RS yang Terbukti Meningkatkan Pasien
  3. Kenapa Website RS Sering Gagal Hasilkan Pasien Baru?
  4. Pentingnya Konten Edukasi Kesehatan untuk Kepercayaan Pasien
  5. Panduan SEO untuk Klinik dan RS
  6. Mengapa Klinik Kecil Juga Butuh Digital Marketing
  7. Social Media Marketing untuk RS: Platform Mana Paling Efektif?
  8. Google Business Profile untuk Klinik
  9. Iklan Facebook & Instagram untuk RS
  10. Bagaimana Data Analytics Bantu RS Pahami Kebutuhan Pasien

## Preferences

- **🔄 Double Confirmation (FIXED — 21 Agustus 2026):** Setiap perubahan BESAR (ganti no kontak, ganti CTA besar, hapus jadwal massal, ganti format konten utama) WAJIB tanya & pastikan 2 kali KE BOS sebelum eksekusi.
- **🍜 No WA Warung Pak Otto (FIXED — 21 Agustus 2026):** No WA/kontak di caption & info = **081230777713** — KHUSUS Pak Otto saja. JANGAN pakai 0851-3609-0204, JANGAN tulis label "WhatsApp"/"WA"/"Contact" — cukup "📲 081230777713". No WA klien lain TETAP seperti biasa.

- **🎬 Generate video (FIXED — 9 Agustus 2026):** SEMUA permintaan bikin video (dari foto, storyboard, dsb) WAJIB pakai **Replicate** API — jangan coba provider lain (OpenRouter/Kling gagal & Bos insist Replicate). Model andalan: `bytedance/seedance-2.5` (i2v, hyper realistic, 720p, 5 detik), murah: `stable-video-diffusion`. Input image wajib URL internal Replicate (`https://api.replicate.com/v1/files/{id}` hasil upload `/v1/files`) — host publik (catbox/tmpfiles) gagal.
- **Positioning Bos (FIXED — 3 Agustus 2026):** Uky Yanuhandoko = **Pakar SEO, Digital Marketing Specialist, Website Developer**, **StudioSoft sebagai brand**. Wajib dipakai di semua konten & persona AI yang menyebut Bos (biografi, caption, artikel, dll).
- **Panggilan ke aku:** "Mbang" / "Bambang" — Bos panggil aku Mbang atau Bambang. Udah fix.
- **Panggilan ke Bos:** "Bos" (nama lengkap: Bos Uky)
- **Panggilan diri:** "Aku"

## 🚫 Threads Auto-Reply — Aturan FIX (18 Agustus 2026)
- **Auto-reply Threads DIMATIKAN** atas permintaan Bos — cron `threads_mention_reply.py` di-comment di crontab (backup: `/tmp/crontab_backup_20260818.txt`).
- **Akun LUAR yang masuk & reply di Threads == STOP** — jangan dibalas otomatis.
- **Saling mention & saling reply antar akun INTERNAL Repliz == TETAP JALAN** (`threads_cross_mention.py`, tiap 6 jam) — jangan pernah dimatikan.
- **Twitter autoreply** (`twitter_mention_reply.py`) tetap AKTIF — jangan ikut dimatikan.

## About Ujang (Content Writer Supporter)

- **Nama:** Ujang
- **Jenis kelamin:** Pria
- **Usia:** 20 tahun
- **Kepribadian:** Muda, cepat, dan dapat diandalkan
- **Gaya bahasa:** Humanis, relaks, cepat, dan ahli dalam support
- **Status:** Supporter tim
- **Bot Telegram:** @UjangContentWriter_bot (token di TOOLS.md)
- **Peran:** Membantu update konten yang banyak (content writer), membantu semua pekerjaan bot lain (Atun/Wati, Suwarno, dll)
- **Dibuat:** 3 Agustus 2026 oleh Uky Yanuhandoko (Bos)
- **Target:** Dipelajari jadi tim support yang solid — paham semua pekerjaan tim

## 🎨 About Mili (Graphic Designer) — 8 Agustus 2026

- **Nama:** Mili
- **Jenis kelamin:** Perempuan
- **Usia:** 24 tahun
- **Kepribadian:** Cantik, skillfull, percaya diri, kreatif, detail
- **Keahlian:** Graphic Designer — jago desain Illustrator, memahami **Algoritma Meta (Instagram & Facebook)**, sangat jago menggambar
- **Status:** Supporter tim — **spesialis konten visual, mendukung Atun**
- **Bot Telegram:** @MiliDesigner_bot (token di TOOLS.md)
- **Peran:** Membantu Atun (Bambang) membuat/menata konten visual (feed, story, carousel, thumbnail, banner) yang sesuai algoritma Meta & safe zone
- **Gaya bahasa:** Humanis, ceria, profesional, pakai "saya"
- **Dibuat:** 8 Agustus 2026 oleh Uky Yanuhandoko (Bos)

## About Bambang (Atun)

- **Nama:** Bambang (nama lengkap: Atun, tapi panggilan sehari-hari dari Bos: **Mbang / Bambang**)
- **Jenis kelamin:** Perempuan
- **Peran:** Asisten serba bisa — handle SEMUA urusan sosmed (IG, Threads, FB, LinkedIn, dsb)
- **Dibuat oleh:** Uky Yanuhandoko (Bos)
- **Bot Telegram:** @BambangThinkTank_bot
- **Bot lama:** @AtunCreative_bot (ganti)
- **Awal operasi:** 28 Juni 2026

## Repliz Upgrade — Central Module (25 Juli 2026)
- **Bikin `repliz_client.py`** — central module untuk SEMUA urusan Repliz
- **Credential cuma di 1 tempat** — ganti key gampang, gak perlu edit 26 file lagi
- **20+ account ID** terdaftar rapi (ACC.UKY_THREADS, ACC.STUDIOSOFT_THREADS, dll)
- **Class `ReplizClient`** dengan method: schedule_text, schedule_image, schedule_album, get_schedules, dll
- **52 file Python** udah diupdate pake `from repliz_client import ...`
- **Backup lama** di `_backup_repliz/` (aman kok)
- **Cara pake baru:**
  ```python
  from repliz_client import HEADERS, BASE, ACC
  # atau
  from repliz_client import ReplizClient
  client = ReplizClient()
  result = client.schedule_text(ACC.UKY_THREADS, "caption...", "2026-07-25T...")
  ```
- Kalo ganti credential, edit `repliz_client.py` aja — beres semua
- Endpoint: `https://api.repliz.com`

## Lessons Learned

### Sensitive Data in Chat
- Kalau Bos share API key / token / credential di chat, langsung **ingetin itu sensitif** tanpa perlu banyak tanya
- Tawarin buat dicatat ke file, ikutin instruksi Bos setelahnya
- Simpan key di TOOLS.md (udah jadi tempat central untuk credential Bos)
- Jangan tanya ulang kalo Bos udah kasih instruksi jelas — langsung eksekusi

### 🔴 NO CAPTION REDUDANT!
- Inget! Caption dan konten apapun **TIDAK BOLEH** ada yang sama/berulang
- Setiap postingan wajib original dengan angle, gaya, atau insight yang berbeda
- Termasuk brand yang sama sekalipun: pendekatan harus beda tiap kali
- Ini aturan fix dari Bos — jangan pernah dilanggar!

## Client Info

#### LEIT (Leadership-English Institute)
- **Brand:** Kursus Bahasa Inggris dengan Leadership-Based Learning
- **Web:** leitsurabaya.com
- **Domain WP:** leitsurabaya.com
- **App Password:** zibd dLIV xY8x onP9 39qL hiNr (user: bambangbot)
- **Kategori LEIT di WP:** ID 6
- **Positioning:** Bukan sekadar kursus Inggris — institusi pengembangan diri dengan leadership-based learning, CEFR curriculum, dan ICISD values
- **Dikelola:** Billion Innovation Group
- **Cabang:**
  - LEIT Surabaya Timur — Ruko Pakuwon Town Square Blok AA2-10, dekat Pakuwon City Mall (WA: 0811-331-700)
    - Target area: Pakuwon City, Mulyorejo, Sukolilo, Kalisari, Kenjeran, ITS
  - LEIT Surabaya Barat — Apartment Waterplace Residence, Ruko A/17, seberang Pakuwon Mall (WA: 0811-396-488)
    - Target area: Wiyung, Sambikerep, Lakarsantri, Citraland, Pakuwon Indah, Babatan
- **Jam operasional:** Sen–Jum 10-21 WIB, Sab 10-15 WIB (Minggu tutup)
- **Harga:** Mulai Rp620rb/bln (starting from)
- **Program:** Playgroup (3-5th), Post-KG (6-7th), Primary (SD 1-6), Secondary (SMP-SMA), EAP (mahasiswa/universitas), ESP (karyawan/profesional)
- **Metode:** Speaking Based + Leadership Based, CEFR, ICISD, Reward System
- **Lokasi unggulan:** Free drop-off 10 menit
- **Total artikel sekarang:** 20 (10 batch 1 per 7 Juli + 10 batch 2 per 16 Juli 2026)
- **Knowledge base lengkap:** `leit_knowledge_base.md`
- **Notes:** Dulu ada cron briefing-bambang-leit (sekarang disabled).

## Client Info

### Yasma Natura
- **Domain:** yasmanatura.co.id
- **IP:** 103.175.217.138
- **User bambangbot:** Role **Administrator** ✅
- **App Password:** Ada di TOOLS.md & `wp-clients/apppassword.md`
- **REST API:** https://yasmanatura.co.id/wp-json/wp/v2
- **Catatan:** Login Admin via domain (udah resolve)

## StudioSoft Carousel — Template Reference

**SINGLE SOURCE OF TRUTH:** `studiosoft_bg_biru.py`

### Specs
- **Resolusi:** 1080×1350 (4:5)
- **Margin:** 50px semua sisi
- **BG:** #1E40AF (30,64,175)
- **Text putih:** #FFFFFF
- **Text soft:** #B4C8F0 (180,200,240)

### Font
- **Header:** Poppins Bold 36px
- **Judul:** Poppins Bold 100px
- **Body:** Poppins Regular 28px
- **Footer:** Poppins Regular 20px

### Layout
- **Content** vertical-middle centered
- **Divider** dotted: 14px line, 10px gap, total 300px
- **☑** check items untuk list
- **Edge cleanup** setelah render
- **NO** cards/boxes/borders/fancy elements — pure typography on blue bg only

## FB DMark — Caption Rules

### Jadwal Posting
- **Setiap hari 1 posting** di FB DMark
- WAJIB ada link artikel (dmark.id atau studiosoft.id)

### Link & Artikel
- **WAJIB** cantumin link artikel di caption FB DMark
- Link bisa dari **dmark.id** atau **studiosoft.id**
- **Caption harus sesuai** dengan konten artikel yang di-link
- **Hashtag juga harus menyesuaikan** topik artikel (jangan asal tempel)
- Jangan pasang link artikel A tapi caption & hashtag bahas topik B

## Sosial Media — Aturan Umum

### Handle by Atun
- **Semua urusan sosmed** (IG, Threads, FB, LinkedIn, dll) dihandle langsung Atun
- Generate konten, scheduling, posting, semuanya
- Bos tinggal kasih brief/tema

### Engagemen & Replies
- **Threads & Facebook WAJIB bisa balas komen** — jangan cuma posting doang
- Sudah ada mekanisme nested reply di multiplatform_cron.py (post → reply1 → reply2)
- Auto-reply: humanis, sambutan positif, pakai "saya" bukan "gue"

### Threads @ukyhandoko — Artikel StudioSoft
- Sesekali ambil artikel dari website StudioSoft
- Bahas isi artikelnya dengan gaya humanis, santai, langsung ke inti
- Sertakan link artikelnya biar ada traffic masuk ke StudioSoft
- Gak perlu setiap posting, cukup sesekali selingan

## LEIT Articles — Heading Format (29 Juli 2026)
- **Post 3925 (Surabaya Barat):** 19 H2, 55 `<strong>`, 0 H1, ~1.031 kata
- **Post 3928 (Surabaya Timur):** 21 H2, 61 `<strong>`, 0 H1, ~1.207 kata
- **Format:**
  - `##` = H2 untuk subheading
  - `**text**` = `<strong>` untuk bold
  - H1 dihapus dari body artikel (judul utama cukup dari WP title field)
  - Semua paragraf pake `<p>` tag
  - Konten dikirim ke WP sebagai HTML langsung (markdown `##` tidak dikonversi otomatis oleh WP REST API)

## Client Info

### 🏥 PERBEDAAN PENTING — JANGAN SAMPAI TERTUKAR!

**SSC = Surabaya Skin Centre** (surabaya-skincentre.com)
- Klinik kulit, kelamin & estetika — Surabaya
- WP user: bambangbot
- App Password: `r4bI jsIF CsAn uTIz SlFa TnJz`
- Kategori: Edukasi (ID 4), Kosmetik (ID 180), Melasma (ID 176), Skincare (ID 172), Sunscreen (ID 171)
- Repliz ID FB: 6a3b41e6
- **Domain: surabaya-skincentre.com**

**TSC = The Skin Code Clinic** (theskincodeclinic.com)
- Klinik kecantikan (facial medis, botox & filler, chemical peeling, dll) — Krian
- WP user: watibot
- App Password: `HDLe Wkuz el12 U2cd MRqT 1z48`
- Kategori: Kecantikan & Kulit (ID 22)
- Akun Threads: @dniclinic_krian
- **Domain: theskincodeclinic.com**

**⚠️ INGAT!** Dua klinik ini BEDA. Jangan pernah ngepost artikel SSC ke TSC atau sebaliknya. Kalau ragu, cek domain dulu sebelum posting!

## Silent Replies
When you have nothing to say, respond with ONLY: NO_REPLY
⚠️ Rules:
- It must be your ENTIRE message — nothing else
- Never append it to an actual response (never include "NO_REPLY" in real replies)
- Never wrap it in markdown or code blocks
❌ Wrong: "Here's help... NO_REPLY"
❌ Wrong: "NO_REPLY"
✅ Right: NO_REPLY

## 25 Juli 2026 — Fix Template DMark & StudioSoft
- Bos minta perbaikan template DMark (semua varian): spacing, vertical middle, safe zone 20px, no boxes
- DMark BG Orange: hapus rounded rectangle button (slide 6), ganti pure teks
- DMark BG Putih (Tips): margin 35→90/50px, spacing 1.22→1.55×
- StudioSoft BG Biru (GEO carousel): hapus SOFT color, semua teks putih
- **Bos skip semua progress** setelah itu — jangan lanjutin tanpa konfirmasi ulang

## 🔴 Repliz — Image WAJIB URL, JANGAN base64 (3 Agustus 2026)
- Error massal di Repliz (236 error) seringnya karena **image dikirim sebagai base64**
- Aturan: image harus **URL** (upload ke WP dulu / pakai URL publik), jangan base64 string
- Kalau ada error schedule, cek dulu apakah payload-nya pakai base64
- Format image yang aman: **JPEG atau WebP** — upload ke WP dulu, pakai URL-nya
