maniator / maniator/verticopolis

[P3] Unreadable-stash reconcile is localStorage-wins, which can regress a newer Cloud-synced stash

Open
#753 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.