Дмитрий
|
cbfd9738de
|
docs(пилот): 26.05 ночь UTC — supplier-webhook Phase 1+2+3 deployed + cleanup 26 dups (refund 11350 RUB tenant client1)
Three independent fixes deployed to liderra.ru in 3 incremental phase
deploys (13 commits b92d9b3b..48eaffec on main):
Phase 1: webhook always returns JSON 422 on ValidationException
(was 302 redirect for non-JSON Accept clients — 76 lost/day)
Phase 2: merge webhook-after-CSV-recovered into existing deal,
no double-charge (closed 37 duplicate pairs/day pattern)
Phase 3: accept non-B-prefix projects as platform=DIRECT end-to-end
(controller + 4 services + migration v8.36→v8.37)
Schema bump: platform VARCHAR(4)→VARCHAR(8), CHECK enum extended to
include DIRECT, seed suppliers.code='direct' added.
Cleanup (А) 26 dup pairs: soft-delete + reverse balance_transactions
(audit-friendly), refund 11 350 RUB to tenant client1 balance.
(Б) 82 lost leads recovered automatically by CsvReconcileJob after
Phase 3 deploy (entry id=209 recovered_count=58, remaining via webhook
retries).
Lessons: migrate --force упал — manual psql спас; redeploy.sh не
делает git pull (scp нужен); background ssh с heredoc обрывается —
nohup решает; fail2ban whitelist + keepalive (ControlMaster broken
on Windows OpenSSH).
Spec: docs/superpowers/specs/2026-05-25-supplier-webhook-reliability-design.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-26 04:07:32 +03:00 |
|