[Feature] Add parameterized dynamic audiences and Dataflow-backed expansion #6

Closed
opened 2026-07-31 14:48:10 +02:00 by zemion · 1 comment
Owner

Goal

Replace hard-coded AdreMa query branches with versioned, reusable Distribution List definitions backed by bounded provider predicates or pinned Dataflow revisions.

Scope

  • Static, parameterized, and dynamic definition revisions.
  • Typed parameters, defaults, constraints, and permitted override ceilings.
  • Explicit include, exclude, and manual-override sets with provenance.
  • Provider-native simple predicates and pinned Dataflow subflows for complex joins/expressions.
  • Datasource/Connector state fingerprints, freshness requirements, and stale-state diagnostics.
  • Bounded preview, counts, samples, and why included/excluded explanations.
  • Optional scheduled/event refresh for materialized states; templates themselves remain non-runnable.
  • Synthetic validation through GovOPlaN/govoplan-dataflow#18.

Acceptance Criteria

  • Definition revisions are immutable and past expansion snapshots remain reproducible.
  • Complex evaluation never executes unchecked pass-through SQL.
  • Missing optional providers disable only affected entries and return a readable reason.
  • One definition can be reused by Campaign, Reporting, and Workflow without copying its logic.
  • Source drift is visible and refresh never mutates a frozen consumer snapshot silently.

Parent: #5. Depends on #1-#3 and the relevant Dataflow/Datasource/Connector capabilities.

## Goal Replace hard-coded AdreMa query branches with versioned, reusable Distribution List definitions backed by bounded provider predicates or pinned Dataflow revisions. ## Scope - Static, parameterized, and dynamic definition revisions. - Typed parameters, defaults, constraints, and permitted override ceilings. - Explicit include, exclude, and manual-override sets with provenance. - Provider-native simple predicates and pinned Dataflow subflows for complex joins/expressions. - Datasource/Connector state fingerprints, freshness requirements, and stale-state diagnostics. - Bounded preview, counts, samples, and `why included/excluded` explanations. - Optional scheduled/event refresh for materialized states; templates themselves remain non-runnable. - Synthetic validation through GovOPlaN/govoplan-dataflow#18. ## Acceptance Criteria - Definition revisions are immutable and past expansion snapshots remain reproducible. - Complex evaluation never executes unchecked pass-through SQL. - Missing optional providers disable only affected entries and return a readable reason. - One definition can be reused by Campaign, Reporting, and Workflow without copying its logic. - Source drift is visible and refresh never mutates a frozen consumer snapshot silently. Parent: #5. Depends on #1-#3 and the relevant Dataflow/Datasource/Connector capabilities.
Author
Owner

Implemented and published.

GovOPlaN/govoplan-dataflow commit cef2ba9 exposes a pinned, bounded dataflow.dataset_output capability. GovOPlaN/govoplan-dist-lists commit 8c54a5d consumes exact definition revisions with typed parameters, source/definition fingerprint checks, deterministic preview/freeze behavior, stale-state reporting and immutable expansion snapshots. Core capability contracts are in 4cb334c.

Verification: all 70 Dataflow tests, 8 focused Distribution Lists tests, Ruff and WebUI TypeScript passed.

Implemented and published. GovOPlaN/govoplan-dataflow commit cef2ba9 exposes a pinned, bounded dataflow.dataset_output capability. GovOPlaN/govoplan-dist-lists commit 8c54a5d consumes exact definition revisions with typed parameters, source/definition fingerprint checks, deterministic preview/freeze behavior, stale-state reporting and immutable expansion snapshots. Core capability contracts are in 4cb334c. Verification: all 70 Dataflow tests, 8 focused Distribution Lists tests, Ruff and WebUI TypeScript passed.
zemion removed the codex/ready
status
ready
labels 2026-07-31 21:03:33 +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#6