(2026-10-11 neutral review, low-priority items on the layout-stamp work)
crates/didbot-pds/src/side_store.rs:~139throws away the result ofsync_dirafter the stamp rename. The laterwal.trimsync mitigates it, but the error should be returned.- After a restamp, a damaged checkpoint falls back to reading the log from the start with today's reader (
durable.rs:~213-235,~416). This is harmless for layout 22 to 23, but a later format change would mis-decode the old segments. Pick the reader per segment on that fallback.
Item 1 is fixed in https://tangled.org/did:plc:swttlkbjvcoln67iievud7b3/pulls/1152:
SideStore::savenow returns thesync_direrror.Item 2 is still open. It needs a design decision first. Segments don't record which layout wrote them, and after a migration the live segment holds frames from both layouts. Picking a reader per segment would take two things:
pds.layoutfield naming the previous layout's shape and names, and the first segment written under today's layoutThat is a new stamp field and a layout bump, so it needs review first. It also builds on the open restamp-before-trim change (claude/layout-stamp-durable), where the fallback hazard is sharpest.