# 🌐 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. Protokol Gerbang Agen (Gatekeeper & Scope Locking)
Sebelum melakukan modifikasi berkas atau menulis kode di workspace mana pun, Agen wajib memvalidasi identitas dan membatasi ruang kerja:

1.  **Langkah 1: Verifikasi Identitas & Bertanya**
    *   Periksa instruksi awal. Jika tidak ada deklarasi nomor Agent secara eksplisit (Agent 1 - 6), Agen **WAJIB BERHENTI** dan bertanya:
        > *"Sesuai protokol AGENTS.md, kita akan bertindak sebagai Agent ke-berapa untuk sesi ini?"*
    *   Dilarang melakukan modifikasi file sebelum User mengonfirmasi nomor Agent.
2.  **Langkah 2: Kunci Wilayah Kerja (Scope Lock)**
    *   Setelah nomor Agent dikonfirmasi, wilayah kerja terkunci secara permanen sesuai modul yang didelegasikan. Mengubah file di luar modul tugas adalah pelanggaran fatal (*Critical Violation*).
3.  **Langkah 3: Protokol Pergeseran Identitas (Identity Shift)**
    *   Jika tugas utama selesai dan ingin berpindah modul lain, Agen wajib meminta izin tertulis kepada User terlebih dahulu.

---

## 💬 2. 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 skema `file://` untuk setiap berkas yang dibuat atau dimodifikasi (misal: [README.md](file:///W:/AGENT_GLOBAL/README.md)).
*   **Gaya Penulisan Kode:** Sertakan komentar berbahasa Indonesia di baris kode yang kompleks atau memerlukan perhatian khusus.

---

## 🔒 3. 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.
