Monsoon LedgerTata kelola AI Indonesia

Cara catatan ini bekerja

Metode

Bagaimana Monsoon Ledger dibangun, bagaimana data dikumpulkan dan dicek, bagaimana situs ini memantau perkembangan baru dengan sendirinya, dan bagaimana sebuah petunjuk menjadi catatan. Semua yang dijelaskan di sini ada di repositori publik.

1. Arsitektur

  1. Sumber14 sumber yang dipantau: 12 pencarian berita dan 2 halaman resmi, mencakup ID, ASEAN, MY, SG, TH, VN, PH.
  2. PemindaiDua kali seminggu, GitHub Actions menjalankan npm run scan. Pemindai mengambil, mengurai, menilai, dan menyaring duplikat.
  3. TriaseOpsional. Bila kunci API dipasang, Claude memberi pendapat kedua untuk setiap judul baru.
  4. RadarPetunjuk baru ditulis ke data/radar.yml dan tampil di halaman Radar dengan tanda belum ditinjau.
  5. ArsipSetiap sumber yang belum punya salinan disimpan di Internet Archive, dan salinannya dicatat di samping sumber itu.
  6. PenulisPenulis membuka sumbernya, menilainya, lalu mengabaikan petunjuk itu atau menulis catatan.
  7. GerbangSetiap perubahan melewati skema, validator, pengujian, dan pembangunan situs penuh.
  8. HasilSetiap pembangunan menghitung hasil semua janji per hari itu dan membuat halaman bukti janji beserta kartu pratinjaunya.
  9. SitusCommit ke main memicu pembangunan di Vercel. Situs statis diperbarui dalam hitungan menit.

Desainnya berpusat pada satu aturan: otomatisasi boleh menemukan, tetapi hanya penulis yang boleh menerbitkan klaim. Pemindai hanya menulis ke Radar, dan pengarsip hanya menambahkan tautan salinan arsip di samping sumber. Catatan, instrumen, dan janji hanya berubah lewat suntingan manusia yang melewati pemeriksaan yang sama dengan perubahan lain. Hasil janji tidak pernah disunting sama sekali: hasilnya dihitung.

2. Teknologi

Teknologi
LapisanPilihanAlasan
DataYAML files, JSON Schema 2020-12Mudah dibaca di diff, bisa disunting manual, terekam di git.
ValidasiAjv 8, js-yaml 4, Node.jsCatatan dan janji diperiksa dengan skema yang diterbitkan. Aturan yang tidak bisa dinyatakan skema dijalankan lewat skrip sebelum setiap build.
SitusAstro 7, static outputTanpa server, tanpa kerangka klien, tanpa pelacakan. Skrip kecil hanya untuk filter dan tema.
PemantauanNode.js scanner, GitHub Actions cronGratis, terjadwal, tercatat, dan setiap hasilnya berupa commit yang bisa ditinjau.
TriaseClaude API through the official Anthropic SDK, structured JSON outputPendapat kedua yang opsional tentang relevansi. Pemindai tetap bekerja tanpanya.
Kartu pratinjauresvg-js, Inter (SIL Open Font License)Kartu digambar sebagai SVG lalu dirender menjadi PNG saat pembangunan, jadi setiap kartu sesuai dengan data saat dibuat. Fonnya hanya dipakai untuk gambar, tidak pernah dimuat situs.
HostingVercel, Node 24Membangun setiap push ke main dan menyajikan berkas statis.

3. Peta repositori

