Skip to content

docs: add RStack RFC ADR process#85

Open
richard-devbot wants to merge 2 commits into
mainfrom
docs/rfc-adr-process-76
Open

docs: add RStack RFC ADR process#85
richard-devbot wants to merge 2 commits into
mainfrom
docs/rfc-adr-process-76

Conversation

@richard-devbot

@richard-devbot richard-devbot commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Summary

Deep-dive findings

RFCs added

Validation

  • npx tsx --test tests/validate-rfcs.test.js — 3 pass, 0 fail
  • npm test — 185 pass, 0 fail
  • npm run lint — pass
  • npm run validate — all 196 agents passed validation
  • git diff --check — pass
  • npm pack --dry-run --json — package includes rfcs/README.md, six RFCs, and rfcs/TEMPLATE.md

Closes #76

Summary by CodeRabbit

  • Documentation

    • Added "Research-Backed Design Decisions" and "RFC / ADR Process" reference docs; updated docs navigation and README descriptions.
  • Chores

    • Added RFC registry content and included RFCs in published assets.
  • Tests

    • Added and updated validation tests to enforce RFC registry structure, numbering, required sections, and published asset listings.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3b093327-2c27-4d1d-be9d-410ae9f20ccf

📥 Commits

Reviewing files that changed from the base of the PR and between 81fbafb and 1fc6309.

📒 Files selected for processing (5)
  • docs/mintlify/reference/research-backed-design.mdx
  • docs/mintlify/reference/rfc-process.mdx
  • rfcs/README.md
  • tests/validate-references.test.js
  • tests/validate-rfcs.test.js
✅ Files skipped from review due to trivial changes (3)
  • rfcs/README.md
  • docs/mintlify/reference/research-backed-design.mdx
  • docs/mintlify/reference/rfc-process.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • tests/validate-rfcs.test.js

📝 Walkthrough

Walkthrough

Adds an RFC/ADR registry and template, CI tests to validate RFC structure and sequencing, six initial RFCs, package metadata updates to include RFC assets, reference/test adjustments, and Mintlify documentation/navigation entries for research-backed design and RFC process.

Changes

RFC/ADR Governance Framework

Layer / File(s) Summary
RFC registry and template
rfcs/README.md, rfcs/TEMPLATE.md
Registry document and template defining lifecycle states, filename rules, and required RFC sections.
RFC validation test suite
tests/validate-rfcs.test.js
Discovers RFC files by pattern, validates filename/header numbering, allowed statuses, required sections, unique sequential numbering, and that the registry index links all RFCs.
Initial RFC proposals
rfcs/RFC-0001-rstack-spec-v1alpha1.md, rfcs/RFC-0002-decision-queue-and-readiness-gate.md, rfcs/RFC-0003-cross-harness-validation.md, rfcs/RFC-0004-attestation-envelope.md, rfcs/RFC-0005-traceability-drift-detection.md, rfcs/RFC-0006-untrusted-pr-gate.md
Six new RFCs proposing spec-first resources, decision queue & DoR gate, cross-harness independence checks, attestation envelope schema, traceability drift detector, and an untrusted-PR gate.
Package integration and asset validation
package.json, tests/validate-package-assets.test.js
Adds rfcs/ to published package files and updates asset validation tests to require rfcs/ and research/ entries.
Test updates and reference checks
tests/validate-references.test.js
Imports execFileSync and changes a test to assert legacy workspace dirs are not git-tracked via git ls-files.
Public documentation and navigation
README.md, docs/mintlify/reference/research-backed-design.mdx, docs/mintlify/reference/rfc-process.mdx, docs/mintlify/docs.json, docs/mintlify/mint.json
Adds Mintlify reference pages documenting research-backed design and RFC process; updates README links and site navigation to surface those pages in Business Hub and API Reference.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

  • #76: Implements the RFC/ADR governance roadmap (registry, template, initial RFCs, CI validation, docs) from the issue's acceptance criteria.
  • #71: RFC-0001 and supporting tests/docs map to the spec-first RStack v1alpha1 proposal.
  • #75: RFC-0006 proposes the untrusted PR gate feature described in the issue.
  • #72: RFC-0003 implements cross-harness validation independence checks as proposed.
  • #70: RFC-0002 implements the Decision Queue and Definition-of-Ready gate proposal.

Poem

🐰 I hopped through docs to plant each seed,

RFCs and tests to name each deed.
A tidy registry, a template true,
Research and links for all to view.
🥕 Tiny rabbit approves this stew.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: add RStack RFC ADR process' clearly summarizes the main change—introducing RFC/ADR documentation and infrastructure for RStack.
Linked Issues check ✅ Passed All acceptance criteria from #76 are met: RFC registry directory with README and template, six initial RFC stubs, CI validation for filenames/status/sections/numbering, Mintlify docs pages, package inclusion, and research-backed design loop documentation.
Out of Scope Changes check ✅ Passed All changes are within scope of #76: RFC directory structure, documentation pages, CI validation tests, package config updates, and Mintlify navigation changes. No unrelated modifications detected.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/rfc-adr-process-76

