Skip to content

Commit

Permalink
Update SIMD-0001 (solana-foundation#157)
Browse files Browse the repository at this point in the history
* update simd-0001

* fix some types and improve wording simd-0001

* update line length for CI

* update linting; add README.md update; update mermaid plot on SIMD-0001

* Update README.md to conform to linting rules

* fixed linting errors and confirmed locally

* add mermaid chart line from Accepted to Withdrawn

* add blank line after ### Implemented

* do not allow Draft status SIMDs into the repo

* roll back removal of Draft in customRules as a valid status. Will add back in after all SIMD's have been updated

* Apply suggestions from code review

Co-authored-by: Jacob Creech <[email protected]>
Co-authored-by: Trent Nelson <[email protected]>

* make linter happy :)

---------

Co-authored-by: Jacob Creech <[email protected]>
Co-authored-by: Trent Nelson <[email protected]>
  • Loading branch information
3 people authored Jul 29, 2024
1 parent 0f2e1e9 commit 9359c71
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 7 deletions.
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**:
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.
25 changes: 21 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
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
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,16 @@ 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 SIMD's feature, the
SIMD is "Implemented".

### Activated

A proposal will have the status Activated once it has been implemented,
tested, and finally activated on mainnet beta.

### Living

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

0 comments on commit 9359c71

Please sign in to comment.