# 2026-09-30

## Cron healthcare StudioSoft (hc51) — 02:00 WIB

**Threads StudioSoft (carousel, 5 slide baru `ss_hc51_mentalanak_*`)**
- Topik: *7 Aplikasi Mental Health Anak Usia 4-10 Tahun yang Harus Dicoba Orang Tua*
- Artikel: https://studiosoft.id/7-aplikasi-mental-health-anak-usia-4-10-tahun-yang-harus-dicoba-orang-tua/ (HTTP 200, WP id 2765)
- Jadwal: album `6abc0bb51733078385afc335` @ **1 Okt 2026 09:00 WIB** (2026-10-01T02:00Z) + 2 reply anak
  `6abc0bb51733078385afc33c` (02:01Z) & `6abc0bb51246a403ed76557d` (02:02Z), keduanya menempel ke album.
- Caption 463 char (≤500), link artikel ada, 0 mention, hashtag huruf kecil, ditutup pancingan diskusi.
- Alasan pilih: jejak Threads artikel ini hanya **1x TEXT 14 Sep 2026 07:01Z** → belum pernah jadi
  carousel Threads, dan satu-satunya artikel HC hidup yang belum pernah jadi topik carousel seri hc.

**Facebook StudioSoft (TEXT saja, tanpa media, `replies=[]`)**
- Artikel: *7 Strategi Digital Marketing Rumah Sakit untuk Menambah Pasien Setiap Bulan*
- Jadwal: `6abc0bb61246a403ed765581` @ **30 Sep 2026 19:30 WIB** (2026-09-30T12:30Z), 786 char, link ada.
- Alasan pilih: jejak FB terakhir 11 Sep 2026 01:00Z = paling tua di antara artikel HC hidup; tidak
  bentrok dengan topik Threads hari ini.

**LinkedIn StudioSoft — SKIP** (semua 11 artikel HC hidup sudah ada di antrean LI pending 5–11 Okt).
Temuan lama yang masih berlaku: 6 jadwal LI pending 9–10 Okt masih berlink artikel yang sudah 404
(`6aa5a58e703d29cb586594c4`, `6aa9974d88a23118dad5a25d`, `6aac3a00fc107e4fe5d5a012`,
`6ab104d202078a414acb4216`, `6ab180383032e3a79c26d7e5`, `6ab2d1532cf2c1b59c43a8ea`) — belum diubah,
menunggu keputusan Bos (hapus atau tukar artikel).

**Status stok**: stok artikel healthcare BARU masih HABIS (WP REST 30 Sep — artikel terbaru 28 Sep
`tools-ai-untuk-bisnis-pilih-sesuai-kebutuhan` = non-healthcare; kategori `healthcare-digital` tetap 4 post,
semua sudah dipakai). 7 artikel HC seri ini MASIH 404 di studiosoft.id → hanya artikel terverifikasi 200
yang dipakai (11 artikel hidup).

**Media/verifikasi**: 5 JPEG 98–130 KB, kelima URL 200 di KEDUA ingress (103.84.155.153 & .217);
media server `atun-media-server.service` aktif (root = workspace, bukan folder openclaw-img).

**Catatan operasional**: akun **Facebook StudioSoft** (`6a334952c5ff4ce3a3225941`) sekarang punya 42
jadwal pending, termasuk **album/story/reel** hasil batch `6abb59c*` (28–29 Sep) — sejalan dengan
instruksi Bos 29 Sep "FB SS boleh pakai gambar lagi asal aset LAMA, jangan bikin desain baru".
Aturan "FB SS tidak ada gambar" (15 Sep) sudah tidak dipakai lagi; IG SS tetap tidak disentuh
(punya desain sendiri).

## Cron Threads harian — 04:00 WIB

- **Situs klien SEMPAT flapping (04:10–04:25 WIB).** Homepage yang ter-cache Cloudflare tetap 200 cepat,
  tapi halaman ARTIKEL dan node check-host (bg/fr/tr/de/ir/ru) timeout 25 s ke IP Cloudflare;
  `r.jina.ai` 422, allorigins 522, WP REST balas 404 nginx. Setelah ~10 menit pulih sendiri: artikel
  200 dalam 0,3–5 s → **verifikasi ulang sebelum memutuskan batal** (kasus 27 Sep semua situs benar-benar
  down; hari ini cuma flapping). Halaman artikel = uncached → jalur paling jujur untuk cek sehat/tidaknya origin.
