More than one vertical
Gaming, facilities management and a fleet-console-only persona joined the original clinic, and the demo seeder became vertical-aware. Operations are enabled per tenant with config borrowing: a disabled operation loses its sidebar entry and 404s on a direct URL, rather than being hidden in one place and open in another.
Fleet operations
A global stop, and resumable bulk messaging and enrolment jobs — the two things an operator needs when a campaign is going wrong at three in the morning. The subscriber console was rebuilt around the subscriber rather than the screen: row and bulk actions, real pause and resume, a pending-invitations panel, and a Void that hard-revokes the backend token instead of only hiding the row.
Consent and records
An enrolment link and a customer-invitations consent ledger. A conversation view on a customer record, behind a patients.read permission and a last-viewed marker. Realtime fleet updates, and an explorer for conversations and tasks.
Corrections
Per-account permission is now enforced on operator actions. Enrolment is reported from the data rather than from a hardcoded liveness constant. The composer sends as the tenant's own persona — it had been sending as a hardcoded clinic — and can send more than once.