Isolate notification maintenance workers from request scope - #18
Isolate notification maintenance workers from request scope#18SadPossum wants to merge 1 commit into
Conversation
Verification refresh — 2026-09-05Resumed the existing clean worktree and exact head Against the unchanged StayQuest-pinned GMA Framework
This is fresh local PostgreSQL/unit proof, not a new hosted run or fresh SQL Server execution. Existing hosted checks from August 22 remain historical evidence. PRs #19/#20 and the superseded Auth bridge are excluded. Source advance and consumer pin coordination remain separate; no shared dev branch or consumer pin has been changed by this refresh, and no real email-delivery/production admission is claimed. |
Consumer-train coordination hold — 2026-09-05The exact head remains A live consumer audit confirmed that active consumer CI compares committed source pins against upstream Attempts to refresh the two existing hosted runs were denied by the repository's Actions permission check. Therefore the August 22 hosted evidence is still historical, not a rerun today. No Actions policy or check was bypassed. The fresh local verification and this coordination hold do not claim deployed delivery, transport availability, or production admission. |
Summary
Why
In a scope-enabled host, background DI scopes do not have an active request scope. The delivery and retention workers queried across scopes but saved through the ordinary request-scoped context, so valid maintenance writes were rejected. Completion failures after a provider send could also leave a delivery leased for later at-least-once redelivery.
Verification
./eng/verify.ps1passed on the exact commitdotnet format --verify-no-changesThe relational coverage runs workers with tenancy enabled and no active request scope, spans multiple open scopes, proves closed-scope claim/completion/retention exclusion, and retains PostgreSQL/SQL Server locking and lease-recovery assertions.
Scope boundaries
Separate pre-existing hardening work remains for set-based write/revision atomicity, database-enforced monotonic scope-state revisions, and SQL Server ordinal collation of broadcast recipient scopes.