diff options
Diffstat (limited to 'grasp-audit/src/specs/grasp01/spec_requirements.rs')
| -rw-r--r-- | grasp-audit/src/specs/grasp01/spec_requirements.rs | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/grasp-audit/src/specs/grasp01/spec_requirements.rs b/grasp-audit/src/specs/grasp01/spec_requirements.rs index 9a833d8..71b2d69 100644 --- a/grasp-audit/src/specs/grasp01/spec_requirements.rs +++ b/grasp-audit/src/specs/grasp01/spec_requirements.rs | |||
| @@ -71,87 +71,87 @@ pub const GRASP_01_REQUIREMENTS: &[SpecRequirement] = &[ | |||
| 71 | level: RequirementLevel::May, | 71 | level: RequirementLevel::May, |
| 72 | }, | 72 | }, |
| 73 | SpecRequirement { | 73 | SpecRequirement { |
| 74 | line: 20, | 74 | line: 26, |
| 75 | section: "Nostr Relay", | 75 | section: "Nostr Relay", |
| 76 | text: "MUST serve a NIP-11 document", | 76 | text: "MUST serve a NIP-11 document", |
| 77 | level: RequirementLevel::Must, | 77 | level: RequirementLevel::Must, |
| 78 | }, | 78 | }, |
| 79 | SpecRequirement { | 79 | SpecRequirement { |
| 80 | line: 22, | 80 | line: 28, |
| 81 | section: "Nostr Relay", | 81 | section: "Nostr Relay", |
| 82 | text: "MUST list each supported GRASP under `supported_grasps` in format `GRASP-XX` eg `GRASP-01` as a string array", | 82 | text: "MUST list each supported GRASP under `supported_grasps` in format `GRASP-XX` eg `GRASP-01` as a string array", |
| 83 | level: RequirementLevel::Must, | 83 | level: RequirementLevel::Must, |
| 84 | }, | 84 | }, |
| 85 | SpecRequirement { | 85 | SpecRequirement { |
| 86 | line: 23, | 86 | line: 29, |
| 87 | section: "Nostr Relay", | 87 | section: "Nostr Relay", |
| 88 | text: "MUST list repository acceptance criteria under `repo_acceptance_criteria` as a human readable string", | 88 | text: "MUST list repository acceptance criteria under `repo_acceptance_criteria` as a human readable string", |
| 89 | level: RequirementLevel::Must, | 89 | level: RequirementLevel::Must, |
| 90 | }, | 90 | }, |
| 91 | SpecRequirement { | 91 | SpecRequirement { |
| 92 | line: 24, | 92 | line: 30, |
| 93 | section: "Nostr Relay", | 93 | section: "Nostr Relay", |
| 94 | text: "MUST list brief summary of curation policy under `curation` if events are curated beyond generic SPAM prevention; otherwise `curation` MUST be omitted", | 94 | text: "MUST list brief summary of curation policy under `curation` if events are curated beyond generic SPAM prevention; otherwise `curation` MUST be omitted", |
| 95 | level: RequirementLevel::Must, | 95 | level: RequirementLevel::Must, |
| 96 | }, | 96 | }, |
| 97 | // Git Smart HTTP Service section | 97 | // Git Smart HTTP Service section |
| 98 | SpecRequirement { | 98 | SpecRequirement { |
| 99 | line: 28, | 99 | line: 34, |
| 100 | section: "Git Smart HTTP Service", | 100 | section: "Git Smart HTTP Service", |
| 101 | text: "MUST serve a git repository via an unauthenticated git smart http service at `/<npub>/<identifier>.git` for each accepted git repository announcement.", | 101 | text: "MUST serve a git repository via an unauthenticated git smart http service at `/<npub>/<identifier>.git` for each accepted git repository announcement.", |
| 102 | level: RequirementLevel::Must, | 102 | level: RequirementLevel::Must, |
| 103 | }, | 103 | }, |
| 104 | SpecRequirement { | 104 | SpecRequirement { |
| 105 | line: 30, | 105 | line: 36, |
| 106 | section: "Git Smart HTTP Service", | 106 | section: "Git Smart HTTP Service", |
| 107 | text: "MUST accept pushes via this service that match the latest repo state announcement on the relay, respecting the recursive maintainer set.", | 107 | text: "MUST accept pushes via this service that match the latest repo state announcement on the relay, respecting the recursive maintainer set.", |
| 108 | level: RequirementLevel::Must, | 108 | level: RequirementLevel::Must, |
| 109 | }, | 109 | }, |
| 110 | SpecRequirement { | 110 | SpecRequirement { |
| 111 | line: 32, | 111 | line: 38, |
| 112 | section: "Git Smart HTTP Service", | 112 | section: "Git Smart HTTP Service", |
| 113 | text: "MUST set repository HEAD per repo state announcement as soon as the git data related to that branch has been received.", | 113 | text: "MUST set repository HEAD per repo state announcement as soon as the git data related to that branch has been received.", |
| 114 | level: RequirementLevel::Must, | 114 | level: RequirementLevel::Must, |
| 115 | }, | 115 | }, |
| 116 | SpecRequirement { | 116 | SpecRequirement { |
| 117 | line: 34, | 117 | line: 40, |
| 118 | section: "Git Smart HTTP Service", | 118 | section: "Git Smart HTTP Service", |
| 119 | text: "MUST accept pushes via this service to `refs/nostr/<event-id>` but SHOULD reject if event exists on relay listing a different tip and MAY reject based on criteria such as size, SPAM prevention, etc. SHOULD delete and MAY garbage collect these refs if no corresponding git PR event or git PR update event, with a `c` tag that matches the ref tip, is accepted by relay within 20 minutes.", | 119 | text: "MUST accept pushes via this service to `refs/nostr/<event-id>` but SHOULD reject if event exists on relay listing a different tip and MAY reject based on criteria such as size, SPAM prevention, etc. SHOULD delete and MAY garbage collect these refs if no corresponding git PR event or git PR update event, with a `c` tag that matches the ref tip, is accepted by relay within 20 minutes.", |
| 120 | level: RequirementLevel::Must, | 120 | level: RequirementLevel::Must, |
| 121 | }, | 121 | }, |
| 122 | SpecRequirement { | 122 | SpecRequirement { |
| 123 | line: 36, | 123 | line: 42, |
| 124 | section: "Git Smart HTTP Service", | 124 | section: "Git Smart HTTP Service", |
| 125 | text: "MUST include `allow-reachable-sha1-in-want` and `allow-tip-sha1-in-want` in advertisement and serve available oids.", | 125 | text: "MUST include `allow-reachable-sha1-in-want` and `allow-tip-sha1-in-want` in advertisement and serve available oids.", |
| 126 | level: RequirementLevel::Must, | 126 | level: RequirementLevel::Must, |
| 127 | }, | 127 | }, |
| 128 | SpecRequirement { | 128 | SpecRequirement { |
| 129 | line: 38, | 129 | line: 44, |
| 130 | section: "Git Smart HTTP Service", | 130 | section: "Git Smart HTTP Service", |
| 131 | text: "SHOULD serve a webpage at the same endpoint linking to git nostr client(s) to browse the repository and a 404 page for repositories it doesn't host.", | 131 | text: "SHOULD serve a webpage at the same endpoint linking to git nostr client(s) to browse the repository and a 404 page for repositories it doesn't host.", |
| 132 | level: RequirementLevel::Should, | 132 | level: RequirementLevel::Should, |
| 133 | }, | 133 | }, |
| 134 | // CORS Support section | 134 | // CORS Support section |
| 135 | SpecRequirement { | 135 | SpecRequirement { |
| 136 | line: 44, | 136 | line: 50, |
| 137 | section: "CORS Support", | 137 | section: "CORS Support", |
| 138 | text: "Set `Access-Control-Allow-Origin: *` on ALL responses", | 138 | text: "Set `Access-Control-Allow-Origin: *` on ALL responses", |
| 139 | level: RequirementLevel::Must, | 139 | level: RequirementLevel::Must, |
| 140 | }, | 140 | }, |
| 141 | SpecRequirement { | 141 | SpecRequirement { |
| 142 | line: 45, | 142 | line: 51, |
| 143 | section: "CORS Support", | 143 | section: "CORS Support", |
| 144 | text: "Set `Access-Control-Allow-Methods: GET, POST` on ALL responses", | 144 | text: "Set `Access-Control-Allow-Methods: GET, POST` on ALL responses", |
| 145 | level: RequirementLevel::Must, | 145 | level: RequirementLevel::Must, |
| 146 | }, | 146 | }, |
| 147 | SpecRequirement { | 147 | SpecRequirement { |
| 148 | line: 46, | 148 | line: 52, |
| 149 | section: "CORS Support", | 149 | section: "CORS Support", |
| 150 | text: "Set `Access-Control-Allow-Headers: Content-Type` on ALL responses", | 150 | text: "Set `Access-Control-Allow-Headers: Content-Type` on ALL responses", |
| 151 | level: RequirementLevel::Must, | 151 | level: RequirementLevel::Must, |
| 152 | }, | 152 | }, |
| 153 | SpecRequirement { | 153 | SpecRequirement { |
| 154 | line: 47, | 154 | line: 53, |
| 155 | section: "CORS Support", | 155 | section: "CORS Support", |
| 156 | text: "Respond to OPTIONS requests with 204 No Content", | 156 | text: "Respond to OPTIONS requests with 204 No Content", |
| 157 | level: RequirementLevel::Must, | 157 | level: RequirementLevel::Must, |