Use these as review seeds and example-capture traps. They are starting points for source or observed-byte checking, not facts to promote blindly.
Artifact-focused seeds
| Seed | Why it matters | Check against |
|---|---|---|
A wiki artifact created by append with submitting user nobody may carry no U card. |
This is the one explicit known case named in the original prompt; it tests whether the reader rule differs from a writer quirk. | src/manifest.c parser behavior plus an observed artifact if one exists |
Technote N-after-P ordering relaxation. |
The relaxation is legitimate only if the technote type admits P; otherwise a reader may mistake it for an editorial error. |
card-order logic in src/manifest.c and any observed technote instances |
fossil test-parse-manifest may reject an artifact that manifest_parse admits. |
The command's pre-check is narrower than the library parser, so anomaly judgments must resolve to the library rule. | manifest_is_well_formed versus manifest_parse |
Delta-manifest F card with no hash means delete, not empty content. |
Readers will misbuild delta-manifest file sets if this is left implicit. | delta-manifest merge path in src/manifest.c plus observed delta manifests |
| Existing SHA-1 artifacts remain readable. | Historical repository readability is a document requirement, not a legacy footnote to drop. | naming/hash-policy handling plus observed SHA-1 artifacts |
Sync-focused seeds
| Seed | Why it matters | Check against |
|---|---|---|
The client POSTs to the repository URL path unchanged; it does not append /xfer. |
This is a high-risk interoperability bug if specified wrongly. | POST construction in src/http.c and sync dispatch in src/xfer.c |
file / cfile payloads are followed immediately by the next operator, while config payload is followed by a newline the receiver skips. |
Payload framing is not uniform across sync cards. | send/receive paths in src/xfer.c and src/configure.c |
A delta-form file or cfile may arrive before its source during clone and must be retained until the source arrives. |
Rejecting or eagerly failing this case breaks clone correctness. | content_xfer, xfer_accept_file, and dangling-delta handling in src/xfer.c |
Current clone path is cfile plus clone_seqno; older send_file clone path is legacy and out of scope. |
Prevents mixing current and obsolete wire versions in one document. | current clone path in src/xfer.c, plus version-change handling via version pragmas |
| Pre-2.27 login handling is out of scope, but the actual version/date boundary still has to be stated from source. | Avoids vague historical cut lines. | login/version handling in src/xfer.c |
Delta- and example-focused seeds
| Seed | Why it matters | Check against |
|---|---|---|
| The header newline in a delta is structural and must remain visible in rendered examples. | Rendered examples can accidentally collapse the newline and misstate the format. | observed create/apply examples and rendered text extraction |
Literal payloads may contain 0x0a and must be located by count, not by scanning. |
A line-splitting reader will mis-parse valid deltas. | delta parser/apply paths plus observed examples containing embedded newlines |
| Source-absent behavior must be taken from implementation, not from generic delta expectations. | The suite promises implemented behavior, not generic delta folklore. | src/delta.c, src/deltacmd.c, src/deltafunc.c |
Example-rendering traps from the original pack
These are not protocol anomalies; they are recurring failures in rendered RFC examples.
- Invisible bytes: leading/trailing spaces, tabs, or repeated spaces disappear in prose unless the example exposes them with byte lengths or explicit delimiters.
- Collapsed structure: a required separator byte, especially
0x0a, must be shown visibly rather than running into the next token. - Unstated field encoding: if an example shows a date, time, size, hash, version, or sequence number, the running text must state its encoding so the reader can reproduce it.
- Observed, never predicted: examples must come from implementation output and must round-trip from rendered text back through the implementation.
Promotion rule
A seed graduates into a public anomaly appendix entry only after source or observed-byte checking shows that the behavior is real and the public document needs to preserve or explain it.