maniator / maniator/verticopolis
[P3] Old-shell (writeSync-less) manual-save fallback can be clobbered by an in-flight routed autosave
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
From the D4 adversarial review (PR #750). On a hydrated session against a shell that predates writeSync, a manual save falls back to localStorage (shared-headed towers only). If a routed async autosave with OLDER bytes is in flight at that moment, its write-through refreshes the cache and the stamp from the older store commit, silently superseding the fallback save in the cache while the store never saw it. Window is one IPC round trip on an old shell; the transitional shell population makes this low-priority, and the mixed store-plus-fallback mode is the root cause.
Wanted: either invalidate the pending routed write''s write-through when a fallback save lands (the latestAsyncSave token pattern one level up), or refuse the mixed mode outright once shells ship writeSync.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the routed async autosave and manual-save fallback described in PR #750, including the latestAsyncSave token pattern and the writeSync availability check. Reproduce the old-shell race with an older in-flight write, then ensure a fallback save cannot be superseded in cache, or that mixed store-plus-fallback mode is refused.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100