Skip to content

Reduce the README to pointers and correct its claims - #6

Merged
Aevust merged 10 commits into
mainfrom
docs/readme-pointers
Jul 29, 2026
Merged

Reduce the README to pointers and correct its claims#6
Aevust merged 10 commits into
mainfrom
docs/readme-pointers

Conversation

@Aevust

@Aevust Aevust commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Ten commits, one file. After this, the README defines no term of its
own, draws no structure another document owns, and asserts nothing
this repository does not record.

1  docs(readme): stop copying governance definitions
2  docs(readme): cite where authority is bounded
3  docs(readme): stop defining RIP statuses in prose
4  docs(readme): stop attributing the MWEB suspension
5  docs(readme): stop mirroring the repository tree
6  docs(readme): give authenticity its own section
7  docs(readme): state what CC0 does not waive
8  docs(readme): fix the Requires column for two RIPs
9  docs(readme): stop drawing the dependency graph
10  docs(readme): narrow the whitepaper citation claim

GOVERNANCE.md §Change Submission Discipline and Emergency Exception
binds the official Core repository, not this one, so nothing required
this to be a pull request. It is one because the repository ruleset
asks for it and because the diff is worth a record. No ruleset change
was made to open or merge it.


What this file stopped duplicating (1, 3, 5, 9)

Gone: the four roles that constitute the Core Strategic Authority,
the version-numbering scheme, four of the eight RIP statuses, the
directory tree with all eleven RIPs enumerated, and the dependency
graph. Each was a copy of something another document defines, and
each had to be edited whenever a RIP was added.

Each also sat on the wrong side of a gate. GOVERNANCE.md and
/rip-0001/ require code-owner review; README.md does not. The
definitions could have been changed here without the review that
changing them at the source would need. Nothing normative turned on
the copies, but a reader could have been shown one thing while the
source said another.

