Skip to content
rfc-workflow Artifact [5338a053d5]
Login

Artifact [5338a053d5]

Artifact 5338a053d550a5675931de444b4a58fb310219f776fa8fd6ac3ae9947ce53745:


# Fossil Project Pack

This pack holds the Fossil-specific inputs for the RFC workflow. It assumes the neutral contract, controller rules, reviewer roles, and toolchain mechanics live in the repo-wide `core/`, `briefs/`, `prompts/`, and `toolchains/` surfaces.

## Suite covered

The Fossil pack targets a four-document suite:

1. **Artifact Format** — the foundational content-addressed artifact model.
2. **Delta Format** — the byte-level delta encoding used by Fossil content transfer and storage.
3. **Repository State and Check-in Resolution** — the derived branch, tag, leaf, and current-trunk semantics computed over stored artifacts.
4. **Sync Protocol** — the HTTP-based artifact exchange protocol that depends on Artifact, Delta, and RepoState.

## Fossil suite contract

- A competent programmer who has never seen the Fossil source should be able to build a conformant, interoperable implementation from these four documents alone.
- The Artifact document is foundational. The Delta document defines the byte-level delta format. The RepoState document specifies derived repository views over stored artifacts. The Sync document depends on all three companion documents rather than carrying those semantics inline.
- RepoState was added later in the drafting effort when it became clear that repository-derived behavior — check-in resolution, branch/tag state, leaves, and current-trunk — needed its own companion RFC for clean-room implementability.
- Artifact and Delta must preserve every construct required to read existing repositories, including historical SHA-1 content and documented card-ordering relaxations.
- Sync scope is the **current** wire version: keep the `cfile` clone path and `clone_seqno`; omit the older version-2 `send_file` clone path and pre-2.27 login handling.
- Final public deliverables are the source Kramdown draft and the rendered IETF text draft. XML is an intermediate build artifact, not a published deliverable, and rendered-output runs require the repo-wide kramdown/xml2rfc mechanics to be available before execution.
- Provenance containment is suite-specific: the only permitted transformation/ratification statement is the mandated opening sentence in the Artifact abstract. Human author blocks stay human-only.

## Pack contents

- `suite-brief.md` — suite charter, deliverable boundaries, and cross-document rules.
- `corpus-brief.md` — Fossil-specific source authority, corpus boundaries, and section-to-source routing.
- `draft-metadata.md` — shared front-matter defaults and per-document title/abstract defaults.
- `references.md` — authoritative suite reference pool, internal dependency map, and terminology ownership.
- `references/` — staged Fossil-specific source-reference support material such as path maps, excerpt sets, or operator notes gathered for a run.
- `briefs/artifact.md` — Artifact RFC scope, required sections, and edge cases.
- `briefs/delta.md` — Delta RFC scope, required sections, and edge cases.
- `briefs/repo-state.md` — RepoState RFC scope, required sections, and derived-state edge cases.
- `briefs/sync.md` — Sync RFC scope, required sections, and edge cases.
- `examples/anomaly-seeds.md` — known review seeds and anomaly probes that must be re-checked against source or observed bytes.
- `runs/README.md` — checked-in run-root guidance for Fossil executions; concrete run artifacts belong under `runs/<run-id>/`.

## Pack versus run boundary

The reusable Fossil inputs stay at the top of `projects/fossil/`: suite charter, corpus boundary, references, metadata, document briefs, staged support notes, and review seeds.

Concrete run output belongs only under `projects/fossil/runs/<run-id>/`, using the standard `public/`, `evidence/`, `gates/`, and optional `logs/` layout described in `runs/README.md`.

## Recommended use

1. Load the neutral workflow contract and core docs.
2. Load this project pack's `suite-brief.md`, `corpus-brief.md`, `draft-metadata.md`, and authoritative `references.md`.
3. Stage or consult supporting Fossil-specific source-reference material under `references/` when a run needs local path maps, excerpt bundles, or other non-authoritative aids.
4. Load exactly one per-document brief for the draft being worked.
5. Use `examples/anomaly-seeds.md` during source scouting, example capture, and clean-room review.
6. If you keep repo-local run artifacts inside this pack, create them only under `runs/<run-id>/` and keep `runs/README.md` as the checked-in placeholder.
7. Keep reusable render/build mechanics in `toolchains/`; keep Fossil corpus and drafting constraints here.

## Intentionally not in this pack

These Fossil files do **not** carry neutral workflow policy:

- controller-stage ordering,
- claim-ledger / packaging / validation framework rules,
- harness adapter commands,
- local tool installation instructions,
- environment-specific shell recipes.

Those belong in repo-wide core or toolchain surfaces, not in the Fossil pack.