# Pembagian Checklist 1-55 per Tim (POS Lama, PyPOS, ERP)

Tanggal: 2026-04-21  
Sumber checklist: `17_laporan_checklist_pypos_1_55_detail.md`  

Tujuan dokumen:
- Menetapkan owner utama per tim agar eksekusi tidak tumpang tindih.
- Menentukan poin lintas tim yang wajib dikerjakan bersama.

Catatan pembagian:
- `Lead` = tim pemilik utama deliverable.
- `Support` = tim yang wajib ikut verifikasi kontrak/integrasi.

---

## Tim POS Lama (WEB_POS/XAMPP)

### Lead
1. Poin `37` backward compatibility response untuk jalur POS lama.
2. Poin `44` validasi integritas upload file dari POS lama (format lama + baru).
3. Poin `54` monitoring drift schema WEB_POS vs ERP.
4. Poin `55` gate rilis dari sisi skenario operasional POS lama.

### Support wajib
1. Poin `10` delta sync (validasi hasil dari sisi konsumsi POS lama).
2. Poin `13` upload realtime/export queue lama.
3. Poin `36` versi kontrak endpoint.
4. Poin `40` proteksi duplikasi nota lintas sumber.
5. Poin `45` konsistensi timezone antar sistem.

---

## Tim PyPOS

### Lead
1. Poin `1` sampai `9` (device, payment guard, struk, UI form, metode bayar).
2. Poin `17` sampai `35` (konfigurasi client, UX penjualan, sinkronisasi, menu error handling).
3. Poin `38` kebijakan timeout/retry di sisi client.
4. Poin `45` konsistensi timestamp di sisi client.
5. Poin `50` backup/restore drill data lokal aplikasi.
6. Poin `51` migrasi schema lokal (SQLite) dengan rollback.
7. Poin `53` offline/reconnect queue + replay aman tanpa duplikasi.

### Support wajib
1. Poin `10` delta sync end-to-end.
2. Poin `13` upload realtime transaksi.
3. Poin `14` settlement contract (request/response).
4. Poin `15` free produk (termasuk multi free item dalam 1 nota).
5. Poin `16` preorder (server + lokal).
6. Poin `36` dan `37` versi/kontrak endpoint.
7. Poin `46` JWT lifecycle (issue/refresh/bypass bootstrap).
8. Poin `55` gate rilis terpadu.

---

## Tim ERP

### Lead
1. Poin `11` API check device.
2. Poin `12` API registrasi device.
3. Poin `14` API settlement.
4. Poin `36` versi kontrak endpoint + kebijakan deprecate.
5. Poin `37` backward compatibility lintas POS.
6. Poin `39` idempotency level database (unique constraints).
7. Poin `40` anti-duplikasi nota lintas sumber.
8. Poin `41` rekonsiliasi otomatis antar tabel proses.
9. Poin `42` antrean gagal/retry (dead-letter strategy) di jalur ERP/CLI.
10. Poin `43` monitoring health CLI + indikator macet.
11. Poin `44` validasi integritas payload/file sebelum compile.
12. Poin `46` JWT lifecycle server side.
13. Poin `47` role-based authorization per endpoint.
14. Poin `48` audit log in/out + masking sensitif.
15. Poin `49` log rotation/retention/size limit.
16. Poin `51` migrasi DB server dengan rollback plan/dry-run.
17. Poin `52` load test jam sibuk multi-kasir.
18. Poin `54` drift schema WEB_POS vs ERP.
19. Poin `55` release gate terstandar.

### Support wajib
1. Poin `10` delta sync contract di endpoint.
2. Poin `13` upload realtime endpoint.
3. Poin `15` API free produk.
4. Poin `16` API preorder.
5. Poin `38` konsistensi timeout/retry lintas endpoint.
6. Poin `45` standar timezone lintas aplikasi.
7. Poin `50` restore drill (terutama basis data ERP dan artefak penting).
8. Poin `53` offline replay dari sisi penerimaan/event ingest endpoint.

---

## Poin Lintas Tim Paling Kritis (Wajib Joint UAT)

1. `10` Delta sync.
2. `13` Upload transaksi realtime.
3. `14` Settlement.
4. `15` Free produk multi-item.
5. `16` Preorder server/lokal.
6. `37` Backward compatibility response.
7. `40` Proteksi duplikasi lintas sumber.
8. `45` Timezone consistency.
9. `46` JWT bootstrap + refresh.
10. `53` Offline/reconnect replay.
11. `55` Gate rilis terpadu.

---

## Definisi Selesai per Tim (Done Criteria Ringkas)

1. Semua poin `Lead` tim minimal naik status ke `Terpenuhi` atau ada RFC risk acceptance yang disetujui owner.
2. Semua poin `Support wajib` punya bukti uji integrasi lintas tim.
3. Tidak ada regresi pada POS lama saat hardening PyPOS/ERP.
4. Bukti uji tersimpan dalam dokumen UAT + log endpoint + hasil query monitoring.
