comprehende 0.4.1 → 0.5.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.
@@ -2,51 +2,88 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://github.com/matemolnar8/comprehende/src/schema/review.schema.json",
4
4
  "title": "Comprehende ReviewDocument",
5
- "description": "Interpretation only: groups, summaries, and hunk pointers. No patch text, file bodies, or blame.",
5
+ "description": "Interpretation only: groups, summaries, and hunk pointers.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
- "required": ["version", "source", "size", "summary", "groups"],
8
+ "required": [
9
+ "version",
10
+ "source",
11
+ "size",
12
+ "summary",
13
+ "groups"
14
+ ],
9
15
  "properties": {
10
- "version": { "const": 1 },
16
+ "version": {
17
+ "const": 1
18
+ },
11
19
  "size": {
12
20
  "type": "string",
13
- "enum": ["trivial", "small", "medium", "large", "very-large"],
14
- "description": "Human review burden of this change, not file or hunk count. A 40-file mechanical import rename in one layer is small. A 3-file contract rewrite the rest of the stack hangs on can be large."
21
+ "enum": [
22
+ "trivial",
23
+ "small",
24
+ "medium",
25
+ "large",
26
+ "very-large"
27
+ ],
28
+ "description": "Human review burden of this change."
15
29
  },
16
30
  "source": {
17
31
  "type": "object",
18
32
  "additionalProperties": false,
19
- "required": ["baseRef", "headRef"],
33
+ "required": [
34
+ "baseRef",
35
+ "headRef"
36
+ ],
20
37
  "properties": {
21
- "baseRef": { "type": "string", "minLength": 1 },
22
- "headRef": { "type": "string", "minLength": 1 },
23
- "range": { "type": "string", "minLength": 1 }
38
+ "baseRef": {
39
+ "type": "string",
40
+ "minLength": 1
41
+ },
42
+ "headRef": {
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
46
+ "range": {
47
+ "type": "string",
48
+ "minLength": 1
49
+ }
24
50
  }
25
51
  },
26
52
  "summary": {
27
53
  "type": "string",
28
54
  "minLength": 1,
29
- "description": "Short what of the whole change. Always write this. Name the stories. Do not invent a motive."
55
+ "description": "Short what of the whole change. Name the stories."
30
56
  },
31
57
  "why": {
32
58
  "type": "string",
33
59
  "minLength": 1,
34
- "description": "Generated why for the whole change. Write it from tickets, issues, a pull-request or merge-request description, and/or a coding-agent transcript. Do not paraphrase the patch. Omit only when those sources are silent. A second part does not cancel it. The UI skips the Why section when this is absent."
60
+ "description": "Generated why for the whole change, from tickets, issues, a request description, or a transcript."
35
61
  },
36
62
  "tickets": {
37
63
  "type": "array",
38
64
  "items": {
39
65
  "type": "object",
40
66
  "additionalProperties": false,
41
- "required": ["id"],
67
+ "required": [
68
+ "id"
69
+ ],
42
70
  "properties": {
43
- "id": { "type": "string", "minLength": 1 },
44
- "url": { "type": "string", "minLength": 1 },
45
- "title": { "type": "string", "minLength": 1 },
71
+ "id": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ },
75
+ "url": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ },
79
+ "title": {
80
+ "type": "string",
81
+ "minLength": 1
82
+ },
46
83
  "part": {
47
84
  "type": "string",
48
85
  "minLength": 1,
49
- "description": "Short name of the independent story this ticket belongs to. Same name as the layers in that story. Omit when the ticket is for the whole review."
86
+ "description": "Short name of the independent story this ticket belongs to. Same name as the groups in that story."
50
87
  }
51
88
  }
52
89
  }
@@ -56,38 +93,61 @@
56
93
  "items": {
57
94
  "type": "object",
58
95
  "additionalProperties": false,
59
- "required": ["id", "title", "why", "summary", "suggestedOrder", "hunkRefs"],
96
+ "required": [
97
+ "id",
98
+ "title",
99
+ "why",
100
+ "summary",
101
+ "suggestedOrder",
102
+ "hunkRefs"
103
+ ],
60
104
  "properties": {
61
- "id": { "type": "string", "minLength": 1 },
62
- "title": { "type": "string", "minLength": 1 },
105
+ "id": {
106
+ "type": "string",
107
+ "minLength": 1
108
+ },
109
+ "title": {
110
+ "type": "string",
111
+ "minLength": 1
112
+ },
63
113
  "why": {
64
114
  "type": "string",
65
115
  "minLength": 1,
66
- "description": "Generated why this layer exists. Write it from tickets, commit messages, and/or a transcript when they apply. If this layer has no such source, it may exist to enable later layers in the same story. Do not paraphrase the patch."
116
+ "description": "Generated why this group exists. From a source when one applies, or that it enables later groups in the same story."
67
117
  },
68
118
  "summary": {
69
119
  "type": "string",
70
- "description": "One sentence: what this layer is."
120
+ "description": "One sentence: what this group is."
71
121
  },
72
122
  "lookFor": {
73
123
  "type": "array",
74
- "description": "Scannable bullets of what to inspect. Not a paragraph.",
75
- "items": { "type": "string", "minLength": 1 }
124
+ "description": "Scannable bullets of what to inspect.",
125
+ "items": {
126
+ "type": "string",
127
+ "minLength": 1
128
+ }
76
129
  },
77
130
  "dependsOn": {
78
131
  "type": "array",
79
- "description": "Ids of earlier layers this one depends on. Same story only. Omit when this layer does not depend on other layers.",
80
- "items": { "type": "string", "minLength": 1 }
132
+ "description": "Ids of earlier groups this one depends on. Same story only.",
133
+ "items": {
134
+ "type": "string",
135
+ "minLength": 1
136
+ }
81
137
  },
82
138
  "part": {
83
139
  "type": "string",
84
140
  "minLength": 1,
85
- "description": "Short name of the independent story this layer belongs to. Same name = same story. Different names could have been separate PRs."
141
+ "description": "Short name of the independent story this group belongs to. Same name = same story. Different names could have been separate PRs."
142
+ },
143
+ "suggestedOrder": {
144
+ "type": "number"
86
145
  },
87
- "suggestedOrder": { "type": "number" },
88
146
  "hunkRefs": {
89
147
  "type": "array",
90
- "items": { "$ref": "#/$defs/hunkRef" }
148
+ "items": {
149
+ "$ref": "#/$defs/hunkRef"
150
+ }
91
151
  }
92
152
  }
93
153
  }
@@ -96,17 +156,41 @@
96
156
  "$defs": {
97
157
  "hunkRef": {
98
158
  "type": "object",
99
- "description": "Copy from comprehende index. Identity is (path, oldStart, newStart), plus oldPath when renamed. Do not guess numbers.",
159
+ "description": "Copy from comprehende index. Identity is (path, oldStart, newStart), plus oldPath when renamed.",
100
160
  "additionalProperties": false,
101
- "required": ["path", "oldStart", "oldLines", "newStart", "newLines"],
161
+ "required": [
162
+ "path",
163
+ "oldStart",
164
+ "oldLines",
165
+ "newStart",
166
+ "newLines"
167
+ ],
102
168
  "properties": {
103
- "path": { "type": "string", "minLength": 1 },
104
- "oldPath": { "type": "string", "minLength": 1 },
105
- "oldStart": { "type": "integer", "minimum": 0 },
106
- "oldLines": { "type": "integer", "minimum": 0 },
107
- "newStart": { "type": "integer", "minimum": 0 },
108
- "newLines": { "type": "integer", "minimum": 0 }
169
+ "path": {
170
+ "type": "string",
171
+ "minLength": 1
172
+ },
173
+ "oldPath": {
174
+ "type": "string",
175
+ "minLength": 1
176
+ },
177
+ "oldStart": {
178
+ "type": "integer",
179
+ "minimum": 0
180
+ },
181
+ "oldLines": {
182
+ "type": "integer",
183
+ "minimum": 0
184
+ },
185
+ "newStart": {
186
+ "type": "integer",
187
+ "minimum": 0
188
+ },
189
+ "newLines": {
190
+ "type": "integer",
191
+ "minimum": 0
192
+ }
109
193
  }
110
194
  }
111
195
  }
112
- }
196
+ }