Repository navigation
Conversation
Retain the 5.x maintenance version and update the compatible ledger dependencies. Exercise protected-recipient admission and parent/child execution-unit capacity through the existing consensus adapters.
This was referenced Oct 7, 2026
colll78
marked this pull request as ready for review
October 8, 2026 01:35
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
Support protected addresses and per-output Receiving through the existing consensus adapters. Purposes use each output’s original body-local index; identical outputs retain separate redeemers and budgets, including parent/child capacity accounting.
Receiving tracing uses raw indexes. Missing-redeemer diagnostics preserve every purpose sharing a script hash: singleton JSON keeps its shape, while multiple purposes form a source-order array. Tracing also covers
UnsupportedOutputAddresses; regressions include singleton, forward/reversed ordering and updated goldens. Tools fixtures use the required 369-entry V4 model and correct genesis hash, with independent temporary databases for synthesis, analysis and truncation.Follow the upstream six-field
NewEpochState: Praos and both ticked/unticked Peras views read the current set-snapshot pool distribution throughnesStakePoolDistrG. Initial test-network snapshot seeding delegates to the ledger’sinjectIntoTestState, replacing consensus duplication. The normal project pins ledger4b06e253and includeseras/shelley/test-suite, selecting the migrated1.10.0.1rather than the stale published test library.Genuine owning encoders refresh the 16 disk goldens for NES 7→6 and Mark 3→4. Published release successor
bb55e647changes only those fixtures on parent8268ddc7; the same refreshed bytes are validated on main.This backport targets
ouroboros-consensus-5.x-backports, retaining version 5.1.0.0 under the dependency-bound policy. API/node consumers retain their 5.1 bounds; main proposal #2 carries the corresponding changes. The compatibility source and its fixture-only successorbb55e647are published.Evidence
GitHub Actions runs in this fork. Earlier upstream CI links are historical evidence.
Local compilation/runtime uses GHC 9.6.7 and the coordinated native graph (
crypto -external-libsodium-vrf,blockio +serialblockio). Default-flag public-source solver/Nix evidence is separate.The preceding release checkpoint passed the complete 240-test tracing suite and two Dijkstra encoding goldens, plus the original admission/capacity and parallel-tools regressions. Its ordinary compiler/native checks passed, while the exact-seed CSJ issue below remained unresolved. These full-suite results retain their pre-snapshot-refactor scope.
cardanolibrary and complete owning Cardano/tools test targets compile strictly. All 11 admission/capacity tests pass: actual wire decoding, missing-recipient rejection, successfulapplyTx, ledger-table equality, and distinct output budgets through parent/child capacity accounting.git diff --check. Distinct main 5.0 compilation and selected 18/11/20/3 runtimes also pass, using its default flags with scoped private native VRF directories and recorded runtime library paths.Depends on ledger #1, Plutus #1, keys #2 and config #2. The recorded proposal SRPs keep this fork reproducible. Upstream integration would separately require accepted commits or released packages under upstream SRP policy.
Merge Danger
Door: two-way
Blast Radius: Consensus
Old persisted NES/Mark states require replay after the upstream state-format transition. Current-format same-database restart does not establish old-format or snapshot restoration. The fixture correction is public at
bb55e647. At the historical upstream 15:52 UTC checkpoint, three checks pass, four GHC jobs are running and required Linux Hydra is queued, with no failed check at that head. Upstream dependency acceptance, scheduled activation/rollback and Leios endorser-block lifecycle coverage remain external gates.Parent release
8268ddc7has a separate GHC 9.10 storage failure without an emitted assertion/counterexample/signal or available test-log artifact; its cause is unclassified. The same exact release storage suites pass 112 tests on GHC 9.6 and 9.14. Those peer passes do not classify the failure as a flake. It is documented here, with no storage repair included.The release backport retains a deterministically reproduced CSJ counterexample: the normalized exact-seed trace matches CI and identifies accepted-prefix loss after the documented new-dynamo reset. Whether the cumulative test bound exceeds the protocol guarantee remains unresolved; a later random pass does not discharge it. No peer-selection policy or assertion is changed here.