Skip to content
This repository was archived by the owner on May 12, 2025. It is now read-only.

Add draft of Metaspec. #82

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Add draft of Metaspec. #82

wants to merge 2 commits into from

Conversation

lthibault
Copy link

The Metaspec is a specification for SUAVE specifications. It aims to add Just Enough (TM) structure to our prose to facilitate automated conformance testing and rendering pipelines in the future.

This is the first step in my effort to overhaul our specs, and feedback is warmly welcomed.

@lthibault lthibault added the enhancement New feature or request label Mar 17, 2024
@lthibault lthibault requested review from metachris and dmarzzz March 17, 2024 18:50
@lthibault lthibault self-assigned this Mar 17, 2024
@lthibault
Copy link
Author

Here's a quick render to show you what it looks like

image

@lthibault
Copy link
Author

Addendum: this is a quick-and-dirty draft aimed to get something out the door. It's probably a good idea to explicitly define each state in the lifecycle and list the corresponding criteria. I can do that in a separate PR -- just want to get early feedback before going too deep.

Comment on lines +35 to +37
- name: Louis Thibault
email: louis@flashbots.net
github: lthibault
Copy link
Contributor

Choose a reason for hiding this comment

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

perhaps better anonymized

@metachris
Copy link
Contributor

I see it's adding a metaspec directory, what's the purpose there instead of just putting the metaspec in the root as markdown file?

could also link ethereum specs as inspiration.

@metachris metachris closed this Mar 18, 2024
@metachris metachris reopened this Mar 18, 2024
@metachris
Copy link
Contributor

(whoops sorry, misclicked and closed by accident)

Copy link
Collaborator

@andytudhope andytudhope left a comment

Choose a reason for hiding this comment

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

I agree that this likely should not be a separate directory.


### Frontmatter

A spec must being with frontmatter. Frontmatter is a preamble to the document, is delimited with `---`, and contains YAML data. The frontmatter for the present spec is as follows:
Copy link
Collaborator

Choose a reason for hiding this comment

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

begin


A spec MUST have exactly one title, which is to say an h1 heading. The title MUST appear at the top of the Markdown document.

Sections in a spec are nested by using various heading depths. For the avoidance of doubt, "section" SHALL refer to any hn>1 heading, to distinguish it from the title. Content between the title and the first section of a document is considered to be the abstract for the document. Rendering pipelines SHOULD incorporated the abstract into the header content.
Copy link
Collaborator

Choose a reason for hiding this comment

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

should incorporate

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants