Review organization role compliance and prepare notices
Purpose
Staff need to see whether an organization has the representatives its configured policy requires and to respond when coverage falls short. This capability calculates effective contact-role coverage, preserves explanatory violations, and coordinates notice preparation and reprocessing without treating a manually supplied status as an authoritative assessment.
How It Works
The organization's type enables compliance and provides role-count bounds. Recalculation counts distinct contacts holding each role on current affiliations, including secondary ties, and reports violations in policy order. New organizations with minimum requirements begin with missing-holder violations but do not send a creation notice. Organizations without an applicable policy have no assessment after recalculation.
Contact relationship and role changes, deletion, and date boundaries can trigger reevaluation of affected organizations. Calculations serialize per organization and write only a changed violation result. A type-policy or organization-type change alone does not immediately refresh stored assessments; reaction, reconciliation, or explicit reprocessing must reach the organization. Clients cannot replace calculated status by supplying their own values.
For notifying types, entry into noncompliance submits a deduplicated notice alongside the assessment. Continuing noncompliance and repeated delivery do not submit another transition notice. Recipients come from current affiliates with primary e-mail addresses and the configured notification roles, or all qualifying affiliates when none are selected. The request has a recipient limit, and Platform's missing template prevents delivery.
Administrators can preview drafts without sending or storing them, make a test send to a specified address, and run resumable workspace reprocessing. One running request per workspace prevents overlapping scans. Type-template changes cross a service boundary: invalid content refuses the change, later persistence failure uses forward compensation, and template cleanup failure after deletion is logged without recreating the type.
Example
A chapter type requires a billing contact. Its current billing representative's role ends, and reevaluation records the missing holder. If notification is enabled, the transition submits the configured notice for eligible recipients. Repeated event delivery leaves the same assessment and submission intact. An administrator then changes the policy and requests reprocessing, which revisits existing chapters rather than assuming the catalogue save already recalculated them.
At Harbor West Chapter, Ruth Kim holds Officer through two current affiliations and Lena Park through one. With a minimum of two Officers, the two people satisfy coverage; Ruth's extra relationship is not a third holder. After the Billing Contact period ends on October 23, staff inspect the reassessed shortage separately from the notice request. The administrator uses draft preview to inspect wording and a test send to her own address to inspect the delivery path. Neither proves delivery to chapter representatives. After changing a policy, she inspects the resumable reprocess outcome before relying on every chapter's stored assessment as current.
Why It Works This Way
Our reading is that distinct effective people are the relevant coverage measure: multiple ties must not inflate a firm's count, and a secondary representative can still perform the responsibility. Server-owned assessments prevent a record edit from claiming compliance without the underlying holders. Serialization and changed-result writes protect versions and history from duplicate events.
Transition-based notices prevent continuing gaps from producing a message on every save. Transactional submission deduplication keeps rollback and retry from separating the notice's cause from its assessment, but does not prove final delivery. Preview authorization protects the contact and organization information included in a draft. Durable batched reprocessing supports policy repair across a workspace without assuming an immediate global calculation. Forward template compensation acknowledges that a Platform call is not the same database transaction as the type save, and therefore is not an invisible rollback.
Relationships
Organization Type supplies compliance options and allowed-role policy. Affiliations and Roles supplies effective responsibilities; date reconciliation supplies boundary reevaluation. Contact changes feed reactions through committed events. Platform notifications owns templates and sending, reached through its service contract. Enabled organization attention-item publication exposes stored violations, while record history captures changed assessments with system attribution.