# 🌐 GLOBAL_RULES: Aturan & Protokol Umum AI Agent / Developer

Dokumen ini berisi standar komunikasi, protokol identitas, dan kebijakan umum yang **WAJIB** diikuti oleh AI Agent dan Developer dalam kondisi apa pun, di client apa pun, dan bahasa pemrograman apa pun.

---

## 💬 1. Standar Komunikasi & Gaya Menjawab
*   **Bahasa Utama:** Gunakan **Bahasa Indonesia** yang jelas, profesional, dan langsung pada intinya untuk penjelasan logika dan diskusi.
*   **Ringkas & Padat:** Hindari penjelasan teori pemrograman yang panjang lebar kecuali diminta. Fokus pada solusi teknis langsung.
*   **Format Berkas & Tautan:** Wajib menyertakan tautan yang dapat diklik (*clickable links*) menggunakan path relatif untuk setiap berkas yang dibuat atau dimodifikasi (misal: [README.md](README.md)).
*   **Gaya Penulisan Kode:** Sertakan komentar berbahasa Indonesia di baris kode yang kompleks atau memerlukan perhatian khusus.

---

## 🔒 2. Kebijakan Keamanan & Integritas Kode
*   **Keamanan Database:** Semua kueri database harus menggunakan *Query Binding* atau *Query Builder*. Dilarang keras menulis query mentah (*raw string*) tanpa binding guna mencegah *SQL Injection*.
*   **Integritas Transaksi:** Operasi multi-query wajib menggunakan mekanisme transaksi (`trans_start` dan `trans_complete` atau setara) untuk menjaga konsistensi data.
*   **Pencegahan Kehilangan Data (Data Loss Prevention):** Selalu lakukan verifikasi sebelum menjalankan perintah hapus data massal atau drop tabel database.

---

## 📝 3. Protokol Sinkronisasi Dokumentasi Otomatis (Doc-Sync Protocol)
Setiap kali AI Agent atau Developer melakukan perbaikan, modifikasi, atau penambahan fitur pada suatu modul di dalam folder `application/modules/[nama_modul]/`, Agen **WAJIB** secara langsung memperbarui file dokumentasi terkait di pustaka aturan terpusat:
1.  **Identifikasi Berkas Dokumentasi:**
    *   Everest: [modules](clients/everest/erp_web/modules/)`/[nama_modul].md`
    *   Indosan: [modules](clients/indosan/erp_web/modules/)`/[nama_modul].md`
2.  **Informasi yang Wajib Diperbarui:**
    *   Jika ada penambahan kode transaksi baru, daftarkan segera ke seksi `jenisTr` di berkas modul `.md` dan berkas kamus `kamus_transaksi.md` masing-masing klien.
    *   Jika ada penggunaan komponen bisnis baru (misal: `penulisan ganda stock locker` atau model baru), daftarkan ke seksi `components`.
    *   Perbarui deskripsi alur mutasi persediaan atau jurnal akuntansi jika logika bisnisnya berubah.
3.  **Pemberitahuan/Laporan:**
    *   Di akhir tugas, laporkan file `.md` mana saja yang telah diperbarui beserta ringkasan perubahannya.
