maniator / maniator/verticopolis
[P3] Unreadable-stash reconcile is localStorage-wins, which can regress a newer Cloud-synced stash
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). The unreadable id is exempt from the coherence three-way: a differing local stash is reconciled FORWARD on the reasoning that a fresh local stash superseded the store''s copy on this machine. Under Steam Cloud with two machines, machine B''s older stash can overwrite machine A''s newer synced stash, and the two can ping-pong last-boot-wins.
The stash is preserved bytes (not a live save), so the cost is bounded, but the one id excluded from the coherence design defeats it across machines. Wanted: apply the acked stamp to the stash id too, or key the reconcile on provenance rather than unconditional localStorage-wins.
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 PR #750 and trace the unreadable stash reconciliation, including the acked stamp and localStorage-wins path. Done means an older stash from one Steam Cloud machine cannot overwrite a newer synced stash or cause last-boot-wins ping-pong, while the preserved stash remains coherent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100