Post a webhook (Discord) when a fine is issued/revoked, like the tax-cycle webhook.
Technical notes — A webhook mechanism exists but is tax-cycle-only: TaxWebhookServiceImpl.sendCycleReport POSTs a Discord embed via java.net.http.HttpClient, configured under tax.webhook.* (DiscordWebhookConfiguration). Fines (GovServiceImpl.issueFine/revokeFine) post nothing. Add sendFineNotification(GovernmentFine) reusing the same HttpClient/embed pattern, a fines.webhook.* config block, and a fire-and-forget call from issueFine/revokeFine after the ledger transfer succeeds. Pairs with PAR-48.
Code context — A webhook mechanism exists but is tax-cycle-only:
TaxWebhookServiceImpl.sendCycleReportPOSTs a Discord embed viajava.net.http.HttpClient, configured undertax.webhook.*(DiscordWebhookConfiguration). Fines (GovServiceImpl.issueFine/revokeFine) post nothing.Approach: add
sendFineNotification(GovernmentFine)reusing the same HttpClient/embed pattern, afines.webhook.*config block, and a fire-and-forget call fromissueFine/revokeFineafter the ledger transfer succeeds. Pairs with PAR-48.