From 993a83e1fd45b18b604f53ad953c9b386fd26210 Mon Sep 17 00:00:00 2001 From: Werner <33360391+314159265359879@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:53:31 +0200 Subject: [PATCH 1/6] Add CONTRIBUTING.md for SIPs repository (this is not a SIP) This document outlines the contributing guidelines for the SIPs repository, including submission processes, review etiquette, and workflow on GitHub. --- CONTRIBUTING.md | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..2771b036 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,93 @@ +# Contributing to the SIPs Repository + +This document describes the working practices for this repository. It documents +how we apply the SIP process defined in +[SIP-000](./sips/sip-000/sip-000-stacks-improvement-proposal-process.md). +It does not add to or override SIP-000. Where this document and SIP-000 +disagree, SIP-000 wins. + +These practices can be improved through a regular pull request to this file. + +## Submitting a SIP + +- Fork this repository and open your SIP as a pull request from your fork. + Do not create branches in this repository. +- Follow the [SIP template](./sips/SIP_TEMPLATE.md) for structure and + preamble fields. Your SIP starts in Draft status and without a number. + A SIP Editor assigns the number when the SIP moves to Accepted. +- Write in plain language. Marketing or promotional material does not belong + in the SIP text. Supporting material can be added as supplemental documents + per SIP-000. + +Before submitting, it helps to socialize your idea. A post on the +[Stacks forum](https://forum.stacks.org), a discussion on a SIP call, or +feedback from a relevant working group will surface problems early. None of +these are required, but SIPs that skip them tend to spend longer in review. + +## Review etiquette + +- Authors should not resolve review comments on their own SIP unless they + made a change that addresses the comment or explain why no change is + needed. Resolution should be visible to reviewers and CAB members. +- Reviewers should give feedback that the author can act on, and give it + in a timely manner, in the spirit of SIP-000's "fair and speedy + good-faith consideration". + +## Workflow on GitHub + +SIP-000 defines the statuses. In this repository they map to the following +actions: + +1. **Draft**: the SIP is an open pull request. SIP Editors and the community + give feedback in the PR. +2. **Accepted**: a SIP Editor verifies the SIP is well-formed, assigns the + number, adds their sign-off, and the SIP is committed to the repository + so CABs can review it. +3. **Recommended**: the relevant Consideration Advisory Boards review the + SIP, publish their minutes (as a separate PR), and add their sign-off. +4. **Activation-in-Progress**: the Steering Committee votes and adds their + sign-off. The SIP's own Activation section now governs what happens. +5. **Ratified** or **Rejected**: the Steering Committee determines the outcome + from the Activation criteria and updates the status. For SIPs activated + by a vote, the results and how they were verified are recorded with the SIP. + +## SIP numbers and status labels + +- SIP numbers are assigned once and never reused, even if the SIP never + advances past Draft. This prevents one number from referring to two + different proposals. Numbers need not be assigned in chronological order, + and gaps in the numbering (such as 011, 014, 017) stay as they are. +- **Withdrawn Draft** is used in the README and SIP tables as a label for a + SIP that received a number but was abandoned before reaching Accepted + status. It is a display convention, not a SIP-000 status: SIP-000 defines + Withdrawn for SIPs whose authors ceased work after entering the process, + and this label makes clear the SIP never got past the Draft stage. + +## After a CAB vote + +Once a CAB has voted, the SIP is approved in its voted form. Editorial fixes +that do not change the meaning of the text may still be made before merge, +and any such change must be visible in the PR. If any CAB member believes a +change alters the meaning, the CAB votes again. CABs may adopt this rule in +their own bylaws per SIP-000. + +## Merging + +Merge authority rests with the Steering Committee or its appointees, per +SIP-000. In practice a SIP PR merges when the sign-offs for its current +status are in place: the Editor sign-off at Accepted, CAB sign-offs and +minutes at Recommended, and Steering Committee sign-off from +Activation-in-Progress onward. + +## Updating a ratified SIP + +A ratified SIP is not edited, except to fix errata or add supplemental +material. Substantial changes require a new SIP that replaces the old one, +as defined in SIP-000: + +- The new SIP contains the complete text, goes through the normal process, + and receives the next free SIP number like any other SIP. +- The new SIP lists `Replaces:` in its preamble. Once ratified, the old SIP's + status becomes Replaced and it receives a `Superseded-By:` field. + +This also applies to SIP-000 itself. From b95245d345bba0619431b38b2da7bc6eafde9048 Mon Sep 17 00:00:00 2001 From: Werner <33360391+314159265359879@users.noreply.github.com> Date: Fri, 10 Jul 2026 17:41:15 +0200 Subject: [PATCH 2/6] Update CONTRIBUTING.md for replaced SIP notice Add notice to replaced SIPs with new link reference. --- CONTRIBUTING.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2771b036..d657833b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -89,5 +89,11 @@ as defined in SIP-000: and receives the next free SIP number like any other SIP. - The new SIP lists `Replaces:` in its preamble. Once ratified, the old SIP's status becomes Replaced and it receives a `Superseded-By:` field. +- The replaced SIP keeps its number, filename and location, so existing links + keep working. Besides the preamble update, a notice is added at the top of + the replaced SIP pointing to its replacement: + + > [!IMPORTANT] + > This SIP has been replaced by [SIP-XYZ](./link-to-new-sip.md). This also applies to SIP-000 itself. From 74a437fe1e2999ef1c8da23e6502c67bd9826e38 Mon Sep 17 00:00:00 2001 From: Werner <33360391+314159265359879@users.noreply.github.com> Date: Wed, 16 Sep 2026 14:21:42 +0200 Subject: [PATCH 3/6] fix text "never advances past accepted" based on Brice's comment. https://github.com/stacksgov/sips/pull/273#discussion_r3968952839 --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d657833b..3e8ef4c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -54,7 +54,7 @@ actions: ## SIP numbers and status labels - SIP numbers are assigned once and never reused, even if the SIP never - advances past Draft. This prevents one number from referring to two + advances past Accepted. This prevents one number from referring to two different proposals. Numbers need not be assigned in chronological order, and gaps in the numbering (such as 011, 014, 017) stay as they are. - **Withdrawn Draft** is used in the README and SIP tables as a label for a From 6298a7046cfd976deb04910ad046d89a6495f945 Mon Sep 17 00:00:00 2001 From: Werner <33360391+314159265359879@users.noreply.github.com> Date: Wed, 16 Sep 2026 15:05:27 +0200 Subject: [PATCH 4/6] updated sip-021 status to ratified it was correctly reflected in the table/README not in the document. --- sips/sip-021/sip-021-nakamoto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sips/sip-021/sip-021-nakamoto.md b/sips/sip-021/sip-021-nakamoto.md index ff868fd1..1c2a5786 100644 --- a/sips/sip-021/sip-021-nakamoto.md +++ b/sips/sip-021/sip-021-nakamoto.md @@ -21,7 +21,7 @@ Consideration: Governance, Technical, Economics Type: Consensus -Status: Accepted +Status: Ratified Created: 2023-09-28 From 92f838ad1a684147970d39a397a1d1404ac261d3 Mon Sep 17 00:00:00 2001 From: Werner <33360391+314159265359879@users.noreply.github.com> Date: Wed, 16 Sep 2026 15:07:16 +0200 Subject: [PATCH 5/6] update status from 'Activation-In-Progress' to 'Ratified' (SIP033) it was correctly reflected in the table/README not in the document. --- sips/sip-033/sip-033-clarity4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sips/sip-033/sip-033-clarity4.md b/sips/sip-033/sip-033-clarity4.md index 473c5008..f25142f9 100644 --- a/sips/sip-033/sip-033-clarity4.md +++ b/sips/sip-033/sip-033-clarity4.md @@ -12,7 +12,7 @@ Author(s): - Rapha.btc - Adriano Di Luzio -Status: Activation-In-Progress +Status: Ratified Consideration: Technical From 9fc58d95fc5212d51823cd6ed528894f6e78cd02 Mon Sep 17 00:00:00 2001 From: Werner <33360391+314159265359879@users.noreply.github.com> Date: Wed, 16 Sep 2026 15:08:12 +0200 Subject: [PATCH 6/6] Update status from 'Activation-in-Progress' to 'Ratified' (SIP-034) this was stale, it was correctly reflected in the table/README not in the document. --- sips/sip-034/sip-034.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sips/sip-034/sip-034.md b/sips/sip-034/sip-034.md index 1d4a916c..99beb042 100644 --- a/sips/sip-034/sip-034.md +++ b/sips/sip-034/sip-034.md @@ -9,7 +9,7 @@ Author(s): - Aaron Blankstein - Jude Nelson -Status: Activation-in-Progress +Status: Ratified Consideration: Technical, Governance