@millstone/synapse-schemas 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +71 -0
  2. package/body-grammars/adr.body-grammar.json +46 -0
  3. package/body-grammars/agreement.body-grammar.json +86 -0
  4. package/body-grammars/capability.body-grammar.json +73 -0
  5. package/body-grammars/meeting.body-grammar.json +93 -0
  6. package/body-grammars/policy.body-grammar.json +58 -0
  7. package/body-grammars/prd.body-grammar.json +220 -0
  8. package/body-grammars/process.body-grammar.json +107 -0
  9. package/body-grammars/reference.body-grammar.json +16 -0
  10. package/body-grammars/runbook.body-grammar.json +77 -0
  11. package/body-grammars/scorecard.body-grammar.json +68 -0
  12. package/body-grammars/sop.body-grammar.json +75 -0
  13. package/body-grammars/sow.body-grammar.json +189 -0
  14. package/body-grammars/standard.body-grammar.json +54 -0
  15. package/body-grammars/system.body-grammar.json +79 -0
  16. package/body-grammars/tdd.body-grammar.json +176 -0
  17. package/frontmatter/adr.schema.json +30 -0
  18. package/frontmatter/agreement.schema.json +191 -0
  19. package/frontmatter/base.schema.json +79 -0
  20. package/frontmatter/capability.schema.json +25 -0
  21. package/frontmatter/meeting.schema.json +52 -0
  22. package/frontmatter/policy.schema.json +25 -0
  23. package/frontmatter/prd.schema.json +37 -0
  24. package/frontmatter/process.schema.json +49 -0
  25. package/frontmatter/reference.schema.json +77 -0
  26. package/frontmatter/runbook.schema.json +19 -0
  27. package/frontmatter/scorecard.schema.json +176 -0
  28. package/frontmatter/sop.schema.json +42 -0
  29. package/frontmatter/sow.schema.json +35 -0
  30. package/frontmatter/standard.schema.json +31 -0
  31. package/frontmatter/system.schema.json +51 -0
  32. package/frontmatter/tdd.schema.json +25 -0
  33. package/index.js +9 -0
  34. package/package.json +34 -0
  35. package/plugins/marketplace.schema.json +126 -0
  36. package/plugins/plugin.schema.json +60 -0
