March 12th, 2026
Penalty Refinement & Execution Servicing Today we focused heavily on smoothing out the delivery and logging mechanisms for the penalty system, preparing for reliable backend execution.1. ‘Embarrassing Photo’ Email Refinements
We overhauled the payload delivery for the visual forfeit system:- Anti-Spam Deliverability: Refined the
embarrassing_photoemail template to significantly decrease the chances of it triggering spam filters. - Premium Styling: Upgraded the visual aesthetics of the email itself to match the premium “CommitT” brand standard, so even a penalty email looks highly professional.
2. Penalty Execution Refactoring & Brevo Integration
We fundamentally re-architected how the backend handles executing penalties:- Mutation/Action Parity: Refactored the core penalty worker logic from a single function into a Mutation/Action pair. This was explicitly done to support Node’s
fetchAPI directly within Convex actions, which is required for reliable integration with the Brevo API (our transactional email provider). - Background
getInstanceQuery: Added an internalgetInstancequery specifically to allow these new background Action tasks to securely access and verify commitment data mid-flight.
3. Alarm Diagnostics & Maintenance
We continued to track down edge-cases in the native scheduler:- “Zombie Dismissals”: Optimized the
AlarmActivityhardware logging to help diagnose an edge-case where confirmed native alarms successfully fire, but are being automatically dismissed by the Android OS in under 6 seconds. - Codebase Janitoring: Cleaned up a minor
vimporttypo inworker.tsand updated test overrides for the waivers system to keep the pipeline green.