Implement governed distribution lists
This commit is contained in:
+30
-28
@@ -17,13 +17,13 @@ Goal: define mixed recipient entries without implementing every provider.
|
||||
|
||||
Tasks:
|
||||
|
||||
- define distribution-list, entry, expansion-plan, and expansion-result DTOs
|
||||
- define source reference formats for address contacts, IDM identities/typed
|
||||
- [x] define distribution-list, entry, expansion-plan, and expansion-result DTOs
|
||||
- [x] define source reference formats for address contacts, IDM identities/typed
|
||||
groups, organization units/functions, effective incumbents, Dataflow results,
|
||||
raw targets, and nested-list entries
|
||||
- define policy/read-only explanation payloads
|
||||
- define snapshot evidence shape
|
||||
- add cycle detection and expansion-limit semantics
|
||||
- [x] define policy/read-only explanation payloads
|
||||
- [x] define snapshot evidence shape
|
||||
- [x] add cycle detection and expansion-limit semantics
|
||||
|
||||
## Milestone 2: Local Distribution Lists
|
||||
|
||||
@@ -31,12 +31,12 @@ Goal: implement local, manually maintained distribution lists.
|
||||
|
||||
Tasks:
|
||||
|
||||
- add database tables and migrations
|
||||
- add CRUD routes and permissions
|
||||
- add local raw email/postal entries
|
||||
- add references to address contacts and address lists via capabilities
|
||||
- expose `dist_lists.source` and `dist_lists.expand`
|
||||
- add tests for expansion and snapshots
|
||||
- [x] add database tables and migrations
|
||||
- [x] add CRUD routes and permissions
|
||||
- [x] add local raw email/postal entries
|
||||
- [x] add references to address contacts and address lists via capabilities
|
||||
- [x] expose `dist_lists.source` and `dist_lists.expand`
|
||||
- [x] add tests for expansion and snapshots
|
||||
|
||||
## Milestone 3: Provider Integrations
|
||||
|
||||
@@ -44,12 +44,14 @@ Goal: allow distribution lists to resolve through installed modules.
|
||||
|
||||
Tasks:
|
||||
|
||||
- integrate with `addresses.lookup` and address-list source capability
|
||||
- integrate with IDM identity/group/effective-assignment resolution
|
||||
- integrate with Organizations unit/function resolution
|
||||
- integrate with Datasources, Connectors, and pinned Dataflow results
|
||||
- apply Addresses preference/consent facts and explainable Policy decisions
|
||||
- preserve module independence when optional providers are absent
|
||||
- [x] integrate with `addresses.lookup` and address-list source capability
|
||||
- [x] integrate with IDM identity and effective function-assignment resolution
|
||||
- [ ] resolve typed IDM groups once `govoplan-idm#7` exposes the provider contract;
|
||||
until then the selector and expansion return an explicit unavailable outcome
|
||||
- [x] integrate with Organizations unit/function resolution
|
||||
- [x] consume governed Datasource/Connector states through pinned Dataflow outputs
|
||||
- [x] apply Addresses preference/consent facts and explainable Policy decisions
|
||||
- [x] preserve module independence when optional providers are absent
|
||||
|
||||
## Milestone 4: UI
|
||||
|
||||
@@ -57,11 +59,11 @@ Goal: make distribution lists practical for administrators and operators.
|
||||
|
||||
Tasks:
|
||||
|
||||
- add list management UI
|
||||
- add mixed entry editor with provider-specific search
|
||||
- show disabled/read-only entries with hover explanations
|
||||
- show expansion preview and stale-source warnings
|
||||
- expose picker components to Campaign, Templates, Reporting, and Workflow
|
||||
- [x] add list management UI
|
||||
- [x] add mixed entry editor with provider-specific search
|
||||
- [x] show disabled/read-only entries with explanations
|
||||
- [x] show expansion preview and stale-source warnings
|
||||
- [x] expose picker components to Campaign, Templates, Reporting, and Workflow
|
||||
consumers
|
||||
|
||||
## Milestone 5: AdreMa Dynamic Audiences
|
||||
@@ -71,12 +73,12 @@ definitions.
|
||||
|
||||
Tasks:
|
||||
|
||||
- add immutable static, parameterized, and dynamic definition revisions
|
||||
- support include/exclude/manual-override sets with bounded policy constraints
|
||||
- pin Datasource states, Connector revisions, and Dataflow definitions
|
||||
- provide preview, counts, samples, and `why included/excluded` diagnostics
|
||||
- freeze exact expansion and channel-decision evidence
|
||||
- validate with a synthetic AdreMa golden flow
|
||||
- [x] add immutable static, parameterized, and dynamic definition revisions
|
||||
- [x] support include/exclude/manual-override sets with bounded policy constraints
|
||||
- [x] pin Datasource states, Connector revisions, and Dataflow definitions
|
||||
- [x] provide preview, counts, samples, and `why included/excluded` diagnostics
|
||||
- [x] freeze exact expansion and channel-decision evidence
|
||||
- [x] validate with a synthetic AdreMa golden flow
|
||||
|
||||
## Milestone 6: Campaign, Reporting, And Workflow Integration
|
||||
|
||||
|
||||
Reference in New Issue
Block a user