Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SIMD-0001 #157

Merged
merged 12 commits into from
Jul 29, 2024
3 changes: 2 additions & 1 deletion .github/linter/customRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,12 +281,13 @@ export const metadataStatusIsValid = {

const validStatus = [
"Idea",
"Draft",
"Draft",
"Review",
"Accepted",
"Stagnant",
"Withdrawn",
"Implemented",
"Activated",
]

if (!validStatus.includes(status)) {
Expand Down
52 changes: 50 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,50 @@
# Solana Improvement Documents
Solana IMprovement Documents (SIMD) describe proposed and accepted changes to the Solana protocol.
# Solana Improvement Documents (SIMDs)

The goal of the SIMD project is to standardize and provide high-quality
documentation for Solana and its ecosystem. This repository tracks past and
ongoing improvements to Solana in the form of Solana Improvement Documents
(SIMDs).
[SIMD-0001](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0001-simd-process.md)
governs the SIMD process.

## SIMD Types

SIMDs can be divided into the following categories:

- **Standard SIMDs**:
Describe changes that affect most or all Solana implementations, such as:
- **Core**:
Changes affecting consensus or substantial changes to the validator.
- **Networking**:
Changes or substantial improvements to network protocol specifications.
- **Interfaces**:
Breaking changes around the client JSON RPC API specifications and standards.
- **Meta SIMDs**:
Copy link
Contributor

Choose a reason for hiding this comment

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

i don't believe json rpc is under simd (nor should it be). svm et. al probably a better example for an interfaces bullet point

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I had a simiiliar thought. I would like to address this an a separate change further down the line. This mirrors SIMD-0001 for now

Describe a process surrounding Solana or propose a change to (or an event in)
a process.

## Before You Begin

Before you write a SIMD, ideas MUST be thoroughly discussed and vetted on the
[ideas section](https://github.com/solana-foundation/solana-improvement-documents/discussions/categories/ideas)
within this
[repo's disucssion page](https://github.com/solana-foundation/solana-improvement-documents/discussions).
Read and review [SIMD-0001](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0001-simd-process.md),
which describes the SIMD process in detail.

This repository is for documenting standards and not for implementation help.
For specific questions and concerns regarding SIMDs, it's best to discuss them
in the [questions section](https://github.com/solana-foundation/solana-improvement-documents/discussions/categories/questions)
of this [repo's disucssion page](https://github.com/solana-foundation/solana-improvement-documents/discussions).

## Access Policy

The SIMD repository has three levels of access, as detailed in
[SIMD-0007](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0007-access-policy.md):

1. Triage
2. Write
3. Maintain

To request access or report misuse, please follow the procedures outlined in
SIMD-0007.
24 changes: 20 additions & 4 deletions proposals/0001-simd-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ simd: '0001'
title: Solana Proposal Process
authors:
- Jacob Creech (Solana Foundation)
- Ben Hawkins (Solana Foundation)
category: Meta
type: Meta
status: Living
Expand Down Expand Up @@ -83,6 +84,7 @@ The stages in a lifecycle of a proposal are as follows:
- Stagnant
- Withdrawn
- Implemented
- Activated

```mermaid
flowchart LR
Copy link
Contributor

Choose a reason for hiding this comment

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

seems like the Idea state below dies with the gh discussions change?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah, I think that's a reasonable point. Considering making a change to the flow further down the line.

Expand All @@ -102,7 +104,10 @@ flowchart LR
Idea ---> Draft;
Draft ---> Review;
Review ---> Accepted;
Accepted ---> Implemented;
Implemented ---> Activated;
Review ---> Living;
Accepted ---> Withdrawn;

Draft ---> Stagnant;
Review ---> Stagnant;
Expand All @@ -116,9 +121,10 @@ proposal author -- the reviewers, and the Solana Core Contributors.

Before you begin writing a formal proposal, you should vet your idea. Ask the
Solana core community first if an idea is original to avoid wasting time on
something that will be rejected based on prior research. It is thus recommended
to discuss the proposal on the Solana Tech Discord under the #core-technology
channel.
something that will be rejected based on prior research. Be sure to post your
ideas to the
[SIMD ideas discussion page](https://github.com/solana-foundation/solana-improvement-documents/discussions/categories/ideas)
and gather feedback before making your formal Proposal

### Draft

Expand All @@ -130,7 +136,8 @@ is descriptive)
- Fill in the proposal. Put care into the details: proposals that do not
present convincing motivation, demonstrate lack of understanding of the
design's impact, or are disingenuous about the drawbacks or alternatives tend
to be poorly received.
to be poorly received. Low quality proposals with limited engagement will be
Copy link
Contributor

Choose a reason for hiding this comment

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

How would you define limited engagement? It may be easier to define a length of time such as what we had with stagnant.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I just got rid of the "limited engagement" text.

closed by SIMD repository maintainers.
- Submit a pull request.
- Now that your proposal has an open pull request, use the issue number of the
PR to update the `XXXX-` prefix to the number.
Expand Down Expand Up @@ -160,6 +167,15 @@ far the most effective way to see a proposal through to completion: authors
should not expect that other project developers will take on responsibility for
implementing their accepted feature.

### Implemented

When all relevant teams have completed development of the feature the SIMD's is "Implemented"
Benhawkins18 marked this conversation as resolved.
Show resolved Hide resolved

### Activated

A proposal will have the status Activated once it has been implemented,
tested, and finally activated on mainnet.
Benhawkins18 marked this conversation as resolved.
Show resolved Hide resolved

### Living

A special status for SIMDs that are designed to be continually updated and not
Expand Down
Loading