docs: make distribution lists the AdreMa capability owner

This commit is contained in:
2026-07-31 14:52:49 +02:00
parent 1444e50d8b
commit 96f42d09f8
4 changed files with 533 additions and 37 deletions
+28 -10
View File
@@ -9,7 +9,7 @@ Tasks:
- [x] initialize repository type and package metadata
- [x] document boundary between address lists, distribution lists, and Umlauf
- [x] add a no-op module manifest with durable documentation topics
- [ ] create Gitea issues for the implementation milestones
- [x] create Gitea issues for the implementation milestones
## Milestone 1: Contract And DTOs
@@ -18,8 +18,9 @@ Goal: define mixed recipient entries without implementing every provider.
Tasks:
- define distribution-list, entry, expansion-plan, and expansion-result DTOs
- define source reference format for address, identity, organization, group,
function, role, raw, and nested-list entries
- 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
@@ -44,9 +45,10 @@ Goal: allow distribution lists to resolve through installed modules.
Tasks:
- integrate with `addresses.lookup` and address-list source capability
- integrate with identity/principal resolution
- integrate with organizations/groups/functions once those modules expose
provider capabilities
- 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
## Milestone 4: UI
@@ -59,17 +61,33 @@ Tasks:
- 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, mail, postbox, notifications,
scheduling, poll, and workflow consumers
- expose picker components to Campaign, Templates, Reporting, and Workflow
consumers
## Milestone 5: Umlauf Integration
## Milestone 5: AdreMa Dynamic Audiences
Goal: replace hard-coded AdreMa query branches with reusable governed
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
## Milestone 6: Campaign, Reporting, And Workflow Integration
Goal: support administrative circulation workflows without confusing list
definition with execution.
Tasks:
- let workflow/tasks consume distribution-list expansion snapshots
- let Campaign consume snapshots for explicit hybrid-channel routing
- let Reporting consume snapshots for parameterized tables and exports
- let Workflow consume distribution-list expansion snapshots
- support ordered participant sequences where workflow owns state
- add escalation and substitution hooks through workflow, not distribution lists
- preserve immutable recipient evidence for every execution