[Feature] Define distribution-list DTOs and expansion contract #1

Closed
opened 2026-07-13 18:10:41 +02:00 by zemion · 1 comment
Owner

Goal

Define the provider-neutral contract for operational distribution lists (Verteiler), the core audience abstraction for the AdreMa vertical.

Scope

  • Versioned distribution-list definition, entry, expansion-plan, expansion-result, and snapshot DTOs.
  • Source references for address contacts/lists, IDM identities/typed groups, organization units/functions, effective function incumbents, Dataflow result rows, raw email/postal targets, and nested lists.
  • Effective-time, purpose, requested-channel, parameter, include/exclude, and override inputs.
  • Read-only/Policy explanation payloads, stable resolution reason codes, and applied-decision provenance.
  • Provider revision/fingerprint and stale-state evidence.
  • Expansion limits, duplicate/grouping rules, and nested-list cycle detection.
  • Capability contracts such as dist_lists.source and dist_lists.expand without ORM leakage.

Semantic Rules

  • Access roles are authorization facts and are not recipient types.
  • IDM identity status is lifecycle state; selectable business states are typed groups, functions, or effective-dated relationships.
  • Provider records remain owned by their modules. Distribution Lists stores stable references and immutable expansion evidence.

Acceptance Criteria

  • Consumers understand every entry and result without importing module internals.
  • Snapshots include source IDs/revisions, effective time, parameters, provenance, decisions, and stale markers.
  • Missing optional providers produce bounded unavailable outcomes, not startup failures.
  • Address lists, distribution lists, and Workflow/Umlauf execution remain distinct.

Parent: #5. Related: GovOPlaN/govoplan-idm#5 and #7, and #7 for channel decisions.

## Goal Define the provider-neutral contract for operational distribution lists (`Verteiler`), the core audience abstraction for the AdreMa vertical. ## Scope - Versioned distribution-list definition, entry, expansion-plan, expansion-result, and snapshot DTOs. - Source references for address contacts/lists, IDM identities/typed groups, organization units/functions, effective function incumbents, Dataflow result rows, raw email/postal targets, and nested lists. - Effective-time, purpose, requested-channel, parameter, include/exclude, and override inputs. - Read-only/Policy explanation payloads, stable resolution reason codes, and applied-decision provenance. - Provider revision/fingerprint and stale-state evidence. - Expansion limits, duplicate/grouping rules, and nested-list cycle detection. - Capability contracts such as `dist_lists.source` and `dist_lists.expand` without ORM leakage. ## Semantic Rules - Access roles are authorization facts and are not recipient types. - IDM identity status is lifecycle state; selectable business states are typed groups, functions, or effective-dated relationships. - Provider records remain owned by their modules. Distribution Lists stores stable references and immutable expansion evidence. ## Acceptance Criteria - Consumers understand every entry and result without importing module internals. - Snapshots include source IDs/revisions, effective time, parameters, provenance, decisions, and stale markers. - Missing optional providers produce bounded unavailable outcomes, not startup failures. - Address lists, distribution lists, and Workflow/Umlauf execution remain distinct. Parent: #5. Related: GovOPlaN/govoplan-idm#5 and #7, and #7 for channel decisions.
zemion added module/dist-lists and removed module/addresses labels 2026-07-13 18:15:41 +02:00
Author
Owner

Implemented and published.

The provider-neutral, versioned distribution-list contracts now live in GovOPlaN/govoplan-core at commit 4cb334c. They cover sources, entries, typed parameters, deterministic expansion results, explanations, channel facts and immutable snapshot references without introducing optional module imports. GovOPlaN/govoplan-dist-lists implements the contracts at 8c54a5d.

Verification includes the Core contract/module-discovery tests, WebUI TypeScript checks and module-permutation builds.

Implemented and published. The provider-neutral, versioned distribution-list contracts now live in GovOPlaN/govoplan-core at commit 4cb334c. They cover sources, entries, typed parameters, deterministic expansion results, explanations, channel facts and immutable snapshot references without introducing optional module imports. GovOPlaN/govoplan-dist-lists implements the contracts at 8c54a5d. Verification includes the Core contract/module-discovery tests, WebUI TypeScript checks and module-permutation builds.
zemion removed the codex/ready
status
ready
labels 2026-07-31 21:04:24 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-dist-lists#1