ADR-0005: Cut over per account cohort, with kill switch and per-payment mode
Status: Accepted ยท Date: 2026-10-19
Decision
- A
WalletAuthorisationStrategyport with one adapter perDecisionMode(DIRECT_DEBIT,HOLD_CAPTURE). DecisionModeRouter:CRC32(accountNo) % 100 < hold-capture-percentselectsHOLD_CAPTUREfor new payments. The bucketing is stable, so ramping 10 โ 50 never moves an account back.kill-switch=trueโ every new payment usesDIRECT_DEBIT, immediately.payment.decision_modeis persisted. Workers dispatch on the stored mode, so in-flight payments always finish with the mechanism that started them.
Consequences
- + Gradual, reversible, observable, with a control cohort on Phase 1 throughout the ramp.
- + Kill switch works mid-flight without stranding holds.
- โ Both code paths are maintained until v1-for-authorisation is retired.