Comment @coderabbitai help to get the list of available commands and usage tips.

@mintlify

mintlify Bot commented Jun 10, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
evoke-f0bfabff 🟢 Ready View Preview Jun 10, 2026, 4:21 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (4)
rfcs/README.md (1)

32-42: ⚡ Quick win

Clarify that kebab-case slugs must be lowercase.

The filename format documentation shows examples in lowercase (rstack-spec-v1alpha1, decision-queue-and-readiness-gate), but doesn't explicitly state that the slug portion must be lowercase. The validation test at tests/validate-rfcs.test.js line 28 enforces this with the regex pattern [a-z0-9]+(?:-[a-z0-9]+)*.

📝 Proposed clarification
 RFC filenames must use this format:
 
 ```text
-RFC-000N-short-kebab-title.md
+RFC-000N-lowercase-kebab-slug.md

Examples:

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @rfcs/README.md around lines 32 - 42, Update the RFC filename guidance to
explicitly state that the kebab-case slug must be lowercase and adjust the
example filename accordingly (e.g., change "RFC-000N-short-kebab-title.md" to
"RFC-000N-lowercase-kebab-slug.md"); reference the validation regex
[a-z0-9]+(?:-[a-z0-9]+)* to make clear the slug only allows lowercase letters
and digits separated by hyphens so maintainers and contributors follow the same
rule enforced by the tests.


</details>

<!-- cr-comment:v1:c27e1e8361e78a0aa12a17ae -->

</blockquote></details>
<details>
<summary>docs/mintlify/reference/research-backed-design.mdx (1)</summary><blockquote>

`16-16`: **Clarify the NIST AI RMF naming; keep the other references in scope for a quick check.**
- NIST’s “AI RMF” is officially the “Artificial Intelligence Risk Management Framework,” and “AI RMF” is the correct abbreviation.
- Still consider confirming the formal titles/abbreviations of the other cited items (e.g., NIST SSDF, ISO/IEC 42001, OWASP, SLSA, DSSE, Sigstore) so the documentation matches current official wording.

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @docs/mintlify/reference/research-backed-design.mdx at line 16, Update the
"Research first" reference line so that "NIST AI RMF" is written with its full
formal name followed by the abbreviation (e.g., "Artificial Intelligence Risk
Management Framework (AI RMF)") while keeping the other references in scope;
also verify and standardize the formal titles/abbreviations for the other cited
items (NIST SSDF, ISO/IEC 42001, OWASP LLM Top 10, SLSA, DSSE, Sigstore, Augment
Code's AI-SDLC reference architecture, and the ai-sdlc-framework/ai-sdlc
string) to match their official naming/abbreviations and update the list
accordingly in the "Research first" bullet.


</details>

<!-- cr-comment:v1:996e6327d086092cfb97c759 -->

</blockquote></details>
<details>
<summary>docs/mintlify/reference/rfc-process.mdx (2)</summary><blockquote>

`22-31`: _⚡ Quick win_

**Hardcoded GitHub URLs reduce portability.**

The RFC registry table uses absolute GitHub URLs to `richard-devbot/SDLC-rstack`. If the repository is forked, renamed, or moved to a different organization, all six links will break. Consider using relative paths or repository-agnostic references.



<details>
<summary>♻️ Suggested relative-path approach</summary>

Mintlify typically supports relative references for content within the same repository. Consider replacing the full GitHub URLs with relative links to the RFC files:

```diff
-| [RFC-0001](https://github.com/richard-devbot/SDLC-rstack/blob/main/rfcs/RFC-0001-rstack-spec-v1alpha1.md) | Draft | [`#71`](https://github.com/richard-devbot/SDLC-rstack/issues/71) | RStack Spec v1alpha1. |
+| [RFC-0001](/rfcs/RFC-0001-rstack-spec-v1alpha1.md) | Draft | [`#71`](https://github.com/richard-devbot/SDLC-rstack/issues/71) | RStack Spec v1alpha1. |

Apply similar changes to RFC-0002 through RFC-0006.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/mintlify/reference/rfc-process.mdx` around lines 22 - 31, The table rows
for RFC-0001 through RFC-0006 use hardcoded GitHub URLs; replace each absolute
RFC file link (e.g., the [RFC-0001] link target) with a relative repository path
(e.g., relative link to rfcs/RFC-0001-...md) and change issue links (e.g.,
[`#71`], [`#70`], etc.) to repository-agnostic references or relative issue
references supported by Mintlify so links remain valid if the repo is
forked/renamed; update all six table entries (RFC-0001..RFC-0006) accordingly
and verify the rendered links still point to the correct RFC files and issues.

40-55: 💤 Low value

Minor command inconsistency with RFC README.

Line 54 instructs users to run npm test -- tests/validate-rfcs.test.js, but the RFC README (per context snippet from rfcs/README.md:72) instructs maintainers to run npm test. While both commands work, the README's simpler form runs all tests including RFC validation, which may be preferable for consistency.

♻️ Align with README command
-npm test -- tests/validate-rfcs.test.js
+npm test

Or clarify that the filtered command runs only RFC validation if that's the intended workflow.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/mintlify/reference/rfc-process.mdx` around lines 40 - 55, The command in
docs/mintlify/reference/rfc-process.mdx is inconsistent with the rfcs/README.md
guidance; update the example to use the README's simpler "npm test" or
explicitly state the difference: replace "npm test --
tests/validate-rfcs.test.js" with "npm test" for consistency, or keep the
current filtered command but add a clarifying sentence that "npm test --
tests/validate-rfcs.test.js" runs only the RFC validator
(tests/validate-rfcs.test.js) while "npm test" runs the full test suite,
referencing the RFC validator test name tests/validate-rfcs.test.js and the
rfcs/README.md guidance.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/mintlify/reference/research-backed-design.mdx`:
- Line 16: Update the "Research first" reference line so that "NIST AI RMF" is
written with its full formal name followed by the abbreviation (e.g.,
"Artificial Intelligence Risk Management Framework (AI RMF)") while keeping the
other references in scope; also verify and standardize the formal
titles/abbreviations for the other cited items (NIST SSDF, ISO/IEC 42001, OWASP
LLM Top 10, SLSA, DSSE, Sigstore, Augment Code's AI-SDLC reference architecture,
and the `ai-sdlc-framework/ai-sdlc` string) to match their official
naming/abbreviations and update the list accordingly in the "Research first"
bullet.

In `@docs/mintlify/reference/rfc-process.mdx`:
- Around line 22-31: The table rows for RFC-0001 through RFC-0006 use hardcoded
GitHub URLs; replace each absolute RFC file link (e.g., the [RFC-0001] link
target) with a relative repository path (e.g., relative link to
rfcs/RFC-0001-...md) and change issue links (e.g., [`#71`], [`#70`], etc.) to
repository-agnostic references or relative issue references supported by
Mintlify so links remain valid if the repo is forked/renamed; update all six
table entries (RFC-0001..RFC-0006) accordingly and verify the rendered links
still point to the correct RFC files and issues.
- Around line 40-55: The command in docs/mintlify/reference/rfc-process.mdx is
inconsistent with the rfcs/README.md guidance; update the example to use the
README's simpler "npm test" or explicitly state the difference: replace "npm
test -- tests/validate-rfcs.test.js" with "npm test" for consistency, or keep
the current filtered command but add a clarifying sentence that "npm test --
tests/validate-rfcs.test.js" runs only the RFC validator
(tests/validate-rfcs.test.js) while "npm test" runs the full test suite,
referencing the RFC validator test name tests/validate-rfcs.test.js and the
rfcs/README.md guidance.

In `@rfcs/README.md`:
- Around line 32-42: Update the RFC filename guidance to explicitly state that
the kebab-case slug must be lowercase and adjust the example filename
accordingly (e.g., change "RFC-000N-short-kebab-title.md" to
"RFC-000N-lowercase-kebab-slug.md"); reference the validation regex
[a-z0-9]+(?:-[a-z0-9]+)* to make clear the slug only allows lowercase letters
and digits separated by hyphens so maintainers and contributors follow the same
rule enforced by the tests.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a08a116f-a76b-4b07-b183-4c0b5584a02c

📥 Commits

Reviewing files that changed from the base of the PR and between b339ec6 and 81fbafb.

📒 Files selected for processing (16)
  • README.md
  • docs/mintlify/docs.json
  • docs/mintlify/mint.json
  • docs/mintlify/reference/research-backed-design.mdx
  • docs/mintlify/reference/rfc-process.mdx
  • package.json
  • rfcs/README.md
  • rfcs/RFC-0001-rstack-spec-v1alpha1.md
  • rfcs/RFC-0002-decision-queue-and-readiness-gate.md
  • rfcs/RFC-0003-cross-harness-validation.md
  • rfcs/RFC-0004-attestation-envelope.md
  • rfcs/RFC-0005-traceability-drift-detection.md
  • rfcs/RFC-0006-untrusted-pr-gate.md
  • rfcs/TEMPLATE.md
  • tests/validate-package-assets.test.js
  • tests/validate-rfcs.test.js

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.

Roadmap: Add RFC / Architecture Decision Record process for RStack evolution

2 participants