Skip to content

fix: harden Loops delivery monitoring and cutover sync - #2276

Merged
richiemcilroy merged 4 commits into
mainfrom
codex/loops-live-safety-alert
Sep 11, 2026
Merged

fix: harden Loops delivery monitoring and cutover sync#2276
richiemcilroy merged 4 commits into
mainfrom
codex/loops-live-safety-alert

Conversation

@richiemcilroy

@richiemcilroy richiemcilroy commented Sep 11, 2026

Copy link
Copy Markdown
Member

The live migration test found that Loops rejects audience-filter edits while a workflow is Sending. The monitor now reports manual-pause-required and explicitly says delivery has not stopped. It re-reads status if a workflow starts during an attempted update, without relying on the provider’s error wording. Draft and paused workflows retain the existing guarded hold behavior.

Changing the enrollment switch or a future cutoff previously invalidated every historical profile’s sync fingerprint. Fingerprints now use each contact’s effective signup and teammate-join eligibility, keeping historical accounts stable while preserving updates when an account crosses the cutoff or enrollment is disabled.

The runbook and Action step describe the actual API limitation. Automatic stopping remains unresolved; lifecycle activation requires a supported automatic control or an approved manual-response plan.

Validation: 62 focused profile, lifecycle and safety tests pass, along with scoped Biome and git diff --check. The live owned-inbox test reproduced HTTP 400 with a contact queued in a timer. The corrected monitor reported the required manual pause against a real Sending workflow without changing its revision. That workflow was manually paused and held, and its two owned contacts unsubscribed. Customer workflows remain Draft and held.

RetriggerConfidence Score: 5/5

The PR appears safe to merge; no outstanding correctness, security, or repository-rule violations were identified.

Summary

  • Re-checks workflow status after failed guard updates and reports when a manual pause is required without relying on provider error wording.
  • Avoids editing actively sending workflows and documents the operational manual-pause requirement.
  • Derives synchronization fingerprints from effective signup and teammate-join eligibility.
  • Adds focused lifecycle and watchdog coverage for enrollment boundaries, workflow transitions, and unsupported states.

Reviews (4) · Last reviewed commit: "fix: keep historical Loops profiles stab..."

@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

Comment thread scripts/loops/watchdog.ts Outdated
@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

@richiemcilroy richiemcilroy changed the title fix: report required manual pauses for running Loops workflows fix: harden Loops delivery monitoring and cutover sync Sep 11, 2026
@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

@richiemcilroy
richiemcilroy merged commit 183ffe7 into main Sep 11, 2026
24 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant