Artifact e46c1d1a413cc417f6d0b2d487bcb83989418eb07433467d59d5f1d29e421ad7:
- File
internal/content/memo_held_test.go
-
2026-10-29 03:02:04
— part of check-in
[ad975ea85b]
on branch feat/horizon-peer-serving
— fix(sync): judge the horizon refusal after the push, serve later peers
Review of #525.
- A requested C this store cannot place is a peer ahead of it, not one asking for history it lacks, and is served what the store holds. A peer at a later C the store holds is placed inside its held set and served. - The refusal is judged after the card loop, once the pull card has passed its permission check and the push half is stored. Only the pull half is refused: the reply is reset to the one error card, the request is not rolled back, and a push in the same sync is kept. - The held sets are computed through the classification memo, which keeps them per store and drops them when the store changes; the inventory reuses the view the judgment read. - The refusal begins with the machine-readable prefix horizon-not-held:, which the client matches instead of the whole text. - The fallback remedy moves from a new result field into the existing diagnostics, prefixed horizon-fallback:: SyncResult.Errors and CloneResult.Messages. The CLI still prints it. (user: [email protected], size: 2055) [annotate] [blame] [check-ins using]
-
2026-10-29 05:35:02
— part of check-in
[301c8e2337]
on branch main
— Merge pull request #525 from danmestas/feat/horizon-peer-serving
fix(sync): a horizon store refuses a pull it does not hold and mints no seed (user: [email protected], size: 2055) [annotate] [blame] [check-ins using]
-
2026-10-29 03:02:04
— part of check-in
[ad975ea85b]
on branch feat/horizon-peer-serving
— fix(sync): judge the horizon refusal after the push, serve later peers