You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Release the verified fresh Email recovery copy safely #6041
The fresh Email restore has passed its reviewed read-only comparison. Its isolated test storage remains allocated until a separately reviewed cleanup verifies the same result and observes storage release.
Acceptance criteria
Recheck the fresh restored diagnostic against serving Email immediately before cleanup, using the completed recovery run and its unchanged resource identities.
Require the original backup to remain valid throughout cleanup. Preserve the earlier retained recovery copy and its existing disposal gate.
Remove only the verified fresh test copy. Confirm its storage has actually disappeared before removing its corresponding test key or reporting released capacity.
Refuse changed, incomplete, expired or ambiguous evidence and uncertain cleanup outcomes. Keep private recovery details out of logs.
Complete affected tests, review, protected delivery and the live cleanup with an observed terminal result.
Part of #5578. The source mailbox, retained backups, serving storage and mail routing remain protected by their existing gates.
#5586 - feat(email): verify live mailbox backup recovery [merged] #5839 - fix(email): verify and dispose the retained recovery copy [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
The protection-validity condition required by the confirmed cleanup is no longer met. The recovery reader and its persistent data are preserved; no cleanup or capacity release has occurred. The delivery remains unfinished, and #6042 is explicitly parked rather than promoted or dispatched with expired evidence.
I am assessing a separate protection operation for the existing retained data and its correct recovery inputs, with independent native verification and durable custody using existing capacity. The current disposal refusal must remain unchanged; a replacement backup must not be silently substituted into its old witness. That design needs qualification and review before implementation or deletion. The reversible reader lifecycle in #6048 remains separate, and neither path grants another scratch allocation.
Activity
coderabbitai commentedon Nov 11, 2026
🔗 Related PRs
#5586 - feat(email): verify live mailbox backup recovery [merged]
#5839 - fix(email): verify and dispose the retained recovery copy [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
chore: agent-claim #6041 nonce=9fd71465ae909abdd0d3445ef1c11fa4
chore: agent-claim #6041 nonce=b0c2a9b90f949771c41be3fa4e8912a7
fix(email): bind cleanup children to the selected restore
devantler commentedon Nov 11, 2026
The protection-validity condition required by the confirmed cleanup is no longer met. The recovery reader and its persistent data are preserved; no cleanup or capacity release has occurred. The delivery remains unfinished, and #6042 is explicitly parked rather than promoted or dispatched with expired evidence.
I am assessing a separate protection operation for the existing retained data and its correct recovery inputs, with independent native verification and durable custody using existing capacity. The current disposal refusal must remain unchanged; a replacement backup must not be silently substituted into its old witness. That design needs qualification and review before implementation or deletion. The reversible reader lifecycle in #6048 remains separate, and neither path grants another scratch allocation.