mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 05:21:57 +00:00
2.2 KiB
2.2 KiB
RFC Ringkas: FIFO Stock V2
Tujuan
fifo_stock_v2 adalah engine FIFO baru berbasis konfigurasi Flag Group + Jalur yang berjalan paralel dengan v1 tanpa memutus kompatibilitas stock_allocations, HPP, dan closing/reporting existing.
Prinsip
- V1 tidak dihapus, V2 jalan paralel.
- Semua operasi transactional.
- FIFO sorting deterministic lintas tabel.
- Default over-consume
ALLOW(pending), exception dapatBLOCK. - Reflow idempotent.
- Recalculate bisa memperbaiki drift
product_warehouses.qty.
Komponen
fifo_stock_v2_flag_groups: master grouping flag produk.fifo_stock_v2_flag_members: pemetaan flag -> group.fifo_stock_v2_traits: trait sort pertable:date_column(+ optional join date source).fifo_stock_v2_route_rules: rule perflag_group + lane + function + table.fifo_stock_v2_overconsume_rules: policy pending/over-consume.fifo_stock_v2_operation_log: idempotency + audit operasi.fifo_stock_v2_reflow_runs+ checkpoints + shadow allocations: bulk reflow resumable/observable.
API Service
Gather: union cross-table berdasarkan route rules + trait sorting.Allocate: alokasi lot FIFO ke usable.Rollback: batalkan alokasi aktif.Reflow: rollback penuh lalu allocate ulang (idempotent).Recalculate: rekonsiliasi qty warehouse dari ledger FIFO.
Deterministic Sorting
Urutan gather:
sort_at ASC(dari traitdate_column)sort_priority ASCsource_table ASCsource_id ASC
Fallback waktu: 1970-01-01 00:00:00+00 bila tanggal null.
Compat Strategy
- Tetap menulis ke
stock_allocationsdengan tambahan metadata:engine_version(v1/v2)flag_group_codefunction_codeidempotency_key
- Query lama yang bergantung
stockable_type/usable_typetetap berjalan.
Migration Strategy
- Deploy schema + seed v2.
- Aktifkan shadow-run comparator v1 vs v2.
- Canary cutover per flag group.
- Full cutover jika parity aman.
- Jalankan bulk reflow existing data.
Acceptance Criteria Singkat
- Parity mismatch terkendali pada aggregate + detail alokasi.
- Tidak ada regression closing/HPP.
- Drift qty warehouse turun signifikan pasca reflow.
- Rollback via feature flag memungkinkan kembali ke v1.