Skip to content

docs(rfc): add RFC process; graduate design notes to RFCs - #127

Merged
gburd merged 1 commit into
masterfrom
docs/rfc-process
Aug 3, 2026
Merged

docs(rfc): add RFC process; graduate design notes to RFCs#127
gburd merged 1 commit into
masterfrom
docs/rfc-process

Conversation

@gburd

@gburd gburd commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Adds rfc/ for internal design proposals — distinct from the user-facing docs_src/ (published to libdb.org). RFCs are where non-trivial design intent is written, reviewed, and explicitly accepted/rejected.

  • rfc/README.md — the lifecycle (Draft / Accepted / Rejected / Superseded / Implemented) and an explicit review methodology gated on the north star (embedded / ACID / recovery / access methods / multi-process / format & ABI stability); decisions are recorded in the RFC with a dated rationale. Modeled on ~/ws/ra/rfcs.
  • rfc/0000-template.md, rfc/INDEX.md (the register).
  • Graduated design notes (via git mv, history preserved): docs/design/lsm.mdRFC 0001 (Adaptive LSM), buffer-swip-aio.mdRFC 0002; the research surveys → rfc/0002/. The lab/lsm/ adaptive-controller prototype → rfc/0001/ (builds + make check passes in its new home).
  • ROADMAP references in the moved docs replaced (ROADMAP is now private per chore(repo): remove C# binding, dead README, public ROADMAP #126). docs/design/ removed (now empty).

lab/ now holds only the bench microbenchmark suite — relocated to test/bench in the follow-up build-layout PR.

Add rfc/ for internal design proposals (distinct from user-facing docs_src/):
- rfc/README.md documents the lifecycle (Draft/Accepted/Rejected/Superseded/
  Implemented) and an explicit accept/reject review methodology gated on the
  north star (embedded/ACID/recovery/access-methods/multi-process/format
  stability), decisions recorded in-RFC.
- rfc/0000-template.md, rfc/INDEX.md (the register).
- Graduate the design notes: docs/design/lsm.md -> RFC 0001 (adaptive LSM),
  buffer-swip-aio.md -> RFC 0002; the research surveys -> rfc/0002/. The
  lab/lsm adaptive-controller prototype -> rfc/0001/ (builds + self-checks in
  its new home). ROADMAP references in the moved docs replaced (ROADMAP is now
  private). docs/design/ removed (empty).

Modeled on the ~/ws/ra/rfcs process. lab/ now holds only the bench suite (moved
to test/bench in a follow-up).
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Coccinelle convention checks

No new violations. ✅

Resolved since baseline (2) -- update dist/cocci/baseline.txt to lock these in.
rule_mutex_unbalanced|MUTEX_UNBALANCED|src/crypto/mersenne/mt19937db.c|return (ret);
rule_mutex_unbalanced|MUTEX_UNBALANCED|src/mp/mp_register.c|return (ret);

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

ABI diff vs v5.3.33 (libabigail — authoritative)

Removed exported symbols (nm -D, _NNNN version suffix normalized)

None.


Advisory: libabigail/nm is the authoritative binary-ABI check; Coccinelle is complementary source-level early warning. See dist/cocci/README.md.

@gburd
gburd merged commit d83118b into master Aug 3, 2026
47 of 48 checks passed
@gburd
gburd deleted the docs/rfc-process branch August 3, 2026 13:33
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