data/
  entries/*.yml        one file per entry (the ledger itself)
  instruments.yml      laws, drafts and guidance, with dossier fields
  deadlines.yml        public promises, newest first, in the promise format
  schema.json          JSON Schema for entries
  ontology.yml         institutions and curated, sourced links
  build-log.yml        every change asked for, shown below
  radar.yml            scanner output: unreviewed leads
  scan-log.yml         one row per scan
  watch/sources.yml    what the scanner reads
  watch/keywords.yml   how it scores
  watch/seen.json      ids already seen, so leads never return
docs/standard/v0.1/   the promise format: spec, JSON Schema, worked examples
kit/                   a starting point for a ledger in another country
scripts/
  validate.mjs         schemas and project rules, run before every build
  promises.mjs         deadline rules and computed outcomes, used everywhere
  archive.mjs          preserved copies of sources in the Internet Archive
  ontology.mjs         fuses all data into one graph of objects and links
  make-share-images.mjs  link preview cards and icons (resvg, fonts/)
  *.test.mjs           tests for promises, archive and ontology
  scan.mjs             the monitoring layer
  scan/parse.mjs       RSS, Atom and HTML link parsing
  scan/score.mjs       scoring, deduplication, dash rule
  scan/triage.mjs      optional Claude second opinion
  scan/scan.test.mjs   tests on synthetic fixtures
  new-entry.mjs        creates a dated entry from a template
  check-links.mjs      reports sources that stopped responding
site/                  Astro static site, no client framework
.github/workflows/
  ci.yml               tests, validation and build on every push
  scan.yml             the scheduled scan

4. Model data

  • Catatan (skema): id, tanggal, instrumen, status, tingkat bukti, judul dan ringkasan dalam dua bahasa, tujuh kode Lensa keselamatan beserta kalimat dasarnya dalam dua bahasa dan tanggal diperiksanya, tanggal terakhir dicek, perbandingan Uni Eropa, pendapat penulis (opsional, hanya ditulis penulis), dan paling sedikit satu sumber dengan judul, media, bahasa, dan URL. Kutipan opsional harus kurang dari 15 kata.
  • Instrumen: id, nama, jenis, status, kekuatan hukum, sumber, dan isian berkas: penerbit, bentuk hukum, pokok isi, padanan Uni Eropa, rujukan, dan apakah penulis sudah membacanya lengkap.
  • Janji (format, skema): tanggal diucapkan, negara, siapa yang mengucapkan dan jabatannya, jenis klaim, untuk janji bertenggat aturan tenggat, tenggat, dan ketepatannya, kalimat yang mendasari tenggat, janji dan apa yang terjadi sesudahnya dalam dua bahasa, tanggal hasil opsional beserta sumbernya, tingkat bukti, serta sumber beserta salinan arsipnya. Tidak ada kolom hasil: hasilnya dihitung.
  • Makalah analisis (aturan): Markdown dengan front matter (judul, penulis, tanggal terbit dan tanggal fakta, versi, berkas sumber, ringkasan), sumber bernomor dengan tanggal akses dan salinan arsip, serta kutipan yang ditandai. Teks bahasa Indonesia boleh berupa terjemahan draf sebagian.
  • Insiden AI garda depan (skema): pengembang, jenis, tanggal aktivitas, saat diketahui, pemberitahuan, dan pengumuman sesuai sumber, siapa yang pertama melihat, otoritas yang diberi tahu dan jalurnya, negara, ringkasan dalam dua bahasa, dan sumber. Jumlah hari dihitung oleh scripts/frontier.mjs.
  • Bacaan (skema): judul, penulis, tahun, jenis, url, status (direncanakan, sedang dibaca, sudah dibaca), dan untuk yang sudah dibaca, tanggal selesai serta catatan penulis dalam dua bahasa.
  • Petunjuk: id (hash dari URL yang dinormalkan), tanggal ditemukan, tanggal terbit, judul, URL, media, negara, bahasa, id sumber, skor, kata yang cocok, petunjuk instrumen opsional, triase Claude opsional, dan status tinjauan: baru, sudah ditinjau, dijadikan catatan, atau diabaikan.

5. Pemindai

Pemindai (scripts/scan.mjs) menjalankan langkah-langkah ini secara berurutan:

  1. Membaca daftar sumber. 14 sumber di data/watch/sources.yml. Pencarian berita memakai RSS Google News dalam edisi bahasa yang sesuai, dibatasi 30 hari terakhir. Halaman resmi dibaca tautannya.
  2. Mengambil. Setiap sumber diminta dengan batas waktu 25 detik dan satu kali percobaan ulang, dengan identitas pemindai Monsoon Ledger. Sumber yang gagal dicatat lalu dilewati. Pemindaian hanya dianggap gagal bila semua sumber gagal.
  3. Mengurai. Pengurai kecil mengambil judul, tautan, media, tanggal terbit, dan ringkasan dari RSS atau Atom, atau teks tautan dari HTML. Yang disimpan hanya teks dan tautan http atau https absolut, tidak pernah markup atau skrip.
  4. Menilai. Setiap judul dicocokkan dengan 38 istilah berbobot di data/watch/keywords.yml, dalam bahasa Indonesia dan Inggris. Skornya adalah jumlah bobot istilah berbeda yang ditemukan. Petunjuk disimpan bila skornya 4 atau lebih, hanya bila paling sedikit satu istilah inti (AI atau pelindungan data) ikut cocok, sehingga nama lembaga saja tidak pernah cukup, dan kecuali muncul salah satu dari 11 istilah pengecualian.
  5. Menyaring duplikat. URL dinormalkan (huruf host, parameter pelacak, fragmen, garis miring di akhir) lalu di-hash menjadi id sepuluh karakter. Petunjuk dilewati bila id-nya pernah terlihat, bila judul yang sama datang lewat URL lain, atau bila beritanya sudah menjadi sumber di catatan. Karena pencarian berita memakai tautan pengalihan, URL sumber di catatan juga dibandingkan lewat slug yang bisa dibaca.
  6. Petunjuk dan label. Istilah petunjuk menyarankan instrumen mana yang mungkin terkait, dan ditautkan di Radar. Label negara diambil dari judul, lalu nama media, dan bila tidak jelas memakai negara sumber yang menemukannya, sehingga berita Malaysia yang ditemukan lewat pencarian Indonesia tetap berlabel Malaysia.
  7. Triase, opsional. Bila rahasia ANTHROPIC_API_KEY dipasang, sampai 30 petunjuk baru dikirim ke Claude dalam satu permintaan. Claude hanya melihat judul, media, tanggal, dan negara, dan wajib menjawab dalam skema JSON tetap: relevan atau tidak, jenis peristiwa, instrumen, satu kalimat yang mengulang judul, dan tingkat keyakinan. Id dan id instrumen yang dikembalikan dicocokkan dengan masukan, ringkasan dibatasi 30 kata, dan setiap galat atau penolakan membuat petunjuk tetap tanpa triase. Di situs, ringkasan itu diberi label ringkasan mesin dari judul.
  8. Menulis. Petunjuk baru digabung ke data/radar.yml, terbaru di atas. Petunjuk yang belum ditinjau disimpan 180 hari, yang sudah ditinjau setahun, dan indeks yang pernah terlihat 400 hari supaya petunjuk yang sudah dibuang tidak kembali. Tanda pisah panjang di judul diganti tanda hubung, karena proyek ini melarangnya.

Pemindai diuji dengan data contoh sintetis (scan.test.mjs): penguraian, penilaian, pengecualian, penyaringan duplikat, aturan tanda pisah, dan bahwa pemindaian kedua tidak menambah apa pun.

6. Janji, bukti janji, dan kartu

  • Satu modul hasil. scripts/promises.mjs menurunkan tenggat dari aturannya dan menghitung hasil setiap janji (terpenuhi, terlewat, masih terbuka, atau tanpa tenggat), jumlah hari lewat atau tersisa, dan angka utama. Validator, ontologi, semua halaman, umpan RSS, dan kartu pratinjau memanggil modul ini, jadi angka tidak mungkin berbeda di dua tempat. Hasil dihitung menurut WIB dan tidak pernah disimpan.
  • Per hari pembangunan. Setiap angka menyebut hari penghitungannya. Skrip kecil di tata letak halaman memperbarui jumlah hari di halaman bukti janji ke hari pembaca. Jika sebuah tenggat lewat setelah pembangunan, halaman tetap memakai angka hari pembangunan, yang saling sesuai, sampai pembangunan berikutnya, paling sedikit dua kali seminggu lewat commit pemindaian.
  • Bukti janji. Setiap janji punya halaman tetap di /en/promises/<kunci>/ dan /id/promises/<kunci>/, dengan kunci berupa tanggal diucapkan dan nama pembicara, sama dengan kunci objeknya di ontologi. Halaman itu menampilkan kata-kata dalam bahasa Indonesia dan Inggris, tenggat dan dasarnya, hasil yang dihitung dan jumlah harinya, bukti, sumber dan salinan arsipnya, kutipan dalam teks biasa, APA, dan BibTeX beserta versi datanya (hash pendek commit terakhir yang mengubah data/), serta catatan dan instrumen yang terhubung.
  • Kartu pratinjau. scripts/make-share-images.mjs menggambar setiap kartu sebagai SVG lalu merendernya menjadi PNG dengan resvg saat situs dibangun: satu kartu per bukti janji per bahasa, ditambah kartu situs. Setiap kartu menampilkan hasil, jumlah hari, dan hari kartu dibuat. Skrip yang sama membuat ulang ikon situs. Seluruh pembangunan hanya butuh beberapa detik.
  • Umpan RSS. Umpan RSS mendapat satu item ketika hasil sebuah janji berubah, bertanggal sehari setelah tenggat yang terlewat atau hari janji ditepati.
  • Pengujian. promises.test.mjs menguji tahun kabisat, akhir bulan, bulan yang dihitung dari tanggal 31, hari tenggat itu sendiri, janji yang ditepati tepat pada hari tenggat, janji bersyarat dan klaim kemajuan, serta zona waktu.

7. Arsip bukti

  • Apa. scripts/archive.mjs (npm run archive) menyimpan salinan setiap url sumber janji, instrumen, catatan, makalah analisis, dan rujukan insiden AI garda depan di Internet Archive.
  • Caranya. Skrip ini lebih dulu menanyakan salinan yang sudah ada ke API ketersediaan Wayback Machine. Jika tidak ada, skrip meminta salinan baru lewat Save Page Now, paling banyak delapan per pemindaian dengan jeda dua belas detik di antaranya.
  • Apa yang ditulis. Hanya archive_url dan archived_at, di samping setiap sumber, dengan menyunting baris sehingga komentar dan teks lipat tetap persis seperti semula. Kolom lain tidak pernah diubah.
  • Kapan. Setelah setiap pemindaian terjadwal. Skrip ini boleh gagal tanpa menghentikan pemindaian atau pembangunan; kegagalannya tercatat di alur kerja, dan validator memberi peringatan untuk setiap sumber yang belum punya salinan.
  • Pengujian. archive.test.mjs memalsukan jaringan dan memeriksa pencarian salinan, penyimpanan, pembatasan laju, penanganan kegagalan, uji coba tanpa menulis, dan bahwa suntingan berkas tidak menyentuh hal lain.

8. Jadwal dan penerbitan

  • Kapan. Setiap Senin dan Kamis pukul 06.17 WIB (cron 17 23 * * 0,3 dalam UTC), supaya petunjuk baru sudah menunggu di awal hari kerja di Jakarta. Dua kali seminggu sesuai dengan seberapa sering berita kebijakan AI Indonesia benar-benar bergerak, tanpa membanjiri Radar.
  • Apa yang dijalankan. Alur kerja pemindaian memasang dependensi, menjalankan pengujian, menjalankan pemindaian, mengarsipkan sumber, memvalidasi data, dan membangun situs. Hanya bila validasi dan pembangunan lolos, alur kerja meng-commit radar.yml, scan-log.yml, seen.json, dan tautan arsip baru ke main.
  • Penerbitan. Commit itu memicu Vercel, yang membangun dan menyajikan situs statis yang baru. Tidak ada server yang terlibat.
  • Pada pull request. Perubahan pada pemindai menjalankannya sebagai uji coba terhadap sumber asli, tanpa Claude dan tanpa commit, supaya perubahan diuji pada umpan nyata sebelum digabung.
  • Sesuai permintaan. Alur kerja ini juga bisa dijalankan manual dari tab GitHub Actions.

9. Gerbang mutu

Setiap push, oleh penulis maupun pemindai, melewati empat gerbang di CI: pengujian (pemindai, janji, ontologi, arsip, makalah analisis, pemeriksaan kutipan, lensa keselamatan, insiden AI garda depan, daftar bacaan, dan kesetaraan bahasa), validator, JSON Schema, dan pembangunan situs penuh yang diakhiri pemeriksaan kesetaraan: setiap halaman harus ada dalam bahasa Inggris dan Indonesia kecuali ditandai sebagian. Validator juga memeriksa makalah analisis (setiap rujukan, setiap sumber, hanya https, tanpa url ganda, panjang kutipan, dan satu kutipan per sumber), hasil pemeriksaan kutipan, aturan lensa keselamatan, rujukan insiden AI garda depan, dan daftar bacaan. npm run links memeriksa setiap tautan dan jangkar internal di situs yang sudah dibangun. Validator memeriksa catatan, instrumen, janji, sumber yang dipantau, dan setiap petunjuk Radar. Janji diperiksa dengan skema janji yang diterbitkan, dan setiap tenggat dihitung ulang dari aturannya. Contoh di dokumentasi format diperiksa dengan cara yang sama. Sumber tanpa salinan arsip dilaporkan sebagai peringatan, bukan kegagalan. Tanda pisah panjang di mana pun di proyek ini ditolak. Dengan npm run validate -- --data <folder> validator yang sama hanya memeriksa folder data sebuah catatan janji, misalnya kit. Pemeriksaan untuk catatan dijelaskan di halaman Protokol penelitian.

10. Dari petunjuk ke catatan

  1. Buka Radar dan pilih sebuah petunjuk.
  2. Buka sumbernya, lalu cari naskah asli atau pernyataan resmi yang dilaporkannya, sesuai protokol verifikasi.
  3. Bila tidak bertahan, ubah statusnya menjadi dismissed di data/radar.yml. Bila layak dipantau, ubah menjadi reviewed.
  4. Bila bertahan, jalankan npm run new-entry -- --slug id-topik, isi setiap kolom dari sumber yang sudah dibaca, lalu ubah petunjuk itu menjadi promoted dengan promoted_to berisi id catatan baru.
  5. Jalankan npm run validate, commit, dan push. CI memeriksanya dan Vercel menerbitkannya.

11. Cara Claude dipakai

Monsoon Ledger dibangun dari repositori kosong dengan Claude Code, agen pemrograman buatan Anthropic, dalam sesi cloud yang tersambung ke repositori GitHub. Pembagian kerjanya tetap:

  • Penulis menentukan cakupan, memilih apa yang dilacak, membaca sumber, menetapkan setiap tingkat bukti, menulis setiap "Pendapat saya", dan menyetujui setiap penggabungan ke main.
  • Claude menulis kode dan konfigurasi, membuat draf dan terjemahan untuk ditinjau penulis, mengecek URL dan kutipan hukum terhadap basis data sebelum dipakai, serta menjalankan pengujian, validator, dan build sebelum setiap push.
  • Aturannya ada di CLAUDE.md, yang dibaca Claude di awal setiap sesi: jangan pernah mengarang fakta, kutipan, tanggal, atau URL, tinggalkan TODO yang ditandai, jangan menulis ulang kata-kata penulis, dan lolos validator. Validator menegakkan bagian yang bisa diperiksa mesin.

Pembangunan sejauh ini. Setiap pembaruan yang diminta penulis dicatat di data/build-log.yml, termasuk perbaikan, pembatalan, dan pengembalian versi, supaya riwayat situs tetap terlihat. Terbaru di atas, masing-masing dengan pull request dan commit-nya.

  1. 2026-10-27

    FiturPR #8

    Penjelajah ontologi menjadi konsol tiga lapisan

    Grafik berbasis gaya sebelumnya teracak ulang setiap kali pemindaian selesai dan menjadi kusut bila semua tipe objek dinyalakan, karena 62 dokumen sumber mengisi separuhnya. Penggantinya adalah satu jendela dengan tiga tab. Semantik menempatkan objek di lajur tetap dengan urutan yang stabil, mengelompokkan dokumen, media, dan rujukan sampai sebuah pilihan membutuhkannya, dan hanya menggambar tautan di sekitar objek yang dipilih. Kinetik menaruh setiap peristiwa bertanggal pada satu sumbu waktu beserta log peristiwa. Dinamis mencantumkan apa yang perlu diperhatikan pada hari situs dibangun, dihitung dari data tanpa ramalan. Ketiganya memakai satu panel pemeriksa yang sama, dan jendelanya bisa dibuka layar penuh. Di ponsel, lajur bisa dilipat dan panel pemeriksa muncul dari bawah. Diperbaiki saat pengujian: nama kelas yang bentrok membuat bilah jendela gepeng, panel pemeriksa menutupi tombol cari dan layar penuh, tombol Escape tidak berfungsi setelah Kembali, dan pencarian tidak menemukan nama pendek seperti GDPR.

    7f425cf

  2. 2026-10-27

    KontenPR #7

    README, halaman Sistem teknis, dan aturan kerja diperbarui untuk lapisan baru

    README kini memuat halaman baru, cara kerja makalah analisis, pemeriksaan kutipan, rujukan insiden, dan daftar bacaan, gerbang mutu, serta susunan proyek. Halaman Sistem teknis menjelaskan model data dan pemeriksaan yang baru. Aturan kerja di CLAUDE.md mencakup lensa, insiden, bacaan, dan kutipan. Paragraf README tentang penggunaan AI diberi catatan untuk dikonfirmasi penulis, karena Claude menyusun draf dua catatan dan terjemahan bahasa Indonesia pada putaran ini.

    a7caace

  3. 2026-10-27

    FiturPR #7

    Pemeriksaan kesetaraan bahasa, pemeriksaan tautan internal, dan perbaikan aksesibilitas

    Pembangunan situs kini gagal bila sebuah halaman hanya ada dalam satu bahasa, kecuali ditandai sebagian, atau bila kolom data berbahasa Inggris tidak punya padanan bahasa Indonesia. Pemeriksaan baru tanpa jaringan memastikan setiap tautan dan jangkar internal di situs berfungsi. Pemeriksaan aksesibilitas otomatis tidak menemukan masalah kontras atau label di halaman baru. Yang diperbaiki saat pengujian: tabel data tersembunyi membuat halaman makalah selebar 722 piksel di ponsel, bilah menu terlalu sesak pada lebar 1280 piksel dengan delapan item, dan dua peringatan landmark. Tautan eksternal tidak bisa diperiksa dari lingkungan pembangunan, yang memblokir situs-situs itu.

    fd75cf0

  4. 2026-10-27

    KontenPR #7

    Bagian halaman Tentang tentang arah proyek

    Satu bagian pendek, "Arah ke depan", memakai kata-kata penulis sendiri dalam bahasa Inggris dan Indonesia, ditandai di kode sumber untuk dikonfirmasi penulis. Tidak ada hal lain tentang penulis yang berubah.

    bcd283b

  5. 2026-10-27

    FiturPR #7

    Halaman Koreksi, ringkasan dua halaman, dan panduan kontribusi

    Halaman Koreksi memuat setiap baris catatan perubahan yang ditandai koreksi. Ringkasan dua halaman Analisis 01 yang bisa dicetak mengambil temuan dan rekomendasi dari teks makalah sendiri dan linimasanya dari data insiden. Ada panduan kontribusi, kode etik, kebijakan keamanan, dan formulir isu untuk koreksi, sumber, dan janji. Discussions dan pelaporan kerentanan secara privat belum diaktifkan; itu pengaturan repositori yang perlu dilakukan penulis.

    ad04984

  6. 2026-10-27

    FiturPR #7

    Daftar bacaan

    Daftar bacaan untuk makalah analisis, diperiksa validator: bacaan yang ditandai sudah dibaca wajib punya tanggal selesai dan catatan penulis dalam dua bahasa. International AI Safety Report 2026 sedang dibaca; empat laporan tentang pelaporan insiden direncanakan. Tidak ada catatan yang ditulis atas nama penulis.

    6dddf94

  7. 2026-10-27

    FiturPR #7

    Rujukan insiden AI garda depan

    Empat laporan publik tentang model atau agen AI garda depan yang bertindak di, atau dipakai menyerang, sistem di luar kendali pengembangnya, dengan tanggal hanya sesuai sumber dan jumlah hari dihitung oleh kode. Analisis 01 kini membaca angka 84 dan 30 hari dari data ini, dan pembangunan gagal bila angkanya bergeser. Beberapa tanggal tidak disebut sumber mana pun yang dibaca, antara lain kapan OpenAI mengetahui aktivitas di Hugging Face dan wiki, serta kapan Komisi menerima laporan OpenAI; tanggal itu dibiarkan kosong.

    ed1bec7

  8. 2026-10-27

    FiturPR #7

    Lensa keselamatan v2 dan dua catatan dari naskah yang diterbitkan

    Tiga pertanyaan lensa baru untuk setiap catatan: siapa penerima laporan insiden dan apakah badan itu ada, cakupan lintas batas, dan cakupan AI garda depan. Setiap nilai yang dikodekan kini menyebut sumbernya, dan nilai tidak tidak boleh lagi diambil dari berita. Nilai penegakan pada catatan peta jalan berubah dari tidak ada menjadi belum jelas karena tidak ada sumber yang menyatakannya. Catatan baru untuk Surat Edaran 9/2023 dan panduan AI generatif ASEAN, tanpa pendapat penulis. Halaman baru Lensa keselamatan.

    4e5200d

  9. 2026-10-27

    PerbaikanPR #7

    Pemeriksaan kutipan, perbaikan data yang sudah diverifikasi, halaman Silencing dilepas dari beranda

    Pemeriksaan kutipan membaca setiap sumber dan mencari kata-kata persis kutipannya; 13 dari 13 ditemukan pada 27 Oktober 2026, memakai salinan lokal sumber karena lingkungan pembangunan tidak bisa menjangkaunya. Kutipan pada catatan pelaporan semua insiden kini diatribusikan kepada Aju Widyasari dengan nama dan jabatannya, satu baris janji mencatat jabatan Irma Handayani, dan satu dasar tenggat menyebut kedua tafsir dalam sumbernya. Draf Silencing by automation tidak lagi ditautkan dari beranda dan tidak diindeks mesin pencari; alamatnya tetap.

    d282884

  10. 2026-10-27

    FiturPR #7

    Analisis 01, "Tak Ada yang Bisa Dihubungi", diterbitkan

    Makalah analisis pertama, dengan rujukan bernomor, gambar dan tabel janji yang dihitung dari catatan janji, format kutipan, unduhan Word, metadata Scholar, dan terjemahan draf bahasa Indonesia untuk bagian-bagian utamanya. Sebelum terbit, klaimnya diperiksa terhadap sumber: kutipan dipersingkat atau dikurangi menjadi satu per sumber, baris California dan New York, tanggal pengungkapan Hugging Face, dan nama wiki dikoreksi, serta sebelas sumber primer ditambahkan. Tafsir keliru bahwa 17 Oktober 2024 adalah tenggat pembentukan lembaga pelindungan data dikoreksi di halaman Instrumen dan Metode. Yang belum bisa diverifikasi: naskah resmi PP 33/2026, dan angka penduduk di paragraf "Why Indonesia" dalam makalah, yang ditandai untuk penulis. Salinan arsip sumber baru belum bisa dibuat dari lingkungan pembangunan; pemindaian terjadwal akan mencobanya.

    325339f

  11. 2026-10-25

    FiturPR #6

    Hasil janji yang dihitung, bukti janji, format janji terbuka, dan pengarsipan bukti

    Hasil janji kini dihitung dari tenggat yang diturunkan dengan aturan yang diterbitkan, jadi angka utama dihitung dari janji bertenggat (4 dari 5 terlewat) dengan janji bersyarat dan klaim kemajuan ditampilkan terpisah, bukan 4 dari 7 yang diisi manual. Setiap janji punya halaman bukti janji dan kartu pratinjau. Formatnya diterbitkan bersama JSON Schema yang dipakai validator, contoh nyata, dan kit untuk negara lain. Sumber disimpan salinannya di Internet Archive setelah setiap pemindaian. Peta cuaca dan jam berjalan, yang mengulang tujuh tenggat yang sama, dihapus. Satu tingkat denda GDPR di catatan kebocoran data dikoreksi.

    b786b78 55e8dce 12a131a 314162f e15b19f

  12. 2026-10-23

    FiturPR #5

    Lapisan visual, ontologi, abstrak Tentang, ikon, dan pratinjau tautan

    Peta cuaca hidup di beranda dengan penanda untuk tujuh tenggat publik, jam berjalan sejak janji pertama, penggeser putar ulang di Janji vs Kenyataan, grafik di Catatan dan Radar, panel baca di halaman panjang, dan gerak di seluruh situs. Lapisan ontologi menghubungkan catatan, instrumen, janji, pejabat, lembaga, dan dokumen, lengkap dengan penjelajah grafik dan ekspor JSON. Halaman Tentang menjadi abstrak riset, dengan latar belakang penulis dari CV dan ijazah yang dibagikan penulis (hanya fakta profesional, berkasnya tidak diterbitkan). Ikon dan kartu pratinjau baru agar tautan tampil rapi di aplikasi obrolan. Slogan kini berbunyi "janji dicocokkan dengan catatan". Log pembangunan ini menggantikan linimasa yang ditulis manual.

    dd028b3 6135efb b7f7fd4 4d8ec6d b6306ab

  13. 2026-10-23

    PerbaikanPR #4

    Penilaian pemindai diperketat setelah uji langsung pertama

    Uji langsung pertama meloloskan judul yang hanya menyebut nama lembaga, memberi negara yang salah pada sebagian petunjuk, dan mengulang berita yang sudah ada di catatan. Istilah inti, petunjuk negara, dan pencocokan slug memperbaiki ketiganya.

    91c6855

  14. 2026-10-23

    FiturPR #4

    Lapisan pemantauan, Radar, dan halaman Sistem teknis

    Pemindai yang membaca sumber pantauan dua kali seminggu dan mencantumkan petunjuk yang belum ditinjau di halaman Radar baru, lengkap dengan pengujian, alur kerja terjadwal, dan halaman ini yang mendokumentasikan seluruh sistem. Tabel ganda dan judul berulang dihapus.

    95c8430

  15. 2026-10-23

    KontenPR #3

    Metode dan Instrumen diperluas menjadi protokol riset bersumber

    Protokol riset di halaman Metode dan berkas tiap instrumen, dengan rujukan bernomor yang dibuka dulu sebelum ditambahkan.

    309286a

  16. 2026-10-22

    PerbaikanPR #3

    Desain baru dipulihkan setelah penerbitan dari cabang lama

    Situs produksi sempat diterbitkan dari cabang yang dibuat sebelum desain ulang, sehingga situs menampilkan desain lama. Desain baru digabungkan kembali, catatan hukum dipindahkan ke desain itu, lalu situs diterbitkan ulang. Pelajarannya: cek main sebelum setiap penerbitan.

    e01a8a7

  17. 2026-10-22

    KontenPR #3

    Catatan hukum tentang pembungkaman lewat otomatisasi

    Draf kerja catatan hukum dalam bahasa Inggris dan Indonesia, dengan tautan dari beranda.

    2106df6

  18. 2026-10-22

    PerbaikanPR #3

    Satu alamat untuk situs

    Alamat Vercel tambahan kini dialihkan ke monsoonledger.vercel.app, sehingga hanya satu alamat yang melayani situs.

    f49efd7

  19. 2026-10-22

    FiturPR #2

    Desain ulang menjadi konsol analitis dua bahasa

    Desain konsol gelap dengan tema terang, matriks Lensa keselamatan, dan peta instrumen. Tidak ada data yang berubah.

    63a28ac

  20. 2026-10-22

    FiturPR #1

    Penerbitan pertama di Vercel

    Situs mulai tayang dan diarahkan ke alamat publiknya.

    51ea1f5

  21. 2026-10-22

    Fitur

    Repositori, model data, catatan pertama, dan situs dua bahasa

    Struktur repositori, lisensi dan CI, skema catatan dan validator, instrumen, tenggat Janji vs Kenyataan, empat catatan pertama, situs Astro dua bahasa, README, aturan proyek di CLAUDE.md, dan catatan perubahan.

    12614ad 996aa5d 26c2dfd 4518e71 bf20b7e 29a95ea 422f381

12. Menjaga tetap mutakhir

  • Dua kali seminggu, otomatis. Pemindaian berjalan, Radar diperbarui, dan riwayat pemindaian mencatatnya.
  • Mingguan, penulis. Tinjau Radar, abaikan atau jadikan catatan setiap petunjuk baru, dan tulis catatan untuk yang bertahan.
  • Bila sesuatu terjadi pada sebuah janji. Isi outcome_date dan outcome_source_url di data/deadlines.yml, perbarui keterangan hasilnya, lalu tambahkan baris bertanggal di catatan perubahan. Hasilnya sendiri dihitung. Janji baru dicatat dalam baris baru beserta jenis klaim, aturan tenggat, dan kalimat yang mendasarinya.
  • Bulanan. Jalankan npm run links, buka ulang sumber catatan yang tercantum sebagai "perlu dicek ulang" di Radar, dan perbarui tanggal terakhir dicek.
  • Bila cakupan bergeser. Tambah atau ubah sumber dan istilah di data/watch/. Uji coba pada pull request menunjukkan dampaknya pada umpan nyata sebelum digabung.

13. Keamanan dan privasi

  • Tanpa analitik, tanpa cookie, tanpa pelacak, dan tanpa fon eksternal. Situsnya berupa berkas statis.
  • Satu-satunya rahasia adalah ANTHROPIC_API_KEY yang opsional, disimpan sebagai rahasia GitHub Actions, tidak pernah di repositori. Uji coba pada pull request tidak pernah memakainya.
  • Alur kerja pemindai hanya punya akses tulis ke isi repositori, dan hanya pada pemindaian terjadwal atau manual.
  • Umpan dan halaman diperlakukan sebagai masukan yang tidak tepercaya: hanya teks dan tautan yang diambil, dan tautan dibuka dengan rel="noopener nofollow".
  • Pemindai mengumpulkan judul dari berita publik dan situs resmi. Pemindai tidak mengumpulkan unggahan media sosial atau data tentang orang perseorangan.

14. Batas otomatisasi

  • Hanya judul. Pemindai membaca judul dan ringkasan umpan, bukan artikel lengkap. Relevansi dinilai dari teks yang sedikit.
  • Cakupan dan ketepatan. Aturan kata kunci bisa melewatkan berita yang ditulis dengan cara tak terduga, dan meloloskan sebagian derau. Ambang batas menyeimbangkan keduanya, dan Radar menampilkan kata yang cocok supaya pilihannya terlihat.
  • Tautan Google News. Hasil pencarian berita ditautkan lewat Google News, yang mengalihkan ke media aslinya. Nama media dicatat supaya sumber aslinya bisa ditemukan.
  • Situs resmi. Sebagian halaman pemerintah memuat isinya dengan JavaScript atau memblokir permintaan otomatis. Sumber seperti itu tercatat gagal di riwayat pemindaian, tidak diam-diam.
  • Ringkasan mesin. Satu kalimat dari Claude hanya mengulang judul. Kalimat itu belum diverifikasi dan diberi label demikian.
  • Cakupan arsip. Ada situs yang menolak Internet Archive, dan Save Page Now membatasi permintaan tanpa akun. Sumber yang belum diarsipkan tetap ditandai sampai pemindaian berikutnya berhasil.

15. Menjalankan sendiri

git clone https://github.com/SteveBehren/monsoon-ledger
cd monsoon-ledger
npm run setup          # install dependencies (Node 22.23.4 or newer)
npm test               # scanner, promise, ontology and archive tests
npm run validate       # schemas and project rules
npm run validate -- --data kit/data     # check a promise ledger folder only
npm run scan -- --dry-run --no-claude   # live scan, writes nothing
npm run archive -- --dry-run            # check archive coverage, writes nothing
node scripts/make-share-images.mjs      # regenerate the site icons
npm run dev            # local site at http://localhost:4321

Pemindaian terakhir yang tercatat: Radar