Problem/Motivation

The optional reconciliation module supports reviewed imports, but operators must initiate comparisons manually. Missed webhook history can persist unnoticed between reviews.

Proposed resolution

Build an opt-in scheduler around the existing read-only provider reader that produces reviewable drift reports. Reuse current import safeguards; do not automatically remove local suppression or change provider lists.

Acceptance criteria

  • Use per-source locks, bounded pagination, resumable cursors and configurable schedules with no overlapping duplicate runs.
  • Handle rate limits, timeouts, expired credentials and partial pages; distinguish incomplete scans from an empty provider result.
  • Summarize new provider suppression evidence and local/provider differences without inferring consent from absence.
  • Require existing review/apply authorization for local imports and preserve complaint/manual/unsubscribe protections.
  • Expire report data under an explicit retention policy and redact logs; test scheduling, restart, drift and concurrent webhook arrival.

Scope and dependencies

Optional follow-up after stable release; not a blocker for #3621224: Complete the 1.0.0 stable release verification gates. Builds on #3621136: Offer optional read-only Postmark reconciliation for missed webhook history; the completed original issue remains fixed.

Comments

jmcerda created an issue. See original summary.

  • jmcerda committed 0b7de52f on 1.x
    Issue #3621233: Add scheduled read-only reconciliation previews and...
jmcerda’s picture

Status: Active » Fixed

Merged to 1.x. Opt-in scheduled read-only drift previews use per-source locks and resumable date cursors. Reports are count-only. Local imports still require preview and apply. Provider absence does not clear consent.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.