docs: say only what the result-on-error change actually delivers

main

Commit

nodo3d ago

The changelog claimed callers could "distinguish a failed relay from a failed bootstrap". The relay half is false. incremental.Execute returns a zero Result on every error path — including push target refs, which fails after the relay decision — and the syncer returns before copying incResult's relay facts anyway, so a failed relay reports an empty TransferMode, indistinguishable from a pre-execution failure. Only the bootstrap route was fixed. The entry now says that, and names the gap rather than implying it away; the relay path is worth the same treatment but needs its own tests.

"errors returned after planning has begun" was similarly broad: sixteen error paths in the syncer still return a zero result.

Also: the Added entry re-introduced the ambiguous "Bootstrap" that this same commit range corrected in errors.go — the root package has no such method, it is unstable.Client.Bootstrap. The claim that cancellation errors keep their classification is removed: nothing classifies cancellation, and naming it beside the deadline implies handling that does not exist. The deadline half is real and tested.

Unreleased now runs Added -> Changed -> Fixed, matching every released block; the new Added section had been appended below Fixed. And the sentinel's doc paragraph is reflowed rather than left ragged after the earlier line-length fix.

Entire-Checkpoint: 01M1EK3KNW2X1HYE8VVF91YJ3S

Checkpoints

Fix Interrupted Batched Bootstrap Resume

Claude CodeOpus 5
View session
Checkpoint 1