Skip to content

docs(rfc): state qualified identifiers in the RFC headers#412

Merged
LukasWodka merged 1 commit into
developfrom
docs/rfc-qualified-ids
Jul 27, 2026
Merged

docs(rfc): state qualified identifiers in the RFC headers#412
LukasWodka merged 1 commit into
developfrom
docs/rfc-qualified-ids

Conversation

@LukasWodka

@LukasWodka LukasWodka commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

RFC numbers are assigned per repo, so the same number names different documents in different repos. Today a bare 0001 names four different documents across the org, and 0002/0003 name two each. "RFC 0001" is ambiguous in conversation, and that ambiguity was hit in practice this week.

This PR states an explicit qualified identifier in each cli RFC header: RFC-CLI-0001, RFC-CLI-0002, RFC-CLI-0003.

Nothing is renumbered and no file is moved, so every existing link and cross-reference still resolves. The headers keep the blockquote style these documents already use.

Why this matters here specifically

The cli RFCs are the ones most often cited from other repos, and they are cited by bare number:

  • Nearly every RFC-0001 reference in backend (auth, DNS-1123 slugs, audit log, CLI-version handshake) and in client (CODEOWNERS, release workflow, R8 signed installer) means RFC-CLI-0001 — not the local repo's own 0001.
  • Every RFC-0003 reference in client's chart templates and docs/SEAL-CHECK.md means RFC-CLI-0003 — not backend's 0003.

A reader who follows one of those to their local docs/rfcs/0001-*.md lands on the wrong document. So RFC-CLI-0001 and RFC-CLI-0003 now say in their headers which bare references point at them.

The 288 existing bare references org-wide are deliberately left alone — rewriting them across three repos is high-risk churn with no reader benefit now that the index disambiguates them. Use qualified IDs in anything new.

The org-wide index

One index lists every RFC in the org with its qualified ID, title, status and link. It lives in tracebloc/backend (private) at docs/rfcs/README.md — an index that names internal work, closed proposals and unshipped design must not sit in a public repo. cli/docs/rfcs/ has no README of its own, so nothing here references it beyond the one-line pointer in each header.

The index also adopts the rule that an RFC's status (Draft / Accepted / Superseded / Rejected) lives in the document header, never as a kanban column, and that a discussion PR either merges (accepted) or closes (rejected) rather than lingering.

Companion PRs

Repo PR Contents
backend tracebloc/backend#1259 the scheme + the org-wide index + backend RFC headers
client tracebloc/client#403 qualified ID for the rootless spike + back-link fix
client tracebloc/client#369 RFC-CLIENT-0002: renumbered off a within-repo collision, status Accepted, un-drafted

In-flight: tracebloc/backend#1146 adds backend/docs/rfcs/0002-platform-cost-autoscale-architecture.md. It will need the same header treatment (RFC-BACKEND-0002) when it merges — it is already listed in the index.

Test plan

Docs-only; no code, no build inputs touched. Verified all three documents render and that no file path or link changed.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only header blockquotes with no runtime, build, or link-path changes.

Overview
Adds a qualified identifier blockquote to each of the three CLI RFCs (RFC-CLI-0001 through RFC-CLI-0003) so they are not confused with same-numbered RFCs in backend or client.

Each header now tells readers to cite the qualified ID (not bare "RFC 0001"), notes which cross-repo bare references usually mean that CLI doc, and points at the org-wide index in tracebloc/backend at docs/rfcs/README.md. No renumbering, moves, or link rewrites — existing paths and the hundreds of legacy bare references stay as-is.

Reviewed by Cursor Bugbot for commit 2b0bd8a. Bugbot is set up for automated code reviews on this repo. Configure here.

RFC numbers are assigned per repo, so a bare "RFC 0001" names four different
documents across the org and "RFC 0002"/"RFC 0003" name two each.

Add the qualified ID (`RFC-CLI-0001` … `RFC-CLI-0003`) to each header, in the
blockquote style these documents already use. Two of the three also record
which document the existing bare in-code references actually mean: nearly all
`RFC-0001` comments across backend/cli/client point at RFC-CLI-0001, and the
`RFC-0003` references in client's chart templates and docs/SEAL-CHECK.md point
at RFC-CLI-0003 — not at backend's own 0001/0003.

Nothing is renumbered and no file is moved, so existing links still resolve.
The org-wide index lives in tracebloc/backend (private) at docs/rfcs/README.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@LukasWodka

Copy link
Copy Markdown
Contributor Author

👋 Heads-up — Code review queue is at 38 / 30

Above the WIP limit. The team convention is to review existing PRs before opening new work.

Open PRs currently in Code review (oldest first):

Pull from review before opening new work. (This is a nudge from the kanban WIP check, not a block.)

@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 2b0bd8a. Configure here.

@LukasWodka
LukasWodka merged commit 25db81d into develop Jul 27, 2026
27 checks passed
@LukasWodka
LukasWodka deleted the docs/rfc-qualified-ids branch July 27, 2026 08:15
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.

3 participants