Conversation
skarim
added this pull request to stack #530
September 28, 2026 17:20
This branch has not been deployed
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.
Layer 2 of four extracted from #520, based on #526.
Adds atomic catalog publication with synced contents, permission preservation, staleness checks, and checksum refreshes. Short catalog locks remain distinct from operation-lock primitives for later coordination; current modify lock ownership is unchanged.
The conservative migration helper validates definitions and recovery records, journals original bytes, publishes the merged catalog, then backs up and archives originals. Interrupted attempts remain retryable. Migration is not activated: commands still use existing catalog locations. Only rebase/modify journal writers switch to
stack.WriteAtomic; schemas and recovery paths are unchanged.Windows replacement uses POSIX handle-rename semantics with a narrow unsupported-operation fallback. Deterministic held-reader and exclusive-collision tests supplement the unchanged visibility test.
Native vet, targeted/full race tests, and build pass. Windows stack tests cross-compile for 386/amd64/arm64; full 386 vet encounters a pre-existing unrelated test overflow. Windows runtime confirmation awaits native-stack CI; workflows remain unchanged.