1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-09 14:05:53 +00:00

FEP-a4ed: Add types (#291)

This is a proposed solution for #175.

Required for #195

Reviewed-on: https://codeberg.org/fediverse/fep/pulls/291
Reviewed-by: Arnold Schrijver <circlebuilder@noreply.codeberg.org>
Reviewed-by: helge <helge@noreply.codeberg.org>
Co-authored-by: silverpill <silverpill@firemail.cc>
Co-committed-by: silverpill <silverpill@firemail.cc>
This commit is contained in:
silverpill
2025-02-05 15:41:57 +00:00
committed by silverpill
parent 78a5325c3a
commit 3fd575847b
2 changed files with 10 additions and 0 deletions
+8
View File
@@ -48,12 +48,20 @@ a4ed
By using the hash of the title as identifier we reduce the burden on facilitators to assign unique ids. This requires proposal titles to be unique.
### Proposal Type
Fediverse Enhancement Proposals are classified into following types:
- Informational documents
- Implementation proposals
### Metadata
Proposal metadata is placed at the top of the document as key-value pairs between opening and closing ~---~.
Following metadata key-value pairs may be placed at the top of a proposal:
- `type`: Indicates the type of the proposal. Can be either `informational` or `implementation`.
- `slug`: the proposal identifier. The value must be enclosed within double quote marks, e.g. `"a4ed"`.
- `authors`: A comma separated list of authors of the proposal. Each item of the list should contain an author's name followed by a contact address in angle brackets (e.g. `Alyssa P. Hacker <alyssa.p.hacker@email.example>`, `Alyssa P. Hacker <@alyssa.p.hacker@fediverse.example>`).
- `status`: Indicates the proposal status. Can be either `DRAFT`, `WITHDRAWN` or `FINAL`.
+2
View File
@@ -33,6 +33,8 @@ def test_fep_front_matter(fep):
if field_name in parsed_frontmatter:
datetime.datetime.strptime(parsed_frontmatter[field_name], "%Y-%m-%d")
if "type" in parsed_frontmatter:
assert parsed_frontmatter["type"] in ["informational", "implementation"]
@pytest.mark.parametrize("fep", get_fep_ids())
def test_fep_content(fep):