ctxpkg.org

RFCs

Requests for Comments

Every change to the standard leaves a written trail

1What an RFC is#

In plain terms: before the standard changes, the change is written down, argued for, and reviewed in public. The document that does this is called an RFC — Request for Comments. Anyone can write one.

A standard is only as trustworthy as its change process. CTXPKG borrows the discipline that served the IETF, Rust and Python well: substantive changes to the specification, the schemas or the registry protocol require a public proposal with motivation, design, compatibility analysis and open questions — before any implementation lands.

Editorial fixes (typos, clarified wording that changes no behavior) do not need an RFC. Everything that could break an implementation does.

2The process#

StageWhat happens
IssueOpen an issue describing the problem — not yet the solution. Maintainers confirm it needs an RFC.
DraftWrite the RFC from the template. It gets a number and appears in the index below with status Draft.
ReviewPublic comment period — at least 14 days. Every objection gets a written answer.
DecisionAccepted (with rationale), Rejected (with rationale, kept in the index forever), or Withdrawn by the author.
ImplementedThe spec text changes, the reference implementation follows, conformance vectors are extended if behavior is observable.

During Phase 1 the maintainers decide; the rationale is always public. From Phase 2 on, decisions move to the steering group — the process itself does not change, only who holds the pen.

3RFC index#

RFCTitleStatus
0001 ZIP container format (v2.1)
A second, optional container: a ZIP archive carrying manifest, content and binary assets — for packages too large or too rich for a single JSON file.
Draft
0002 Provenance attestations (v2.2)
Optional, independently signed statements about how a package came to be — source, builder, redaction checks, review — verifiable offline, in the spirit of SLSA and in-toto.
Draft

Rejected and withdrawn RFCs stay listed — the reasoning behind a "no" is as valuable as the reasoning behind a "yes".

4Writing one#

Start from the template. It is deliberately short — a good RFC is judged by the clarity of its motivation and the honesty of its drawbacks section, not by its length.

curl -O https://ctxpkg.org/rfcs/0000-template.md

Submit it as an issue or merge request against the standard's repository, or mail it to standard@ctxpkg.org if you prefer. You do not need permission to start — the next number in the sequence is yours.