Checkpoint prepared email content and explicit host/guest roles, then start independent native delivery children without increasing worker concurrency.
Let SMTP failures reach OpenWorkflow's five-attempt retry policy. Checkpoint successful sends separately from status bookkeeping so retries do not repeat saved sends.
Recheck live appointment eligibility before effects and condition email action logs on non-purged rows. Attempt failures are distinct from terminal engine failure; done requires every intended delivery to be sent.
Remove purge catch-and-orphan behavior: thirty native remote-delete attempts now exhaust into a failed job, retaining current/later purged rows rather than deleting local data.
Include unit/restart/replay integration coverage, operating notes, and a grouped patch changeset. No old-engine fixtures or upgrade integration tests.
Validation
Full workspace typechecks, lint, coverage gates, and production builds passed.
247 worker tests, 634 web tests, 17 jobs tests (100% coverage), and 44 CLI tests passed; all remaining shared-package tests passed.
23 browser tests passed.
Twenty-row near-budget purge scenario completed with 640 of the engine's 1000 step attempts.
Readability review completed and findings addressed; worker validation rerun afterward.
Scope and rollout
Part 2 of the OpenWorkflow work, following #69. This PR contains the two planned appointment commits; native cron maintenance remains a separate PR.
Do not deploy intermediate images before the grouped rollout. Before deploying changed workflow graphs, stop producers, let the old worker drain all unfinished jobs, stop it, and take consistent paired app/queue backups. Do not replay unfinished old histories through the new graphs. Prepared queue envelopes contain personal data and capability links; SMTP remains at-least-once across the remote-acceptance/checkpoint crash window.
## Summary
- Checkpoint prepared email content and explicit host/guest roles, then start independent native delivery children without increasing worker concurrency.
- Let SMTP failures reach OpenWorkflow's five-attempt retry policy. Checkpoint successful sends separately from status bookkeeping so retries do not repeat saved sends.
- Recheck live appointment eligibility before effects and condition email action logs on non-purged rows. Attempt failures are distinct from terminal engine failure; `done` requires every intended delivery to be sent.
- Remove purge catch-and-orphan behavior: thirty native remote-delete attempts now exhaust into a failed job, retaining current/later purged rows rather than deleting local data.
- Include unit/restart/replay integration coverage, operating notes, and a grouped patch changeset. No old-engine fixtures or upgrade integration tests.
## Validation
- Full workspace typechecks, lint, coverage gates, and production builds passed.
- 247 worker tests, 634 web tests, 17 jobs tests (100% coverage), and 44 CLI tests passed; all remaining shared-package tests passed.
- 23 browser tests passed.
- Twenty-row near-budget purge scenario completed with 640 of the engine's 1000 step attempts.
- Readability review completed and findings addressed; worker validation rerun afterward.
## Scope and rollout
Part 2 of the OpenWorkflow work, following #69. This PR contains the two planned appointment commits; native cron maintenance remains a separate PR.
Do not deploy intermediate images before the grouped rollout. Before deploying changed workflow graphs, stop producers, let the old worker drain all unfinished jobs, stop it, and take consistent paired app/queue backups. Do not replay unfinished old histories through the new graphs. Prepared queue envelopes contain personal data and capability links; SMTP remains at-least-once across the remote-acceptance/checkpoint crash window.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
donerequires every intended delivery to be sent.Validation
Scope and rollout
Part 2 of the OpenWorkflow work, following #69. This PR contains the two planned appointment commits; native cron maintenance remains a separate PR.
Do not deploy intermediate images before the grouped rollout. Before deploying changed workflow graphs, stop producers, let the old worker drain all unfinished jobs, stop it, and take consistent paired app/queue backups. Do not replay unfinished old histories through the new graphs. Prepared queue envelopes contain personal data and capability links; SMTP remains at-least-once across the remote-acceptance/checkpoint crash window.