Two had already drifted. The tree listed
governance/emergency-actions.md, which RIP-0001 does not, and
security/*.asc where RIP-0001 says security/*_public.asc. Status
Definitions defined four of the eight statuses and deferred the rest
to RIP-0001, with nothing to explain the split.

What replaced them are links: §Core Roles, §Version Numbering Scheme,
§Succession, RIP-0001 §RIP Status. RIP-0001 §Repository Structure
draws the tree with rip-NNNN/ as a pattern and needs no edit when a
RIP is added; GitHub renders the real one from the repository.


What this file got wrong (4, 8, 10)

  • The note on RIP-0004 credited the MWEB suspension to "the Rincoin
    Core Authority", a term defined nowhere. GOVERNANCE.md defines
      Core Strategic Authority in §Core Roles and uses Core Authority
    Lead
    for one of the four roles inside it, and under §Version
    Authority, a decision by the body and a decision by one holder are
    not the same decision. The note now points at RIP-0004 §2.1, which
    is authoritative for the suspension and records both the decision
    and its reasoning.
  • The index listed RIP-0009 and RIP-0010 as requiring RIP-0001 and
    RIP-0002. Their preambles name only RIP-0002. The other nine rows
    match; these two did not.
  • Whitepaper Reference opened by saying all RIPs normatively cite the
    whitepaper and closed fourteen lines later by naming two that do
    not. Three of the eleven carry no citation: RIP-0001, RIP-0004 and
    RIP-0011. The opening now names a category rather than a count, so
    a new RIP cannot falsify it.

What this file never said (2, 6, 7)

  • Core Role Governance named the authority and pointed at
    GOVERNANCE.md for its structure, and said nothing about its limits.
    §Version Authority and §Network Ratification of Release Candidates
    are now cited — cited, not summarized.
  • Contributing carried the submission procedure, the publication
    location and the fork statement together. The last two are what a
    reader checks when deciding whether a copy is genuine, which is a
    different question asked by a different person. Authenticity now
    carries them, with the Canonical-URL check that 020ec3d made
    available across the corpus.
  • License gave the dedication without CC0-1.0 §4(a), which does not
    waive trademark or patent rights, in a file that two sections
    earlier says a copy must not be presented as official.

Verified before opening

  • The seven GOVERNANCE.md anchors resolve to real headings, and the
    twenty-one relative links resolve to real paths.
  • Every row of the index Requires column matches its RIP's
    preamble.
  • Every RIP and GOVERNANCE.md carries Canonical-URL; all eleven
    RIP preambles carry License: CC0-1.0. The statements in
    Authenticity and License are true as written.
  • No reference to the removed sections survives anywhere in the file.

Out of scope, tracked separately

  • The Status column in the Activation Timeline carries values
    (Suspended, Not adopted) that are not RIP statuses, beside an
    index whose Status column says Draft for the same RIPs. The
    column name is the collision, not the content.
  • RIP-0001 §Repository Structure lists security/*_public.asc where
    the file is security/aevust.asc, and omits
      governance/emergency-actions.md and .github/. Gated.
  • rip-0011 carries the same undefined authority term and a
    pre-rename Core version number. Ungated, separate pull request.
  • fix(ci): restrict GITHUB_TOKEN permissions in rip-check.

No file other than README.md is touched.

Aevust added 10 commits July 29, 2026 16:55
Core Role Governance named the four roles that constitute the Core
Strategic Authority and spelled out the version-numbering scheme.
Both are defined in GOVERNANCE.md, which is incorporated by reference
into RIP-0001 and carries the same normative force. Both parentheses
now hold a link to the section that defines what they held, §Core
Roles and §Version Numbering Scheme. The succession procedure, which
was named without either, gains a link to §Succession so that all
three read the same way.

This is not about churn. GOVERNANCE.md §Current Role Holders states
that the role structure changes only by RIP amendment, and role
assignments were already delegated to governance/core-role.md. It is
that a second copy can only drift from the first, and that this copy
sat outside the gate the definition sits behind. Nothing normative
turned on the copy — GOVERNANCE.md remains authoritative whatever this
file says — but a reader could have been shown a different set of role
names here, with no review, while the definition itself stood
unchanged.

The pointer to governance/core-role.md is unchanged. That file
records which individual holds which role; the roles themselves are
structure, and structure is defined where it can only be amended.
Core Role Governance named the Core Strategic Authority, the
version-numbering scheme, and the succession procedure, and pointed at
GOVERNANCE.md for each. It said nothing about the limits on that
authority. A reader could leave the section with the structure and
none of the constraints.

The addition is a pointer, not a restatement. §Version Authority
scales the authority each version increment requires with the number
of distinct Core Role holders, and prohibits MAJOR and GENERATION
increments outright while only one holder exists. §Network
Ratification of Release Candidates is the path that remains when the
table cannot be satisfied: a candidate becomes official by the
network choosing to run it, not by the author's assertion or the
passage of time.

Neither is summarized here. GOVERNANCE.md is amended through the
same process as RIP-0001 and is gated accordingly; this file is not.
A reader who wants the rule should be sent to the rule.
Status Definitions defined four of the eight statuses and referred
the reader to RIP-0001 for the other four, with nothing to explain
which half it carried. RIP-0001 §RIP Status defines all eight.

A partial copy can only drift from the list it copies, and this one
sat on the wrong side of the review gate: /rip-0001/ requires
code-owner review and this file does not, so the four definitions
here could have been changed without the review the original four
require.

The section now points to RIP-0001 §RIP Status and defines nothing.
The heading stays, so links to it do not break. With the role and
version definitions already delegated to GOVERNANCE.md, this file
defines no term of its own; each term it uses is defined in the
document that is authoritative for it.
The note on RIP-0004 credited the suspension to "the Rincoin Core
Authority". That term is defined nowhere. GOVERNANCE.md defines Core
Strategic Authority in §Core Roles and uses Core Authority Lead as
the name of one of the four roles within it, so the undefined form
does not distinguish a decision by the body from a decision by one
of its roles — and under §Version Authority those are not the same
decision.

Resolving that is not this file's job. RIP-0004 §2.1 is
authoritative for the suspension and records both the decision and
the reasoning behind it, and the note already cited it. The note now
states what happened and points there for who decided and why. The
wording of the attribution in §2.1 is a separate matter for that RIP.
Repository Structure drew the directory layout with every RIP
enumerated, so adding a RIP meant editing this file to keep the
drawing true. RIP-0001 §Repository Structure draws the same layout
with rip-NNNN/ as a pattern and needs no edit when a RIP is added.
GitHub renders the real tree from the repository. The copy here was
the only one that could fall behind, and it had: it lists
governance/emergency-actions.md, which RIP-0001 does not, and
security/*.asc where RIP-0001 says security/*_public.asc.

Both of those are corrections to RIP-0001, tracked for the gated
path. Neither is a reason to keep a second drawing.

The section also carried what the tree did not: the reference
implementations and their archived artifacts, which are named
nowhere else and are not derivable from the file listing. That list
stays, under a heading that describes it.
Contributing carried three unrelated things: how to submit a RIP,
where official RIPs are published, and what a fork is not. The first
is an instruction to contributors. The other two are what a reader
checks when deciding whether the copy in front of them is genuine —
a different question, asked by a different person.

Authenticity now carries the second group and states the check that
020ec3d made available across the corpus: every RIP and
GOVERNANCE.md declares a Canonical-URL in its preamble, so a copy
whose preamble points elsewhere is identifiable as non-canonical
without reference to any other document. SECURITY.md has no preamble
and is named for what it does hold rather than folded into
"governance documents".

The scope of official support and liability moves here with the fork
statement, cited rather than restated. Contributing keeps the
submission procedure.
The License section gave the dedication and nothing else. CC0-1.0
§4(a) does not waive trademark or patent rights, and no
public-domain dedication authorizes presenting a copy as official.
Neither limit was stated, which left the license reading as broader
than it is in a file that, two sections earlier, tells a reader that
a copy must not be presented as the official RIP repository.

Nothing about the licensing of the RIP text changes. The documents
remain CC0-1.0, and linked reference implementations keep their own
terms. What is added is the boundary the dedication already has.
The index listed RIP-0009 and RIP-0010 as requiring RIP-0001 and
RIP-0002. Their preambles name only RIP-0002:

  rip-0009/rip-0009.md:10  Requires: RIP-0002 (Customized Halving)
  rip-0010/rip-0010.md:10  Requires: RIP-0002 (Customized Halving)

The other nine rows match their preambles. These two did not. The
index is a view of the preambles rather than a source of its own, so
the index is what moves.

RIP-0001 §Header Preamble makes Requires optional, so naming only
RIP-0002 is not a defect in those two RIPs. Whether they should name
RIP-0001 for consistency with the other nine is a question for their
preambles, not for this file, and the same review would settle the
Related field they carry, which §Header Preamble also does not list.
The graph stated the Requires relation a third time. It is declared
in each RIP's preamble, reproduced in the index above, and was drawn
again here — and like the index, the drawing had to be edited
whenever a RIP was added.

RIP-0001 §Repository Structure gives this file its job: an index of
all RIPs with status. The index is that job. The graph was beyond
it, and beyond what the preambles say.

Nothing the drawing carried was unique to it. The co-activation of
RIP-0009 and RIP-0010 at Block 840,000 is in the activation table
and in the note below it; the independence of RIP-0004 and RIP-0011
from the regenerative stack is in their own notes; the Related
relation between those two RIPs is in their preambles and in that
same note. What the drawing added was one more place for all of it
to fall out of step.
The section opened by saying all RIPs in this repository normatively
cite the whitepaper, and closed fourteen lines later by saying
RIP-0004 and RIP-0011 are intentionally absent from the mapping. The
opening was false, and the section contradicted itself.

Three of the eleven carry no citation: RIP-0001, which is a Process
RIP and maps to no section of a protocol paper, and RIP-0004 and
RIP-0011, whose exclusion the closing sentence already explains. The
other eight cite it, RIP-0002 five times.

The opening now names Standards Track RIPs derived from the protocol
design. That excludes RIP-0001 by type and leaves the two named
exclusions to the sentence that already accounts for them. A
category rather than a count also means a new RIP cannot falsify it.
@Aevust
Aevust merged commit d2597d1 into main Jul 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant