Tags and Properties for Check-in f75dfdfbe7
- branch=fix10-update-diag propagates to descendants
- closed added by [dcd6b3fda3] on 2026-07-23 14:58:46
- sym-fix10-update-diag propagates to descendants
- sym-trunk cancelled
|
2026-07-23
| ||
| 14:58 | • Edit [f75dfdfbe7]: Mark "Closed". artifact: dcd6b3fda3 user: dmestas | |
| 11:53 |
Split the update read-path diagnostics apart from the corruption claim
zit update, open, merge and bisect collapsed ApplyError.StateRecordInvalid and ApplyError.Corrupt onto one line, "cannot read repository: repository is corrupt". They are different claims. Corrupt means stored bytes do not match the name they are stored under. StateRecordInvalid means only that a stored artifact was not usable as a check-in state record, which says nothing about integrity. An intact fossil clone reaches the second routinely: fossil stores and syncs artifacts it declines to crosslink itself. Assembly treats those as fatal while the read verbs skip them, so update accused an undamaged clone of corruption while timeline read the same store fine. StateRecordInvalid now carries its own reason text, shared across the four verbs so they cannot drift or re-merge. The bisect mapper had a blanket else arm swallowing the whole set into that corruption line; it is now exhaustive over ApplyError. Diagnostics only: assembly still rejects these artifacts, so update still exits 1 on such a clone. The tolerance fix is separate; the shape that triggers it, an anonymous wiki page with no U card, is pinned. closed check-in: f75dfdfbe7 user: dmestas tags: fix10-update-diag | |