Repository navigation
Conversation
* fix(git): respect shallow depth and v0 negotiation boundaries * test(redis): accept OS-assigned standalone ports * test(s3): allow isolated RustFS integration endpoints * fix(git): preserve SSH shallow negotiation and isolate test ports * Validate MST2 verified facts and preserve raw blob content * Isolate retention lifecycle test runtime * 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 * feat(mst2): index fixed namespace bindings by path components (#40) * feat(mst2): add fixed namespace component index * test(mst2): keep namespace oracle inside private domain * test(mst2): register internal namespace regression suite
Ivanbeethoven
marked this pull request as ready for review
October 5, 2026 15:29
Ivanbeethoven
marked this pull request as draft
October 5, 2026 16:01
Ivanbeethoven
marked this pull request as ready for review
October 5, 2026 16:59
genedna
merged commit Oct 6, 2026
a15a2ac
into
feat/mst2-native-metadata-lease-ledger
1 check passed
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.
New native metadata preparations receive one immutable PostgreSQL deadline grant. After that fixed deadline, a private transaction can expire an unconsumed PREPARING or COMMITTED preparation, record one immutable expiry event and release only its exact Prepare pins. Shared lease/workspace/local references and immutable payload bytes remain retained. Historical preparations have an explicitly unknown deadline and cannot be expired or silently assigned a new TTL.
The grant binds storage, operation, manifest, duration, prepare identity and the database clock sampled after locks. Retries never extend it. Installation, finalization and new lease consumption reject elapsed preparations. An already consumed lease operation remains recoverable after the deadline. COMMIT errors carry an opaque grant-bound recovery witness; fresh-primary recovery verifies the captured storage, barrier, immutable event and terminal state without repairing references or granting read authority.
This private metadata primitive is stacked on #46 at abd8737. Runtime/body serving, lease renew/release/read-pin lifecycle and physical collection remain separate; MST/2 wire and schema2 are unchanged.
Validation at final head 4d83a17:
Only source, test and additive schema paths are included. Planning documents, reports and credentials are excluded; the frozen performance experiment remains undispatched.