Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
1.7 KiB
| title | status | maturity | families | scales | admission | |||
|---|---|---|---|---|---|---|---|---|
| Pending Synchronization | draft | hypothesis |
|
|
research-candidate-only |
Pending Synchronization
Context: edits persist while connectivity is absent or intermittent. Problem: local
success does not establish a remote receipt. offline-usability competes with
freshness; retries add reconciliation-complexity.
Proposed solution: retain stable revision/operation identity and pending work across restart, retry on reconnection, and distinguish queued, sent and acknowledged states. A sent request alone never means synchronized. Define deduplication and the acknowledgement scope at the receiver before retrying. Do not infer that every other device has seen it.
Result: progress can resume after interruption without relying on volatile UI state. A lost response leaves the same operation pending; an idempotent retry or lookup must resolve uncertainty. Infinite retries, expired authorization and sync-disabled items need explicit observable states rather than a permanent spinner.
Evidence: expansion review E05/E06 documents Joplin's distinct sync process and per-item progress metadata. The precise retry protocol here is a hypothesis, not a verified implementation description. Known uses of the full contract and recurrence: unknown. Alternative: server-required writes, which sacrifice offline operation; untracked best-effort upload, which lacks restart recovery.
Proposed connections: Local Commit Boundary provides a persistent origin; detected divergence may create context for Conflict Copy. Neither relation implies every sync needs a conflict copy. See the VC-02 walkthrough.