- **⚠️ Anti-redundant salah sumber (FIXED).** `cek_artikel_fresh_all.py` memakai dump HARDCODE
  `/tmp/repliz_all_20260922.json`, jadi artikel yang dipakai 22–29 Sep dianggap "fresh" (false positive:
  `panduan-memilih-dokter-kulit-krian` sudah tayang 22 Sep 13:00Z tapi masih muncul di daftar fresh).
  Script sudah dipatch: terima argumen dump atau pakai dump TERBARU di `/tmp/repliz_all_*.json`.
  Helper baru: `cek_fresh_new.py <dump>` → `/tmp/artikel_fresh2.json` (+ `cek_fresh_today.py` untuk cek
  1 URL kandidat vs dump). Angka fresh 30 Sep: tsc 75/100 · das 73/100 · tslaw 32/56 · ss 15/100.
- **Guard same-day** (maks 1 post/hari/akun): SS SKIP (4 jadwal: text 05:00 + album 09:00 + 2 anak, ber-link
  studiosoft.id) · uky SKIP (7 jadwal image) · tslaw/tsc/das dapat post artikel.
  - tslaw 17:00 WIB `6abc2c861246a403ed7a68cf` — `/pengacara-surat-wasiat/` (448 char, 7 pengacara surat wasiat)
  - tsc 20:00 WIB `6abc2c861733078385b608cc` — `/jenis-jerawat-dan-penanganan-3/` (467 char; opt-in
    `allow_if_no_ownlink` karena image 09:00 TSC tanpa link sendiri)
  - das 23:00 WIB `6abc2c871246a403ed7a68d3` — `/7-tanda-mesin-mobil-wajib-overhaul/` (478 char)
- Ketiganya `pending` (verifikasi ulang dari API), `replies=0`, 0 mention, link **HTTP 200 dicek tepat
  sebelum create**, hashtag huruf kecil, 0 teks CJK, ditutup pancingan komentar ke followers.
- 3 link dicatat ke `log_threads_harian.json` → `threads_used_links["2026-09-30"]`.

**Memori baru**: URL artikel panjang (mis. 82 char) membuat caption susah ≤480 char → pilih artikel dengan
slug pendek dari daftar fresh (mis. `/7-tanda-mesin-mobil-wajib-overhaul/` 60 char, 51 char DAS terpendek).

## Riset konten viral Threads per akun (permintaan Bos, 30 Sep)

- **Reach 8 akun Threads dibaca dari profil publik** (r.jina.ai, HTML mentah threads.com tidak memuat angka follower):
  ukyhandoko 227 · studiosoft.id 108 · sotosemarang.pakotto 67 · leitsurabaya 12 · das_indonesia 8 ·
  tslaw_firm 8 · theskincode_clinic 7 · theeverybe 4.
- **Engagement nyata** dari `GET /public/comment` (95 doc terakhir): studiosoft.id 9 komentar, soto 7, uky 5, tsc 1.
  Post PERTANYAAN yang dibalas orang (mis. `Dd3LFWJiUgw` "kenapa website UMKM bagus tapi sepi" → 2 komentar),
  post ber-link nyaris nol. Tiga jadwal error everybe: tidak ada jadwal baru sejak 21 Sep.
- **Sinyal viral 30 Sep**: Google Trends ID (bola, "1 oktober hari apa", g30spki, korupsi), tren X (KNKT, $INDOXL),
  berita niche: mafia tanah/Posbankum 14.000 kasus, akta van dading lahan Kalisari Surabaya, garansi mobil gugur
  (Omoda Jaecoo), biaya servis EV, jerawat punggung, bibir kering musim hujan, estrogen & nyeri lutut menopause,
  promosi judi online nyusup ke situs instansi.
