Repository navigation
docs(devices): describe fills only in place and writes held for another instance - #632
Merged
Merged
Conversation
This was referenced Oct 25, 2026
aicayzer
force-pushed
the
docs/refill-in-place
branch
from
October 25, 2026 19:09
c440597 to
2c88fec
Compare
Contributor
Author
|
Parked as a draft with its code change, withmarfa/marfa#2402, until withmarfa/marfa#2405 is decided. Merge the two together, or close both if #2405 goes the other way. |
3 tasks done
aicayzer
force-pushed
the
docs/refill-in-place
branch
from
October 30, 2026 21:41
2c88fec to
76011ce
Compare
3 tasks done
aicayzer
force-pushed
the
docs/refill-in-place
branch
from
October 31, 2026 13:37
72e1d6e to
1244447
Compare
aicayzer
marked this pull request as ready for review
October 31, 2026 13:47
aicayzer
force-pushed
the
docs/refill-in-place
branch
from
October 31, 2026 13:47
1244447 to
2008a8e
Compare
aicayzer
enabled auto-merge (squash)
October 31, 2026 13:47
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.
Summary
Describes two changes to working copies from withmarfa/marfa#2402. A hydration can be asked to fill a stale copy only in place, and it's refused
copy_expiredwith a reason, changing nothing, where it can't be. If the instance itself refuses the credential or its reach during such a fill, the stale copy still ends, keeping its queued writes, and the copy's hydration state (staleorexpired) tells the two apart. Writes queued against one instance are heldblockedwith the reasoninstance_changedonce the copy is built from another instance, until they're released or withdrawn.Part of withmarfa/marfa#2399.
Changes
instance_changed.reach_changed.copy_expiredentry coversinstance_changed, the writes it holds and--in-place-only, and now saysmarfa device statusshowsstaleafter a refused fill andexpiredafter the instance refuses the credential or its reach. A new entry covers thenot_stalemessage.Testing
main(no conflicts).pnpm testpasses (708 tests) but forsrc/lib/command-check.test.ts, which now flags four uses of--in-place-only, as expected before the sync. Checked the new wording againstdevice/refill-in-place-only-keeps,device/refill-in-place-only-server-endsanddevice/stale-ends-refusedin feat(core): refill a working copy only in place, and hold writes queued against another instance marfa#2402.main. The rebase met one conflict indevices.mdx, beside thewrong_schemaparagraph thatmainhad changed; it keepsmain's wording of that paragraph and adds the new paragraphs before it.pnpm exec vitest run src/lib/content-lint.test.ts src/lib/command-check.test.ts. The content lint passes. The command check fails only on the uses of--in-place-only, as expected before the sync.copy_expiredmessages in feat(core): refill a working copy only in place, and hold writes queued against another instance marfa#2402, and against a run on two real servers.pnpm build.Notes for reviewers
src/lib/command-check.test.tsdoesn't yet knowmarfa device hydrate --in-place-only, because the command tree comes from the sync. The glossary's count of blocked reasons also arrives with that sync.Checklist