-
move webhook normalization behind the payments trait
-
Split PaymentProvider into a base trait plus six capability extensions
-
Rename the AppState payment-provider field to payments
-
Dispatch webhooks on an MNW event enum, not on Stripe event-name strings
-
Correct stale comments across server, tests and mnw-admin
-
Alerts that repeat until someone confirms they read them
-
Alert on security signals instead of accumulating them
-
server: adopt lint block, fix clippy, fmt
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
Decompose AppState Phase 2: thread slices through stripe dispatcher