Repository navigation
Conversation
Protect snapshot retention roots and edges with one validated commit, reject DELETING references, and propagate lease lifecycle failures.
Add SeaORM retention entities and a forward migration for incoming reference counts and idempotent GC operation replay.
# Conflicts: # src/api/router/snapshot_content.rs
…mit-update-gate # Conflicts: # src/api/router/snapshot_router.rs # src/callisto/mod.rs # src/jupiter/migration/mod.rs # src/jupiter/storage/mod.rs
# Conflicts: # src/jupiter/migration/mod.rs
Ivanbeethoven
marked this pull request as ready for review
October 5, 2026 03:43
This was referenced Oct 5, 2026
genedna
added a commit
that referenced
this pull request
Oct 6, 2026
* perf(mst2): reuse native subtree projections across commits * fix(mst2): validate snapshot settings through ordinary config loading * feat(mst2): persist publication request receipts * fix(mst2): fail closed for native merge writer * fix(mst2): expose TreeFrame response identity headers * ci: run isolated Linux repository gates on pull requests * ci: avoid duplicate case-insensitive workflow environment keys * ci: handle generated future lint and retain failed gate cache * fix(mst2): repair native publication compile gates * test(mst2): include native publication in migration ordering * test(mst2): pin receipt migration fixture by identity * test(mst2): persist real blobs for native HTTP projection * test(mst2): gate the integrated native commit update candidate (#38) * fix(mst2): make retention acquisition atomic Protect snapshot retention roots and edges with one validated commit, reject DELETING references, and propagate lease lifecycle failures. * feat(mst2): add durable retention GC schema Add SeaORM retention entities and a forward migration for incoming reference counts and idempotent GC operation replay. * test(mst2): include retention migration in ordering check * fix(mst2): bound JSON body reads and preserve typed rejections * fix(mst2): reject duplicate JSON keys including null and escapes * feat(mst2): add atomic PostgreSQL retention repository * fix(mst2): remove obsolete body extractor import * test(mst2): account for integrated native and retention migrations * fix(mst2): repair native publication compile gates * test(mst2): require successful bounded-input lease fixture registration * test(mst2): seed retention migration timestamps * test(mst2): seed legacy retention edge timestamps * test(mst2): assert the GC receipt completion constraint * Require the owned HTTP child to hold its readiness listener --------- Co-authored-by: Quanyi Ma <eli@patch.sh>
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.
Combine native publication/head and Merge guard (#36), atomic retention and its PostgreSQL repository (#35), bounded JSON input (#37), and snapshot configuration/TreeFrame identity headers (#33) into an executable Linux gate for real commit-update measurements. Source PRs remain independently reviewable.
Normal dependency merges preserve the native root/tree/sequence/epoch token, both sets of entity/storage registrations and append-only migration order. The integration regression retains all seven native-plus-retention tail entries. Real HTTP fixtures store blob bytes and use returned OIDs; the receipt regression locates and repeats its exact migration by name in a transaction, preserving legacy fields and constraint assertions.
Complete Linux Repository gates passed on current server head
37b61086288b80c10b413472e262a1bf281779eb: https://github.com/gitmono-dev/mega2/actions/runs/37257553824.source .env.test && cargo test --all: 2,008 library tests passed, 0 failed, 2 existing ignored; API write integration passed 71/71. Every binary, integration and doc-test target passed.Performance dispatch may use this green server pin. No measured performance result is claimed until the independent benchmark completes against it. The PostgreSQL retention repository remains separate from the live in-memory snapshot runtime; physical deletion/GitRetentionPort and full durable GC are not enabled.