# Aturan Kerja Tim — Single Variant Standard Migration

## 1. Task Claim Protocol
- Claim dulu di jurnal sebelum edit
- Format: `CLAIM: [modul] — [nama] — [YYYY-MM-DD HH:mm]`
- Selesaikan 1 modul tuntas, baru claim berikutnya
- Jangan edit 2 modul partial — bikin tracking kacau

## 2. Dependency Order
Kerjakan sesuai urutan transaksi bisnis:
```
Purchasing → Konversi → Penjualan → Inventory → Produksi
```
Modul hulu selesai dulu sebelum hilir.

## 3. Quality Gate (Wajib Sebelum Mark Done)
- [ ] Feature flag tetap `enabled => false` — jangan diubah
- [ ] Syntax PHP lolos: `php -l file.php`
- [ ] `rsltItems2` gateway ditambah, `rsltItems` lama TIDAK dihapus
- [ ] Variant components ditambah (FifoProdukJadiVarian, LockerStockVariant, etc)
- [ ] Jurnal entry ditulis

## 4. Communication
- Harian: 1 baris di jurnal — "modul X: ADD variant components — selesai"
- Error/Tersangkut: Tulis di jurnal dengan detail → tunggu konfirmasi
- Minimal update: 1x sehari, meskipun belum selesai

## 5. Rollback Safety
- Sebelum edit file besar → backup dulu:
  ```
  cp coTransaksiCore.php coTransaksiCore.php.bak.$(date +%Y%m%d)
  ```
- Kalau setelah patch error → restore backup, catat di jurnal
- Jangan patch ulang file yang sama tanpa backup baru

## 6. Batasan Mutlak (Jangan Dilanggar)
- Jangan hapus `rsltItems` — masih dipakai backward compat
- Jangan ubah feature flag dari `false` ke `true`
- Jangan edit `Modul_Controller.php` tanpa koordinasi — itu file bersama
- Jangan edit Foundation helper tanpa koordinasi

## 7. Tooling
- PHP lint: `php -l application/modules/[modul]/controllers/FollowUp.php`
- Test manual: jalanin transaksi 1 siklus (draft → submit → approve)
- Yang di-test: varian→varian, non→non, varian→non, non→varian