Skip to content
rfc-workflow Artifact [a348d256ca]
Login

Artifact [a348d256ca]

Artifact a348d256ca51c8002f112feee781121c63b78c8d65defea994bdb46b9b26b4ac:


Project Packs

A project pack is the project-specific layer of this RFC workflow.

The repo-wide workflow defines neutral mechanics in core/, repo-level prompts, reviewer roles, and toolchain behavior. A pack under projects/<name>/ adds the subject-matter context those neutral mechanics need for one concrete RFC suite or document family: source corpus boundaries, authoritative references, terminology ownership, draft defaults, and per-document drafting briefs.

In short:

Do not use a pack to fork the workflow itself. A pack should supply project facts, not alternate controller semantics, alternate review stages, or harness-specific runner logic.

How projects/<name>/ fits into the workflow

A harness or human operator should be able to load a project pack before drafting and get the minimum project context needed to work correctly:

  1. suite-brief.md sets the suite charter, document list, scope boundaries, and cross-document rules.
  2. corpus-brief.md defines the authoritative source corpus, informative material, observed-byte or runtime evidence surfaces, and section-to-source routing.
  3. references.md records the curated reference pool plus terminology and dependency ownership.
  4. draft-metadata.md provides shared draft/front-matter defaults.
  5. briefs/*.md add document-specific scope, required sections, exclusions, and edge cases.
  6. examples/ seeds example capture or anomaly checks when the suite benefits from them.
  7. references/ can hold local staged support material for the people doing the work, but that staged material stays support-only.

That layering lets the workflow stay reusable while each pack remains small, explicit, and project-authored.

A complete pack will usually look like this:

projects/<name>/
├── README.md
├── suite-brief.md
├── corpus-brief.md
├── references.md
├── draft-metadata.md
├── briefs/
│   ├── <doc-a>.md
│   └── <doc-b>.md
├── examples/
│   └── <seed-or-example-file>.md
└── references/
    ├── README.md
    └── <ignored staged support files>

Not every pack needs the same number of briefs or example files, but the top-level documents should exist so the workflow has a stable place to find each kind of project context.

What each pack file does

README.md

Pack-local orientation. Explain the suite or document family, summarize the pack contents, and state any pack-specific boundaries that a new contributor should know before loading the detailed briefs.

corpus-brief.md

The source-corpus contract.

Use it to answer:

This file should make it hard for a drafter to confuse orientation material with source authority.

references.md

The curated authoritative reference, terminology, and dependency map for the pack.

Use it to record:

This file is canonical for the pack's references and vocabulary relationships. If a local staged note or copied excerpt disagrees with references.md, the staged file loses.

references/ staged support material

A local workbench for support-only material such as copied source excerpts, manifests, API snapshots, reference bundles, scrape output, or temporary comparison notes.

Important distinction:

Staged files can help a run, but they are not the canonical statement of project references, terminology, or scope. Keep them ignored rather than canonical whenever they are copied from elsewhere, bulky, transient, or only useful as local evidence-gathering aids.

suite-brief.md

The suite charter.

Use it to define:

If the pack covers one document instead of a suite, this file can still state the charter and non-goals for that single deliverable.

draft-metadata.md

Shared front-matter and draft defaults.

Use it for items such as:

Keep workflow-neutral mechanics out of this file. It should say what the project wants in draft metadata, not how a harness should build or render drafts.

briefs/*.md

Document-specific drafting briefs.

Each file under briefs/ should cover one target RFC or related deliverable and state:

These briefs are where project context becomes concrete for one document.

examples/

Optional example seeds, anomaly probes, observed-byte notes, or example-capture checklists.

Use this directory when the project benefits from explicit reminders about:

Treat these files as review aids. They are not a substitute for the normative source corpus.

Building project-specific reference and context material

A good pack does not merely list files. It explains which materials matter and why. The easiest way to get there is to build the pack in the following order.

1. Identify the authoritative source corpus

Decide what the workflow is actually specifying.

Examples:

Name the authoritative corpus in corpus-brief.md, and be explicit about any boundary such as "implementation wins over lagging prose" or "spec text wins over convenience tooling output."

2. Collect normative and informative references separately

Do not blur references with equal weight.

Record both pools in references.md. Keep the list curated: include what the suite actually needs, not every adjacent document you found.

3. Map terminology ownership and document dependencies

If the pack covers multiple RFCs, decide which document owns each important concept.

Record in references.md:

This prevents three common failures: duplicated vocabulary, inconsistent definitions, and documents that quietly smuggle in dependencies they never name.

4. Stage support-only material under references/

When a project needs local working material beyond the canonical pack docs, place it under references/.

Typical staged items:

These files support the workflow; they do not define it. If a staged file becomes stable, reusable, and authoritative, promote its conclusions into corpus-brief.md, references.md, or another pack document rather than treating the staged file itself as the lasting source of truth.

5. Keep staged source files ignored rather than canonical

Copied source files, bulky exports, and local support bundles should normally be ignored from version control rather than checked in as the authoritative pack content.

Recommended practice:

That keeps the repository small and the pack legible while still giving local authors a place to collect working evidence.

Authoring guidance

Using the scaffold prompt

PROMPT-GENERATE-PROJECT-PACK.md is the reusable harness prompt template for creating a new projects/<name>/ skeleton. Fill in the project-specific inputs, ask your harness to scaffold the pack, then review the generated pack against this README:

If the answer is yes, the pack is ready to support drafting work.