- **Hasil**: 12 caption (2 per akun untuk uky, SS, tslaw, tsc, das, everybe), tiap akun pegang SATU sudut berbeda
  (pengalaman / teknis / prosedur / klinis / diagnosa / kebiasaan). Semua ≤480 char, hashtag huruf kecil, ada
  ajakan komentar, tanpa mention, bebas CJK.
- **6 link pertama ternyata SUDAH pernah dipakai** (tslaw sertifikat-tanah & warisan-hibah, tsc bekas-jerawat &
  skin-barrier, das servis-berkala-nissan & bengkel-resmi-vs-spesialis, plus **kedua link everybe**) → diganti
  artikel fresh. `scan_threads_used_links.py` **tidak memuat akun everybe** (hanya studiosoft/uky/tslaw/tsc/das),
  jadi link everybe harus dicek manual dari dump jadwal.
- **Verifikasi link**: node check-host SEMUA timeout (origin klien lambat) → pakai WP REST by slug
  (`/wp-json/wp/v2/posts?slug=...` via r.jina.ai) sebagai bukti artikel ADA, plus diff vs daftar link terpakai.
  11 link unik: semua ada dan fresh (2 kegagalan pertama cuma proxy, lolos saat diulang).
- Berkas: `usulan_konten_threads_20260930.py` (generator + validasi), `drafts/usulan_konten_threads_20260930.md`,
  `usulan_caption_20260930.json`, `cari_link_fresh_20260930.py`, `verif_akhir_link_usulan.py`.
  Status: menunggu pilihan Bos sebelum dijadwalkan (belum ada yang di-create).

## FB RSIA Kendangsari — batch minggu 27 Sep–3 Okt (dikerjakan Wati, 30 Sep 2026)

- **Latar**: akun FB RSIA (`6a3b41e8c5ff4ce3a3275470`) nol jadwal sejak awal; target dashboard minggu ini 6 post + 6 post berfoto.
- **Hasil**: 6 jadwal `type=image` dibuat & terverifikasi read-back (semua `pending`, akun benar, 1 media):
  - 30 Sep 19:00 WIB `6abc6c9e1733078385c37f84` — Bayi Kuning
  - 1 Okt 09:00 WIB `6abc6c9e1733078385c37f8c` — Panduan MPASI
  - 1 Okt 19:00 WIB `6abc6c9e1733078385c37f92` — Menyimpan ASI Perah
  - 2 Okt 09:00 WIB `6abc6c9f1246a403ed839bf9` — Kulit Bayi Sensitif
  - 2 Okt 19:00 WIB `6abc6c9f1246a403ed839bfd` — Nutrisi Ibu Hamil Trimester 2
  - 3 Okt 09:00 WIB `6abc6c9f1733078385c37f9d` — Pemeriksaan Kandungan Rutin
- **Media**: featured image WP tiap artikel (URL publik, dicek HTTP 200 sebelum create). Link artikel juga dicek 200.
- **Script**: `~/.hermes/profiles/wati/workspace/fb_rsia_mingguan.py`; hasil JSON di `rsia_fb_mingguan_result.json` (profil wati).
- **Balas komentar: TIDAK PERLU** — keputusan Bos 30 Sep 2026 ("ga usah bales komen RSIA KS"). Story juga belum ada jalur (Repliz RSIA cuma punya akun FB, tanpa IG).

## Perbaikan oleh Wati (30 Sep 2026, audit cron)

- **`ss-dampak-homepage-ctr` FIXED**: `os.path.expanduser("~/.hermes/gsc_service_account.json")` mengarah ke HOME profil
  (`.../profiles/atun/home/...`) → FileNotFoundError. Diganti path absolut `/home/mantapman/.hermes/gsc_service_account.json`;
  script sudah diuji exit 0 dan mengeluarkan laporan CTR.
- **`yasma-pexels-retry` MASIH GAGAL** — akar masalah: **kelima Pexels API key balas HTTP 401 "Invalid API key"**
  (termasuk yang di `pexels_image.py`). Retry tiap 30 menit tanpa hasil; 4 featured image Yasma
  (`a1_maklon`, `a2_kolagen`, `a3_adaptogen`, `a5_suplemen`) belum ada. Butuh API key Pexels baru dari Bos.
