Repository navigation
Persist completed run decks and distill owned All-Star cards - #267
Merged
Merged
Conversation
This was referenced Oct 23, 2026
Merged
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.
Required Cardobject dependency / merge coordination
This PR requires the new Cardobject grammar from Cardobject PR #107, not the old master/release schema.
go.modpins the exact reviewed PR commitc8c0da79c0db8b4b27c083754325f1e40ca3c07basv0.5.3-0.20261023051040-c8c0da79c0db. It is already publicly fetchable, so this branch builds before #107 is merged; no manual sibling checkout is needed.Recommended merge order: Cardobject #107 first, then this Cardchain PR and frontend #353. If #107 changes during review, synchronize the Go pin and frontend schema and rerun compatibility/genesis tests before deployment. The supplied genesis was tested against the pinned commit above.
Summary
c8c0da79c0dbwithout a local replace directive.ReportMatchesreporter permission, reject replayed run references, and allow only the owner to distill an unconsumed deck once.Reviewed genesis
The separate exported genesis contains 552 cards, 562 empty slots, and 1114 preserved ID slots, with new run-deck/All-Star stores empty. Initial height: 4302316.
genesis.jsonSHA-256:e961738fa02a3dd9813b0ef3a79c3495671c1ac8611d029266150873799c7980genesis.json.gzSHA-256:fd4f9570239103f6bda8e0e8349a10a91c809e52785806c73a08f7aef29d1309The large artifact is separate from Git; its manifest is
docs/release-snapshot.json. Private validator keys, keyrings and node databases are not included.Download: Draft genesis artifact (repository access required while draft). Contains
genesis.json.gz,genesis.sha256, and the source-commit manifest. GitHub's uploaded-asset SHA-256 matches the local compressed artifact exactly. This is not a published production release.gh release download pr-267-genesis-snapshot --repo DecentralCardGame/Cardchain gzip -dc genesis.json.gz > genesis.json sha256sum -c genesis.sha256Companion PRs: Cardobject DecentralCardGame/cardobject#107 and scoped frontend compatibility DecentralCardGame/frontend#353.
Validation
go test -mod=readonly -p 2 ./..., including a clean checkout.Scope and deployment notes
Frame purchases and authoring policy remain unchanged. No gameclient changes or All-Star UI.
Reporter attestation remains the trust boundary for completed-run legitimacy and Forge package existence. A future authority-controlled revocation policy remains separate work.
This PR documents a fresh snapshot bootstrap, not a coordinated public-network in-place upgrade handler. Consensus-key replacement does not transfer inherited validator operator ownership or governance power. See
docs/deployment-run-decks.md.