Repository navigation
fix: reclaim terminal decommission ledger rows with provenance - #1940
Merged
Merged
Conversation
Owner
Author
|
verdict: approve Forge whole-branch reviewReview exit payloads
|
…minal-ledger-reclamation-1890
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.
Fresh completed or failed
delete_owneddecommissions now reclaim their partition-scoped ledger rows only after a matching applied partition-delete effect and complete retained-storage result are available. State, result and reclamation commit in one SQLite transaction. Unreadable retained entries preserve their available original identity inledger_identity; readable reconstruction includes the volume group so namesake disks remain distinguishable.The change preserves other partitions and existing abandoned, nonterminal, retain, dry-run, unproven, missing-result, oversized-result and historical behavior. It performs no physical storage cleanup or general ledger collection. Retained results still follow the existing 30-day retention policy; longer archival remains operator-owned. Ineligible records can continue consuming ledger capacity.
Validation covers 277 focused tests, including 19 ineligibility cases, real SQLite rollback and concurrent-reader visibility, controlled fault checks, and mocked HMC boundaries through the engine. Independent branch and static security reviews approved with no findings. The final candidate passed
just verify(1,239.12 seconds; one run) anduv run --no-sync prek run --all-files(126.21 seconds; all 14 hooks). No live HMC tests ran.The approved implementation estimate was corrected from 220–360 to 400–475 changed source/test lines after verification coverage reached 425 lines. The revised estimate received a fresh design review and scope audit; implementation scope remained unchanged. Review history: three design passes, one branch pass, two scope audits, and one static security pass. Accepted review limits are the existing result-retention period and capacity retained by ineligible rows.
Provenance: campaign 152593d7a535-fdfc969e-824d-4d69-a9ae-3ce95496903a, source issue #1890, operator-approved provenance-preserving rule. ADR 0341 records the decision. No follow-up candidates or deferred findings.
Closes #1890
Review exit payloads