- **Backup**: `/home/mantapman/backups/atun-backup-20260930-0155.tar.gz` (jobs.json, cron/output, scripts, catatan, script workspace).

### Lanjutan: diperluas ke Facebook + LinkedIn (Bos: "bahas di threads, facebook dan LinkedIn ya")

- **Reach FB/LinkedIn**: follower halaman LinkedIn publik bisa dibaca via `r.jina.ai/https://www.linkedin.com/company/<slug>`
  → StudioSoft @kreasi-studiosoft 68 · TSC 16 · LEIT 7 · TS Law 3 · DMark 2. Follower halaman **Facebook TIDAK bisa**
  dibaca (dinding login, halaman balas 4 KB tanpa angka) → pakai proxy aktivitas: pending ke depan + error + post terakhir.
- **Akun FB yang hidup**: StudioSoft 43 pending s/d 8 Des (24 error) · TSLaw 16 pending s/d 22 Okt · TSC 13 pending s/d 10 Okt.
  Mati/stop: EveryBe 21 error tanpa jadwal · DAS · Pak Otto · DMark · LEIT (51 jadwal di 2099).
  Nol jadwal sejak awal: RSIA Kendangsari, Surabaya Skin Centre, yasmanatura, Apotek Arek Lancor.
- **Akun LinkedIn yang hidup**: StudioSoft 79 pending s/d 11 Okt (26 error) · TSC 5 pending.
  Paling siap dihidupkan: **LinkedIn pribadi Uky** (0 pending, 22 error, 19 link terpakai).
- **Komentar terekam Repliz di FB & LinkedIn: NOL** (IG & Threads ada). Jadi ukuran keberhasilan di dua platform itu
  bukan komentar. Penyebab error berulang di FB SS (24) & LinkedIn SS (26) belum diaudit, patut diduga pola `replies`/postId.
- **Daftar link terpakai per akun FB/LI dihitung sendiri** dari `/tmp/reach_schedules.json`
  (script `data_fb_li_20260930.py` → `/tmp/used_fbli.json`); `scan_threads_used_links.py` hanya Threads dan
  tidak memuat akun everybe. TSC FB & TSC LinkedIn: **0 link terpakai** (caption lama tanpa link).
- **12 caption FB+LinkedIn** (6+6) divalidasi + 12 link dicek ada & fresh. Dokumen gabungan 3 platform:
  `drafts/usulan_konten_3platform_20260930.md` (24 caption), generator `usulan_konten_fb_li_20260930.py`,
  `gabung_usulan_3platform.py`, verifikator `verif_link_fb_li.py`, `verif_akhir_link_usulan.py`.

## IG StudioSoft — REEL tambahan 23:00 WIB dari carousel Threads BERLATAR PUTIH (perintah Bos 30 Sep, 22:35 WIB)

Bos: *"Pasang reels untuk IG StudioSoft jam 23.00 cari backroad putih . Reels video ( stok dari carousel
threads)"* → dibaca: reel IG SS di slot **23:00 WIB**, videonya dari **stok carousel Threads StudioSoft yang
latarnya PUTIH** (permintaan datang 22:35 WIB, jadi slot malam ini juga).

