Skip to content

fix(archive): preserve checkpoint lease compatibility - #143

Merged
leemour merged 1 commit into
mainfrom
fix/checkpoint-lock-compatibility
Oct 17, 2026
Merged

leemour merged 1 commit into
mainfrom
fix/checkpoint-lock-compatibility

Conversation

@leemour

@leemour leemour commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

The incoming refactor #141 moved checkpoint ownership from the published .lock/owner.json directory to .locks. That permits a new writer to acquire a lease while the published release holds the same checkpoint. An isolated regression fails on merged 9f8f719 because acquisition resolves instead of refusing the live legacy holder.

Retain the published host-format lease protocol and recognized local stale recovery until the shared lock adapter can support it. Keep the shared atomic checkpoint write, symlink-folder resolution, temporary-file cleanup and the rest of #141’s download/module refactor. Archive writer/partial/publication leases remain shared in Core. This avoids treating the already-published format as unused.

Validation: 29 focused lease/sync/cancellation tests, full typecheck and docs pass. Real-module interoperability against installed registry 0.22.1/Core 0.307.0 passes: old excludes new, new excludes old, and both round-trip one checkpoint in sequence. Full coverage passes all 486 tests across 58 files, with 98.46% lines and 93.77% branches. All fixtures use temporary state and no account data. The live-holder regression is retained alongside existing stale/foreign/replaced-owner and concurrent-acquisition contracts.

@leemour
leemour merged commit dbf4db9 into main Oct 17, 2026
4 checks passed
@leemour
leemour deleted the fix/checkpoint-lock-compatibility branch October 17, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant