fix(ledger): complete live stake-pool retirement - #107
Merged
Conversation
Records ADR-050 Phase 0 evidence and preserves the red lifecycle and POOLREAP gates as phase-disabled tests so the module suite remains green.
ADR-050 Phase 1 gate: make same-block pool certificates observe prior writes, preserve active lifecycle deposits, use registration-epoch parameters for fresh deposits, and prove byte-identical block rollback.
ADR-050 Phase 2 gate: apply exact refunds and live pool cleanup from one validated plan, scan pool delegations cache-cold in bounded resumable chunks, and classify an active pool-reap marker as incomplete.
ADR-050 Phase 3 hygiene gate: PoolReapProcessor is now the sole pool-refund owner, eliminating the dead second path and its stale boundary comment.
|
Reviewer verdict: APPROVED (ADR-050 campaign reviewer; merge is the maintainer's call.) Every one of the 16 commits was reviewed pre- or at-commit against ADR-050's phase gates, with independent test runs at each step. Verified at head
|
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.
Summary
pool-lifecycle-state-v1readiness marker; preview chainstates created before this change require a clean resyncCloses #62.
Design: ADR-050
Correctness and recovery
transaction index -> certificate index.Validation
:app:integrationTest: 12 tests in five suites, 0 failures/errors/skips, 2m12s.SIGKILLafter the durable POOLREAP cursor resumed from the same stage/sequence before readiness; refund remained exactly 500 ADA once; DRep delegation survived.500c13f516641be864cd3d39525209588b0f73f1e7388aebe23fadf5f6b9bef2.Evidence:
/Volumes/data2/yano-try/adr050-g-lite-20260831-attempt2/Volumes/data2/yano-try/adr050-preprod-20260831Rollout consequence
This intentionally does not migrate previously created preview account state. Existing mainnet chainstate and retained checkpoints do not carry
pool-lifecycle-state-v1and will fail closed with backup-and-resync guidance. After merge, rollout requires a clean mainnet resync and checkpoint-ladder rebuild as documented in UPGRADING.md. No clean mainnet replay was started as part of this pre-merge test gate.Related follow-ups