Integrate governed address contact resolution
This commit is contained in:
@@ -180,7 +180,7 @@ typed output template, and Report/Campaign run configuration.
|
||||
| Multiple email, phone, and postal contact points | Implemented | Addresses |
|
||||
| Static address lists | Implemented | Addresses |
|
||||
| vCard import/export and CardDAV sync | Implemented | Addresses |
|
||||
| Read-only lookup and immutable email-recipient snapshots | Implemented | Addresses |
|
||||
| Read-only lookup and immutable email/postal recipient snapshots | Implemented | Addresses/Distribution Lists |
|
||||
| Source provenance and sync conflicts | Implemented | Addresses |
|
||||
| Organization units and function definitions | Implemented | Organizations |
|
||||
| Effective-dated identity-to-function assignments | Implemented first slice | IDM |
|
||||
@@ -190,10 +190,10 @@ typed output template, and Report/Campaign run configuration.
|
||||
| Campaign snapshots, review, digital delivery, and evidence | Implemented first channel | Campaign |
|
||||
| Typed template library and document rendering | Scaffold/issue only | Templates |
|
||||
| BI reports and spreadsheet-grade exports | Scaffold/issue only | Reporting |
|
||||
| Mixed operational distribution lists and governed segments | Contract/implementation issues only | Distribution Lists |
|
||||
| Contact-point consent, suppression, and preferences | Open issue | Addresses/Policy |
|
||||
| Deduplication, merge, quality, and complete history | Open issue | Addresses |
|
||||
| Channel-neutral expansion and frozen postal targets | Missing | Distribution Lists/Addresses |
|
||||
| Mixed operational distribution lists and governed segments | Implemented broad first slice | Distribution Lists |
|
||||
| Contact-point consent, suppression, and preferences | Implemented | Addresses/Policy |
|
||||
| Deduplication, merge, quality, and complete history | Implemented first slice | Addresses |
|
||||
| Channel-neutral expansion and frozen postal targets | Implemented | Distribution Lists/Addresses |
|
||||
| Printable label, envelope, and letter output | Open issue | Templates |
|
||||
| End-to-end guided AdreMa workflow | Missing | Workflow plus consuming modules |
|
||||
|
||||
|
||||
@@ -83,6 +83,16 @@ The first capabilities should be:
|
||||
- `dist_lists.expand`: expand a distribution list into immutable recipient rows.
|
||||
- `dist_lists.writer`: explain whether a caller can create or change a list.
|
||||
|
||||
When `addresses.contact_point_resolution` is available, address-contact and
|
||||
address-list entries are resolved through that versioned contract. Entry and
|
||||
expansion channel constraints are intersected, and purpose, effective time,
|
||||
address purpose, fallback rule, locale, and postal format are passed to the
|
||||
provider. Selected and rejected contact points retain stable reason codes and
|
||||
provider provenance. The frozen Distribution Lists snapshot stores the exact
|
||||
rendered target and contact-point ID, so later address changes do not rewrite
|
||||
delivery evidence. Legacy Addresses lookup/email-source capabilities are used
|
||||
only as a compatibility fallback.
|
||||
|
||||
Consumers must resolve those capabilities through core and must not import
|
||||
distribution-list ORM or service internals.
|
||||
|
||||
@@ -98,9 +108,9 @@ Likely consumers:
|
||||
|
||||
## Relationship To Address Lists
|
||||
|
||||
`govoplan-addresses` should implement classical address lists first. A
|
||||
distribution list may later include an address list as an entry, but the
|
||||
address module remains the owner of contact records and address-only grouping.
|
||||
`govoplan-addresses` implements classical address lists. A distribution list
|
||||
may include an address list as an entry, but the address module remains the
|
||||
owner of contact records and address-only grouping.
|
||||
|
||||
The distribution-list module owns mixed operational routing. This prevents
|
||||
campaign-specific recipient logic from becoming the platform's de facto
|
||||
|
||||
@@ -44,13 +44,17 @@ Goal: allow distribution lists to resolve through installed modules.
|
||||
|
||||
Tasks:
|
||||
|
||||
- [x] integrate with `addresses.lookup` and address-list source capability
|
||||
- [x] integrate with versioned, channel-neutral Addresses contact-point
|
||||
resolution; retain lookup/address-list source capabilities as compatibility
|
||||
fallbacks
|
||||
- [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] freeze exact postal/email targets, contact-point IDs, revisions,
|
||||
fingerprints, and decision provenance in expansion snapshots
|
||||
- [x] preserve module independence when optional providers are absent
|
||||
|
||||
## Milestone 4: UI
|
||||
|
||||
Reference in New Issue
Block a user