Sync loop failure typing: Stopped(typed cause) for unrecoverable protocol errors, malformed-batch retry through §5 with a §7 event (§10.3.4) #141
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Review finding 2026-08-27 (A8).
SyncLoop.kt:105-113: non-auth protocol errors (403/400/M_UNRECOGNIZED) back off forever;SyncState.Stopped/Backoffcauses are Strings; malformed-batch retries use the private sleeper and only a log line, noMetricEvent.Acceptance (§10.3.4, §7): typed cause on
Backoff/Stopped; unrecoverable protocol errors stop with a typed cause; malformed-batch retry paced by §5 and reported as a metric event; tests asserting the observableBackoffstate (none exist).Partial overlap landed with #134 / D81 (commit
f624a99): the malformed-batch retry is now paced by the §5 schedule (retryPolicy.retryDelay(e, malformedStreak)) andSyncLoopRateLimitTest.malformedBatchRetriesUnderTheSection5Scheduleasserts the observableBackoffstate. Still open here: typed causes onBackoff/Stopped, unrecoverable protocol errors stopping with a typed cause, and the §7 metric event.