43 lines
2.5 KiB
Markdown
43 lines
2.5 KiB
Markdown
# Agent Safety Rules
|
|
|
|
## Destructive Actions
|
|
- Never run destructive actions directly when the request is ambiguous.
|
|
- Destructive actions include (not limited to): `DELETE`, `TRUNCATE`, `DROP`, mass `UPDATE`, file deletion, force-reset, and similar irreversible operations.
|
|
- Before executing destructive actions, the agent must:
|
|
1. Confirm exact target scope (table/file/column/ID/filter).
|
|
2. Show a short preview of affected scope when possible.
|
|
3. Ask for explicit user confirmation.
|
|
|
|
## Ambiguous Instructions
|
|
- If instruction can be interpreted in more than one way, do not execute immediately.
|
|
- Ask a concise clarification first, then proceed after confirmation.
|
|
|
|
## Priority
|
|
- Safety confirmation is mandatory and overrides speed.
|
|
|
|
## Commit Message Format
|
|
- Sebelum membuat commit, **selalu tanya kode task** kepada user.
|
|
- Format commit message wajib: `TASKCODE - deskripsi singkat`
|
|
- Contoh: `6D9QD6 - buat api baru`
|
|
- Jangan buat commit tanpa kode task dari user.
|
|
- Kode task digunakan untuk sinkronisasi timesheet Odoo.
|
|
- Sebelum push branch kerja, jalankan `git fetch origin` lalu `git rebase origin/main` agar branch memakai basis `main` terbaru.
|
|
- Push branch kerja ke remote lalu buat merge request ke `main`; proses merge ikuti permission dan alur review repo, jangan direct push ke `main` kecuali diminta eksplisit.
|
|
- Jangan pernah melakukan `git push --force` atau varian force-push lain.
|
|
|
|
## Devcpone Sync Hook
|
|
- Repo ini memakai `core.hooksPath=.githooks`.
|
|
- Sync ke `devcpone` berjalan saat `push` branch `master` lewat `.githooks/pre-push`.
|
|
- Hook memanggil `scripts/devcpone_sync.sh` untuk upload diff commit terakhir ke `/home/one/project/one/one-api`.
|
|
- Jika sync atau verifikasi file remote gagal, `push` harus ikut gagal; jangan anggap `git push` sukses lokal sebagai bukti file sudah masuk ke `devcpone`.
|
|
- Saat user minta cek sinkronisasi, verifikasi langsung file di `devcpone`, bukan hanya status git lokal.
|
|
|
|
## Cpone Upload (Manual)
|
|
- Upload ke `cpone` **hanya dilakukan saat user secara eksplisit meminta** ("upload ke cpone", "sync ke cpone", dll).
|
|
- Jalankan script: `scripts/cpone_sync.sh`
|
|
- Script menggunakan SSH key `~/.ssh/id_rsa` ke `one@cpone.aplikasi.web.id`.
|
|
- Target remote: `/home/one/project/one/one-api`.
|
|
- **Tidak ada hook otomatis** untuk cpone — upload selalu manual atas permintaan user.
|
|
- Sebelum upload, script otomatis backup file lama di folder yang sama dengan suffix timestamp, contoh: `Transactionv3.php.20260529_195950`.
|
|
- Setelah upload, verifikasi file di server remote, bukan hanya lokal.
|