Module toggles vs. outbound — the audit

What our on/off switches actually control, measured against every path that can message a customer. Written for Gera, after Western Slope's residents were texted by a company whose Maintenance module was off.

2026-09-19 · read-only audit of origin/main @ b099a80f96 · three independent lanes · no production writes

The verdict, in plain English

Turning a module off hides its pages. It does not stop a single message. We found 38 outbound paths that can reach a customer, and zero of them ask whether the module is on.

The fix is one shared, fail-closed function — evaluateModuleGate() — called at each sending door, copying the shape of the email company-live gate we already trust. Not one central checkpoint: we tried that and the repo deliberately ruled against it.

Two traps to clear first: new companies are created with every module OFF, so a naive rule would silence every recent customer at once; and the current reader is a web-request helper that cannot run inside our background workers.

One product question is yours, not engineering's: if Maintenance is off and a tenant texts "my sink is leaking", does Clara answer?

PropFlow Docs