---
name: Production Sync Master
description: Protokol tingkat lanjut untuk sinkronisasi Staging ke Main (Production), penyelesaian konflik otomatis, dan manajemen deployment aman.
---

# 🚀 Protokol Production Sync Master

Gunakan skill ini untuk melakukan promosi kode dari lingkungan Staging (`*.sipanda.online`) ke Production (`*.baubaukota.go.id`) dengan tingkat keberhasilan 100%.

## 🛡️ Aturan Emas Deployment
1. **Promote Only Verified**: Dilarang melakukan merge ke `main` sebelum seluruh test di `testing/results/` menunjukkan status `All Passed` di Staging.
2. **Conflict Priority**: Jika terjadi konflik saat merge `staging` -> `main`, prioritaskan status `staging` (`git checkout --theirs`) karena staging adalah versi yang sudah teruji.
3. **Atomic Multi-Repo**: Selalu update ke-4 repositori secara berurutan: API -> Admin -> Mobile -> Petugas.

## 🔑 Manajemen VPS (Double-Auth Bypass)
Server production Bapenda menggunakan layer keamanan **TENGS** yang menolak input password pada shell interaktif otomatis.
- **Workflow**: Gunakan perintah SSH non-interaktif (Single String) untuk menjalankan maintenance guna memicu bypass prompt TENGS.
- **Contoh Perintah**:
  ```bash
  ssh user@host "cd /path/to/repo && php artisan optimize:clear"
  ```
- **Expect Pattern**: Gunakan regex `(password:|Enter Password)` untuk menangkap kedua layer autentikasi dalam skrip automasi.

## 🧪 Skema Verifikasi Production
Setelah merge dan push sukses, jalankan rangkaian audit berikut:
1. **Health Check**: Jalankan `bash testing/test_staging_infra.sh` namun arahkan ke domain `mpad.baubaukota.go.id`.
2. **Readiness Probe**: Eksekusi `bash testing/test_production_ready.sh`.
3. **API Audit**: Jalankan `bash testing/test_api_crud.sh production`.

## 🛠️ Mitigasi Error 500 (Post-Merge)
Jika setelah merge muncul Error 500, lakukan "Hard Refresh" pada VPS:
1. Clear Cache & Config.
2. Reload Service: `sudo systemctl reload php8.3-fpm` (atau versi aktif lainnya).
3. Reset Permissions: `sudo chown -R www-data:www-data storage bootstrap/cache`.

---
*Skill ini memastikan agent memahami nuansa infrastruktur spesifik Pemkot Baubau.*
