# Fossil Suite References and Terminology

## External reference pool

### Normative pool across the suite

The original pack treated this as the shared normative pool, with each document citing only what it actually uses:

- **RFC 5234** — ABNF
- **RFC 3174** — SHA-1
- **FIPS 202** — SHA3-256
- **RFC 1321** — MD5
- **RFC 1950** and **RFC 1951** — zlib / DEFLATE transport references when the sync text needs them
- **RFC 9110** — HTTP semantics
- **RFC 6838** — media-type registration for the sync document's IANA section

### Informative pool

- Fossil documentation under `www/`
- CRDT literature for the grow-only-set framing of artifact convergence, especially the G-Set paper cited in the original pack

## Internal document dependency map

- **Artifact** is the vocabulary owner for artifacts, manifests, delta manifests, clusters, phantoms, and projectcode.
- **Delta** is the format owner for delta encoding and application semantics.
- **RepoState** is the owner for check-in DAG construction, crosslink/tag propagation, branch membership, leaves, symbolic-name resolution, and `current-trunk` derivation.
- **Sync** depends on Artifact for artifact identity, on Delta for delta-form content transfer, and on RepoState for repository-derived branch/tag/current-trunk semantics.
- Artifact may cite Delta where delta-manifest reconstruction or delta-carried content needs a narrow cross-reference, but it should not redefine delta encoding.
- RepoState should cite Artifact for card/hash grammar and stored-artifact inputs, and cite Sync only where transport/admission trust boundaries matter; it should not redefine transport or byte-level artifact syntax.
- Sync should cite Artifact, Delta, and RepoState rather than re-teaching those companion rules inline.

## Terminology ownership

### Terms owned by the Artifact document

The original pack explicitly placed these in Artifact terminology:

- artifact
- content artifact
- structural artifact
- card
- manifest
- baseline manifest
- delta manifest
- cluster
- control artifact
- phantom
- projectcode

### Terms added by the Sync document

The original pack explicitly added these in Sync terminology:

- servercode
- gimme
- igot
- unclustered table


### Terms added by the RepoState document

The later companion RepoState document adds or owns these repository-derived terms:

- check-in DAG
- primary parent
- merge parent
- tag type
- singleton tag
- propagating tag
- cancel tag
- branch
- leaf
- open leaf
- closed marker
- symbolic name
- current-trunk
## Reference hygiene notes

- Keep external references document-specific. Do not import the full suite pool into a draft that does not cite it.
- RFC form/style references and BCP 14 boilerplate behavior are reusable workflow/toolchain concerns, not Fossil-specific reference content.
- When a Fossil wiki/document page is used, treat it as informative unless the implementation confirms the same rule.
