Repository navigation
Conversation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Retention reconciliation raises TypeError for a persisted due policy: its
enqueue_job_oncecall omits the requirednext_run_at. Simply supplying the argument would still letschedule_policycancel the recovered occurrence and move the deadline to tomorrow.Reconciliation now preserves active pending/processing retention jobs and recovers only a missing due occurrence, using the mirrored occurrence date and an immediate queue deadline. The existing enforcement handler owns next-day recurrence. Policy and mirror deadlines remain intact during bootstrap.
Type
Verification
update_retention(RetentionUpdate)creates the policy, mirror and durable queue job. Persisted due pending/processing/missing cases: 3 failures before, future control passing.uv run --frozen pytest -q -m 'not live and not postgres'). Pristine baseline: 1,878 passed.Checklist
Security-sensitive?
Ordinary queue reconciliation only; existing enabled/hold checks remain intact. No changes to deletion targets, auth, secrets, tenancy, transport or prompt handling.
AI assistance was used for implementation and native tests. The exact signed source packet received independent review before publication.