@@ -0,0 +1,176 @@
1
+ {
2
+ "type": "tdd",
3
+ "displayName": "Technical Design Document",
4
+ "sections": [
5
+ {
6
+ "id": "summary",
7
+ "title": "Summary",
8
+ "required": true,
9
+ "order": 1,
10
+ "shape": {
11
+ "type": "flow",
12
+ "allowedNodes": [
13
+ "paragraph",
14
+ "list",
15
+ "heading",
16
+ "thematicBreak"
17
+ ]
18
+ }
19
+ },
20
+ {
21
+ "id": "overview",
22
+ "title": "Overview",
23
+ "required": true,
24
+ "order": 2,
25
+ "shape": {
26
+ "type": "flow",
27
+ "allowedNodes": [
28
+ "paragraph",
29
+ "list",
30
+ "heading",
31
+ "thematicBreak"
32
+ ]
33
+ }
34
+ },
35
+ {
36
+ "id": "architecture",
37
+ "title": "Architecture",
38
+ "required": true,
39
+ "order": 3,
40
+ "shape": {
41
+ "type": "flow",
42
+ "allowedNodes": [
43
+ "paragraph",
44
+ "list",
45
+ "code",
46
+ "blockquote",
47
+ "heading",
48
+ "thematicBreak"
49
+ ]
50
+ }
51
+ },
52
+ {
53
+ "id": "information-model",
54
+ "title": "Information Model",
55
+ "required": true,
56
+ "order": 4,
57
+ "shape": {
58
+ "type": "flow",
59
+ "allowedNodes": [
60
+ "paragraph",
61
+ "list",
62
+ "code",
63
+ "heading",
64
+ "thematicBreak"
65
+ ]
66
+ }
67
+ },
68
+ {
69
+ "id": "interfaces",
70
+ "title": "Interfaces",
71
+ "alternativeTitles": [
72
+ "Public Interfaces (APIs)"
73
+ ],
74
+ "required": true,
75
+ "order": 5,
76
+ "shape": {
77
+ "type": "flow",
78
+ "allowedNodes": [
79
+ "paragraph",
80
+ "list",
81
+ "code",
82
+ "heading",
83
+ "thematicBreak"
84
+ ]
85
+ }
86
+ },
87
+ {
88
+ "id": "files-and-layout",
89
+ "title": "Files and Layout",
90
+ "required": true,
91
+ "order": 6,
92
+ "shape": {
93
+ "type": "flow",
94
+ "allowedNodes": [
95
+ "paragraph",
96
+ "list",
97
+ "code",
98
+ "heading",
99
+ "thematicBreak"
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "id": "work-plan",
105
+ "title": "Work Plan",
106
+ "alternativeTitles": [
107
+ "Work Breakdown — Phased Plan"
108
+ ],
109
+ "required": true,
110
+ "order": 7,
111
+ "shape": {
112
+ "type": "flow",
113
+ "allowedNodes": [
114
+ "paragraph",
115
+ "list",
116
+ "heading",
117
+ "thematicBreak"
118
+ ]
119
+ }
120
+ },
121
+ {
122
+ "id": "risks",
123
+ "title": "Risks and Mitigations",
124
+ "alternativeTitles": [
125
+ "Risks and Alternatives"
126
+ ],
127
+ "required": true,
128
+ "order": 8,
129
+ "shape": {
130
+ "type": "flow",
131
+ "allowedNodes": [
132
+ "paragraph",
133
+ "list",
134
+ "heading",
135
+ "thematicBreak"
136
+ ]
137
+ }
138
+ },
139
+ {
140
+ "id": "operations",
141
+ "title": "Operations",
142
+ "alternativeTitles": [
143
+ "Deployment and Ops (if applicable)"
144
+ ],
145
+ "required": false,
146
+ "order": 9,
147
+ "shape": {
148
+ "type": "flow",
149
+ "allowedNodes": [
150
+ "paragraph",
151
+ "list",
152
+ "code",
153
+ "heading",
154
+ "thematicBreak"
155
+ ]
156
+ }
157
+ },
158
+ {
159
+ "id": "appendix",
160
+ "title": "Appendix",
161
+ "required": false,
162
+ "order": 10,
163
+ "shape": {
164
+ "type": "flow",
165
+ "allowedNodes": [
166
+ "paragraph",
167
+ "list",
168
+ "code",
169
+ "table",
170
+ "heading",
171
+ "thematicBreak"
172
+ ]
173
+ }
174
+ }
175
+ ]
176
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$id": "adr.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "allOf": [
5
+ {
6
+ "$ref": "base.schema.json"
7
+ }
8
+ ],
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "const": "adr"
13
+ },
14
+ "id": {
15
+ "type": "string",
16
+ "pattern": "^ADR-\\d{4,}$"
17
+ },
18
+ "supersedes": {
19
+ "type": "string"
20
+ },
21
+ "superseded_by": {
22
+ "type": "string"
23
+ }
24
+ },
25
+ "required": [
26
+ "type",
27
+ "id"
28
+ ],
29
+ "additionalProperties": false
30
+ }
@@ -0,0 +1,191 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Independent Contractor Agreement",
4
+ "type": "object",
5
+ "required": [
6
+ "id",
7
+ "type",
8
+ "title",
9
+ "status",
10
+ "owner",
11
+ "effective_date",
12
+ "parties",
13
+ "compensation",
14
+ "governing_law",
15
+ "venue",
16
+ "signatures"
17
+ ],
18
+ "properties": {
19
+ "id": {
20
+ "type": "string"
21
+ },
22
+ "type": {
23
+ "const": "agreement"
24
+ },
25
+ "title": {
26
+ "type": "string"
27
+ },
28
+ "status": {
29
+ "type": "string"
30
+ },
31
+ "owner": {
32
+ "type": "string"
33
+ },
34
+ "created": {
35
+ "type": "string"
36
+ },
37
+ "updated": {
38
+ "type": "string"
39
+ },
40
+ "tags": {
41
+ "type": "array",
42
+ "items": {
43
+ "type": "string"
44
+ }
45
+ },
46
+ "effective_date": {
47
+ "type": "string"
48
+ },
49
+ "parties": {
50
+ "type": "object",
51
+ "required": [
52
+ "client",
53
+ "contractor"
54
+ ],
55
+ "properties": {
56
+ "client": {
57
+ "type": "object",
58
+ "required": [
59
+ "name",
60
+ "state",
61
+ "address"
62
+ ],
63
+ "properties": {
64
+ "name": {
65
+ "type": "string"
66
+ },
67
+ "state": {
68
+ "type": "string"
69
+ },
70
+ "address": {
71
+ "type": "string"
72
+ }
73
+ }
74
+ },
75
+ "contractor": {
76
+ "type": "object",
77
+ "required": [
78
+ "name",
79
+ "state",
80
+ "address"
81
+ ],
82
+ "properties": {
83
+ "name": {
84
+ "type": "string"
85
+ },
86
+ "state": {
87
+ "type": "string"
88
+ },
89
+ "address": {
90
+ "type": "string"
91
+ }
92
+ }
93
+ }
94
+ }
95
+ },
96
+ "compensation": {
97
+ "type": "object",
98
+ "required": [
99
+ "total"
100
+ ],
101
+ "properties": {
102
+ "total": {
103
+ "type": "number"
104
+ },
105
+ "in_kind": {
106
+ "type": "array",
107
+ "items": {
108
+ "type": "object",
109
+ "required": [
110
+ "description",
111
+ "fair_market_value",
112
+ "delivery"
113
+ ],
114
+ "properties": {
115
+ "description": {
116
+ "type": "string"
117
+ },
118
+ "fair_market_value": {
119
+ "type": "number"
120
+ },
121
+ "delivery": {
122
+ "type": "string"
123
+ }
124
+ }
125
+ }
126
+ },
127
+ "milestones": {
128
+ "type": "array",
129
+ "items": {
130
+ "type": "object",
131
+ "required": [
132
+ "name",
133
+ "amount",
134
+ "trigger",
135
+ "due_days"
136
+ ],
137
+ "properties": {
138
+ "name": {
139
+ "type": "string"
140
+ },
141
+ "amount": {
142
+ "type": "number"
143
+ },
144
+ "trigger": {
145
+ "type": "string"
146
+ },
147
+ "due_days": {
148
+ "type": "number"
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ },
155
+ "termination": {
156
+ "type": "object",
157
+ "properties": {
158
+ "convenience": {
159
+ "type": "object",
160
+ "properties": {
161
+ "notice_days": {
162
+ "type": "number"
163
+ }
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "governing_law": {
169
+ "type": "string"
170
+ },
171
+ "venue": {
172
+ "type": "string"
173
+ },
174
+ "signatures": {
175
+ "type": "object",
176
+ "required": [
177
+ "client_signatory",
178
+ "contractor_signatory"
179
+ ],
180
+ "properties": {
181
+ "client_signatory": {
182
+ "type": "string"
183
+ },
184
+ "contractor_signatory": {
185
+ "type": "string"
186
+ }
187
+ }
188
+ }
189
+ },
190
+ "additionalProperties": false
191
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "$id": "base.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": {
7
+ "type": "string",
8
+ "minLength": 1
9
+ },
10
+ "type": {
11
+ "type": "string",
12
+ "enum": [
13
+ "policy",
14
+ "standard",
15
+ "process",
16
+ "sop",
17
+ "runbook",
18
+ "system",
19
+ "adr",
20
+ "prd",
21
+ "capability",
22
+ "tdd",
23
+ "meeting",
24
+ "scorecard",
25
+ "reference"
26
+ ]
27
+ },
28
+ "title": {
29
+ "type": "string",
30
+ "minLength": 1
31
+ },
32
+ "status": {
33
+ "type": "string",
34
+ "enum": [
35
+ "draft",
36
+ "review",
37
+ "approved",
38
+ "deprecated",
39
+ "proposed",
40
+ "accepted",
41
+ "superseded"
42
+ ]
43
+ },
44
+ "owner": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ },
48
+ "created": {
49
+ "type": "string",
50
+ "format": "date-time"
51
+ },
52
+ "updated": {
53
+ "type": "string",
54
+ "format": "date-time"
55
+ },
56
+ "tags": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string"
60
+ }
61
+ },
62
+ "summary": {
63
+ "type": "string"
64
+ },
65
+ "example": {
66
+ "type": "boolean"
67
+ }
68
+ },
69
+ "required": [
70
+ "id",
71
+ "type",
72
+ "title",
73
+ "status",
74
+ "owner",
75
+ "created",
76
+ "updated"
77
+ ],
78
+ "additionalProperties": false
79
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$id": "capability.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "allOf": [
5
+ {
6
+ "$ref": "base.schema.json"
7
+ }
8
+ ],
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "const": "capability"
13
+ },
14
+ "evidence_links": {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string"
18
+ }
19
+ }
20
+ },
21
+ "required": [
22
+ "type"
23
+ ],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$id": "meeting.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "allOf": [
5
+ {
6
+ "$ref": "base.schema.json"
7
+ }
8
+ ],
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "const": "meeting"
13
+ },
14
+ "company": {
15
+ "type": "string",
16
+ "minLength": 1
17
+ },
18
+ "topic": {
19
+ "type": "string",
20
+ "minLength": 1
21
+ },
22
+ "meeting_date": {
23
+ "type": "string",
24
+ "format": "date-time"
25
+ },
26
+ "our_attendees": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ },
32
+ "their_attendees": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string"
36
+ }
37
+ },
38
+ "related_docs": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "string"
42
+ }
43
+ }
44
+ },
45
+ "required": [
46
+ "type",
47
+ "company",
48
+ "topic",
49
+ "meeting_date"
50
+ ],
51
+ "additionalProperties": false
52
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$id": "policy.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "allOf": [
5
+ {
6
+ "$ref": "base.schema.json"
7
+ }
8
+ ],
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "const": "policy"
13
+ },
14
+ "related_standards": {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string"
18
+ }
19
+ }
20
+ },
21
+ "required": [
22
+ "type"
23
+ ],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$id": "prd.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "allOf": [
5
+ {
6
+ "$ref": "base.schema.json"
7
+ }
8
+ ],
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "const": "prd"
13
+ },
14
+ "related_prds": {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string"
18
+ }
19
+ },
20
+ "related_tdds": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string"
24
+ }
25
+ },
26
+ "related_standards": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ }
32
+ },
33
+ "required": [
34
+ "type"
35
+ ],
36
+ "additionalProperties": false
37
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$id": "process.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "allOf": [
5
+ {
6
+ "$ref": "base.schema.json"
7
+ }
8
+ ],
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "const": "process"
13
+ },
14
+ "related_standards": {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string"
18
+ }
19
+ },
20
+ "related_prds": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string"
24
+ }
25
+ },
26
+ "related_tdds": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ },
32
+ "related_sops": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string"
36
+ }
37
+ },
38
+ "related_systems": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "string"
42
+ }
43
+ }
44
+ },
45
+ "required": [
46
+ "type"
47
+ ],
48
+ "additionalProperties": false
49
+ }