- **Stok putih** = album carousel Threads SS yang `bg: white` di `ss_album_content.json` → slide
  `ss_opt2_06/08/10/14/16/18/20` (7 album x 4 slide, 1080x1350, teks #122B63 di atas putih). Album ganjil
  (05/07/09/11/13/17/19) latar biru #122B63. Dicek pixel (8,8) tiap slide: semua `ss_hc*` = navy, jadi
  satu-satunya stok putih yang ada memang seri `ss_opt2` ini. Ketujuhnya sudah tayang di Threads SS 27–29 Sep
  (satu caption generik "Slide ini rangkuman tips digital marketing…").
- **Video baru** `openclaw-img/ss_reel_putih_10.mp4`: 4 slide album **10 "SEO lokal Surabaya"** x 4 dtk =
  16 dtk, 1080x1920 h264+aac 0,34 MB — **kanvas PUTIH** (bukan latar blur seperti pipeline navy),
  slide utuh di tengah + fade putih. 200 di KEDUA ingress (.153 & .217). Diverifikasi 4 frame (contact sheet
  `vision`) — teks utuh, tidak terpotong. TIDAK ada desain baru.
- **Jadwal**: `6abd2cc31733078385f3b068` — akun IG SS `6a38ac33…`, `type=video` (= Reel),
  `2026-09-30T16:00:00.000Z` (30 Sep 23:00 WIB), `additionalInfo.isShareToFeed=True`, `replies=[]`,
  caption 713 char (link artikel hidup `tips-seo-digital-marketing-surabaya-…` dicek 200 sebelum create,
  CTA komentar, hashtag huruf kecil, 0 mention, 0 CJK). Verifikasi baca balik: `pending`, media benar.
  Caption diperbaiki lewat PUT (`ss_ig_reel_putih_fixcap.py`) dari pembuka "Slide ini…" → "Rangkuman tips…"
  supaya pas untuk format reel.
- **Script**: `ss_ig_reel_putih.py` (`--seri NN --jam 23 --go` untuk satu slot; `--hari 4 --go` = mode roll).
  Rotasi = album putih yang belum dipakai, urut 06/08/10/14/16/18/20; kalau 7 album habis → ulang dari
  awal (re-air, seperti story). Idempoten per slot (akun + scheduleAt).
- **Sudah dijadikan RUTIN** (Bos "ok sip", 30 Sep): horizon 4 hari → 1 Okt `06` (`6abd2ea9…`),
  2 Okt `08` (`6abd2eb9…`), 3 Okt `14` (`6abd2ecb…`), malam ini `10`. Cron `ss-ig-reel-roll` (`cd5e2c6fd75f`,
  06:20 WIB) sekarang menjalankan DUA roll: `ss_ig_reel_daily.py --go --hari 4` (navy 11:00) +
  `ss_ig_reel_putih.py --hari 4 --go` (putih 23:00); pengawas `cek_ss_ig_story.py` diperluas — prefix media
  (`ss_storyvid_`, `ss_reel_putih_`) dan slot 07/14/20/11/**23**. Diuji: kedua wrapper senyap (exit 0).
- **Bonus temuan pengawas**: story 30 Sep 20:00 WIB (`ss_storyvid_hc26.mp4`, `6abb9470…`) `error` —
  `Video download failed with: HTTP error code 503. Service Unavailable` (sisi IG saat menarik video; file
  kita sehat, 200 di 2 ingress). Karena jadwal `error` tidak bisa tayang walau waktunya digeser → jadwal
  error DIHAPUS + create ulang `6abd2f2b1733078385f438fd` @ **1 Okt 22:00 WIB** (script
  `ss_ig_story_retry_hc26.py`). Slot 07/14/20 & reel 23:00 tidak diganggu.

## IG StudioSoft — tiap postingan FEED juga tayang di STORY (perintah Bos 30 Sep, 22:45 WIB)

Bos: *"untuk IG StudioSoft semua postingan feed yang muncul , tampilkan juga di Storynya"*.

- **Script `ss_ig_story_mirror.py`** (workspace): untuk SETIAP jadwal feed IG SS (`video`/`reel`/`image`/`album`)
  yang akan tayang dalam horizon, dibuat jadwal `type=story` dengan **media yang sama**, **10 menit**
  setelah jam feed-nya (reel 11:00 → story 11:10; reel putih 23:00 → story 23:10). Album → slide pertama
  sebagai image. Caption kosong, `replies=[]` (aturan story IG). Idempoten: skip kalau story di slot itu
  sudah ada; feed yang jamnya sudah lewat tidak dimirror (story basi).
- **Hasil 8 story mirror** (semua `pending`, diverifikasi baca balik): malam ini 23:10 `ss_reel_putih_10.mp4`
  (`6abd2f761733078385f447b6`), lalu 1 Okt 11:10 hc39 + 23:10 putih_06, 2 Okt 11:10 hc36 + 23:10 putih_08,
  3 Okt 11:10 hc30 + 23:10 putih_14, 4 Okt 11:10 hc27.
- **Rutin**: ditambahkan sebagai job KETIGA di `scripts/roll_ss_ig_reel.py` → cron `ss-ig-reel-roll`
  (06:20 WIB) menjalankan reel navy + reel putih + mirror story tiap hari; jadi story selalu menyusul
  jadwal feed yang baru dibuat. Diuji: wrapper senyap (exit 0), pengawas `cek_ss_ig_story.py` senyap.
- Slot story lama 07:00/14:00/20:00 TETAP jalan (3 story sendiri) → total 5 story/hari selama 2 feed/hari.

## IG StudioSoft — REEL 2x/hari 11:00 & 19:00 dengan BG BERGANTIAN putih/biru (perintah Bos 30 Sep, 22:55 WIB)

Bos: *"untuk IG StudioSoft harus bergantian warna Backgroundnya .. untuk Reels ini bergantian BG nya .
untuk Reels sehari tayang 2 postingan Reels jam 11.00 dan jam 19.00. Besok jam 11.00 BG : Putih dan jam 19
BG Biru. besoknya jam 11.00 BG Biru dan jam 19. BG Putih .. begitu terus"*

- **Aturan**: 2 reel/hari jam **11:00 & 19:00 WIB**; tanggal **ganjil → 11:00 PUTIH / 19:00 BIRU**, tanggal
  **genap → 11:00 BIRU / 19:00 PUTIH**. Slot 23:00 (aturan sebelumnya) dibatalkan.
- **Sumber warna** = album `ss_opt2_*` yang sudah ada (4 slide, 1080x1350): biru #122B63 = 05/07/09/11/13/17/19,
  putih = 06/08/10/14/16/18/20. Video = slide utuh di tengah **kanvas sewarna slide** (bukan latar blur) →
  tepinya menyatu; tidak ada desain baru. Rotasi: album yang belum pernah jadi reel; habis → ulang dari awal.
- **Script baru `ss_ig_reel_warna.py`** (`--hari N [--go]` roll, atau `--seri NN --tgl --jam --go` satu slot):
  caption per album (ringkasan isi slide + link artikel hidup dicek 200 + CTA komentar + hashtag huruf kecil),
  `type=video` + `isShareToFeed=True`, media dicek 200 di KEDUA ingress sebelum create, idempoten per slot.
- **Bersih-bersih**: `ss_ig_reel_bersihkan.py` menghapus **14 jadwal pending lama** (7 reel: navy hc 11:00 pada
  1–4 Okt + putih 23:00 pada 1–3 Okt, dan 7 story mirror-nya) — semua di 1 Okt ke atas; jadwal 30 Sep
  (reel putih 23:00 + story 23:10 yang diminta Bos malam ini) serta story 07/14/20 & catch-up hc26 22:00
  DIBIARKAN. Verifikasi: 0 sisa.
- **Hasil 8 reel baru** (semua `pending`, diverifikasi baca balik):
  1 Okt 11:00 putih `06` + 19:00 biru `05` · 2 Okt 11:00 biru `07` + 19:00 putih `08` ·
  3 Okt 11:00 putih `14` + 19:00 biru `09` · 4 Okt 11:00 biru `11` + 19:00 putih `16`.
  Semua ditayangkan juga sebagai **story +10 menit** (`ss_ig_story_mirror.py`, 8 story mirror pending).
- **Cron**: `ss-ig-reel-roll` (06:20 WIB) sekarang menjalankan `ss_ig_reel_warna.py --hari 4 --go` +
  `ss_ig_story_mirror.py --hari 4 --go`; pengawas `cek_ss_ig_story.py` diperbarui — slot feed **11/19**
  dicek dari jadwal `type=video` (dulu 11/23) dan prefix media `ss_reel_biru_` ikut dipantau. Diuji senyap.
- Diverifikasi visual (vision, contact sheet): frame biru `ss_reel_biru_05.mp4` — kanvas navy solid, teks utuh.
  Script lama `ss_ig_reel_daily.py` (navy 11:00) & `ss_ig_reel_putih.py` (putih 23:00) tidak lagi dipakai cron,
  file tetap disimpan sebagai rujukan.




