Artifact 2ce18bd3809911318dc1d61042e2ca9a21cf62897e49382f1f2ab9a27ce3503e:
- File
conformance/rfcs/README.md
— part of check-in
[600861484f]
at
2026-10-13 15:55:30
on branch main
— test(conformance): re-pin the -01 drafts with the 2026-10-13 errata (#430)
* test(conformance): re-pin the -01 drafts with the 2026-10-13 errata
Re-pin the repo-state and sync-protocol drafts to zit check-in 5a1b741b25d8, which applies five more -01 errata: repo-state §5.3, §7.3 and §8.3, sync-protocol §9.4/§9.5 and §10.1. zit now keeps each -01 text under the -00 file name; the copies keep their -01 names and conformance/rfcs/README.md records the zit path and check-in. The new errata are pinned, and the requirement tables are re-read against every changed hunk.
The §7.3 and §8.3 cases that were deviations now pass as written, and new cases cover a date tag's arrival order (§5.3), untagged leaves and a merge parent's recheck (§7.3).
The sync server answers each guard-passing ci-lock with pragma avoid-delta-manifests while forbid-delta-manifests is on, defaulting to on as the draft and fossil 2.29 do (fossil 2.28 defaults it off). The client leaves its transfer unchanged on that pragma. A file or cfile whose content does not match its hash now fails the client's round, in a pull and a clone: the reply rolls back, prefix included, and no further round starts.
The leaf table is still recomputed per crosslink batch, so a parent whose untagged child arrives in a later batch loses the verdict §7.3 keeps; that case is marked as a gap, tracked in #426.
* fix(sync): continue after a uvfile content error; renumber the avoid-delta-manifests row
A uvfile whose content does not match its HASH is a handler-reported content error: warn, commit the prefix and follow ordinary continuation (sync-protocol-01 10.1). The avoid-delta-manifests client row is SP-9.5-7 now that share-links took SP-9.5-5 and SP-9.5-6. Older unreleased changelog entries drop the pending-erratum wording. (user: [email protected], size: 3277) [annotate] [blame] [check-ins using]
# Pinned drafts The conformance suite reads these documents, never edits them. Each is a byte-for-byte copy of a file under `docs/rfcs/` in the zit repository, taken from the check-in below. The requirements tables in `../requirements/` pin each copy by its SHA-256, so a refreshed copy fails the coverage test until its table has been re-read against it. Since zit check-in `5a1b741b25d8bb65fe8b2e71a0e099b1ec13b418` (2026-10-13) the -01 files are gone from zit: each draft is `docs/rfcs/draft-fossil-X-00.txt`, whose content is the -01 text (the document name inside still reads `draft-fossil-X-01`) with the -01 errata applied. The copies here keep the -01 file names; the zit path is the second column. | File | zit path | zit check-in | zit artifact | SHA-256 | |---|---|---|---|---| | `draft-fossil-artifact-format-01.txt` | `draft-fossil-artifact-format-00.txt` | `5a1b741b25d8` | `dd0e1a9322` | `e91b720ba70a74b5…` | | `draft-fossil-repo-state-01.txt` | `draft-fossil-repo-state-00.txt` | `5a1b741b25d8` | `e005e776d7` | `d94ba052317b718…` | | `draft-fossil-sync-protocol-01.txt` | `draft-fossil-sync-protocol-00.txt` | `5a1b741b25d8` | `bacc557b5a` | `383bd08c8923dca…` | | `draft-fossil-delta-format-00.txt` | `draft-fossil-delta-format-00.txt` | `5a1b741b25d8` | `d8025d6d75` | `6a28ee7e2e146f8…` | | `erratum/artifact-format-01-s4.6.4-julian-day-grammar.md` | same | `5a1b741b25d8` | `5a1adf7f9c` | `c50e6b5aef35b65…` | | `erratum/repo-state-01-s4.2-date-tag-event-time.md` | same | `5a1b741b25d8` | `b5e6383412` | `e55108ed39857f4…` | | `erratum/repo-state-01-s5.3-inherited-row-blocks-direct-tag.md` | same | `5a1b741b25d8` | `1ee5e540ce` | `2bfd0d2e76efe0b…` | | `erratum/repo-state-01-s6.2-cancel-cards-from-parent.md` | same | `5a1b741b25d8` | `43f021a207` | `3d24910396abea9…` | | `erratum/repo-state-01-s7.3-leaf-recheck-branch-tag.md` | same | `5a1b741b25d8` | `275509b8fc` | `25a27e819bae83c…` | | `erratum/repo-state-01-s8.3-ckout-ci-plus.md` | same | `5a1b741b25d8` | `7e8ecce19e` | `a955cf371e420eb…` | | `erratum/sync-protocol-01-s5.1-truncated-payload-receiver.md` | same | `5a1b741b25d8` | `8157e3faaf` | `0e08208def3084a…` | | `erratum/sync-protocol-01-s5.3-errors-count.md` | same | `5a1b741b25d8` | `ca1539a1e9` | `752da0b6944f341…` | | `erratum/sync-protocol-01-s6.6-file-card-after-refused-push.md` | same | `5a1b741b25d8` | `1c50fe8add` | `5857e99624ece02…` | | `erratum/sync-protocol-01-s9.4-avoid-delta-manifests.md` | same | `5a1b741b25d8` | `78e82316c1` | `9a1cbf178587b2b…` | | `erratum/sync-protocol-01-s10.1-wrong-hash-file-fails-the-round.md` | same | `5a1b741b25d8` | `e5dd8a4c9b` | `8cb2b8cbbdfe808…` | The drafts carry every -01 erratum: the six of zit check-in `100351e26ce269a29e0567dfd81010729be80f3d` (2026-10-12) and the five of 2026-10-13 (repo-state §5.3, §7.3, §8.3; sync-protocol §9.4, §10.1), applied by check-in `5a1b741b25d8`. The errata are pinned for the Fossil 2.28 and 2.29 behavior they record, which the cases use as the reference where the drafts and fossil(1) disagree. The -00 errata are folded into the -01 drafts (zit check-in `44685f33b1`) and are no longer pinned. There is no delta-format -01, so the delta suite stays on -00; its file is unchanged at `5a1b741b25d8`.