probatio 0.3.0 → 0.5.1

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 (74) hide show
  1. package/README.md +11 -197
  2. package/bin/probatio.js +52 -0
  3. package/package.json +22 -29
  4. package/LICENSE +0 -21
  5. package/dist/cli.js +0 -721
  6. package/dist/contract.js +0 -32
  7. package/dist/flags.js +0 -87
  8. package/dist/golden/check.js +0 -188
  9. package/dist/golden/record.js +0 -395
  10. package/dist/golden/recorder.mjs +0 -78
  11. package/dist/ledger/build.js +0 -348
  12. package/dist/ledger/check.js +0 -133
  13. package/dist/matrix/report.js +0 -256
  14. package/dist/mcp.js +0 -188
  15. package/dist/memory/state.js +0 -222
  16. package/dist/mutate/affected.js +0 -173
  17. package/dist/mutate/child-lines.mjs +0 -39
  18. package/dist/mutate/coverage-map.js +0 -229
  19. package/dist/mutate/csharp-coverage.js +0 -161
  20. package/dist/mutate/fail-reporter.mjs +0 -65
  21. package/dist/mutate/find.js +0 -13
  22. package/dist/mutate/generate.js +0 -156
  23. package/dist/mutate/go-coverage.js +0 -100
  24. package/dist/mutate/ids.js +0 -22
  25. package/dist/mutate/java-coverage.js +0 -217
  26. package/dist/mutate/kill-label.js +0 -34
  27. package/dist/mutate/load-failure.mjs +0 -40
  28. package/dist/mutate/mocha-coverage.cjs +0 -77
  29. package/dist/mutate/node-batch-loader.mjs +0 -99
  30. package/dist/mutate/node-batch.mjs +0 -167
  31. package/dist/mutate/node-coverage.mjs +0 -77
  32. package/dist/mutate/operators.js +0 -181
  33. package/dist/mutate/patch.js +0 -136
  34. package/dist/mutate/precise-lines.mjs +0 -304
  35. package/dist/mutate/probatio-jacoco-run.java +0 -516
  36. package/dist/mutate/project-config.js +0 -58
  37. package/dist/mutate/py-pytest-reporter.py +0 -145
  38. package/dist/mutate/py-reporter.py +0 -79
  39. package/dist/mutate/run.js +0 -1335
  40. package/dist/mutate/rust-coverage.js +0 -144
  41. package/dist/mutate/sealed.js +0 -118
  42. package/dist/mutate/suite-decision.js +0 -130
  43. package/dist/mutate/suites.js +0 -1524
  44. package/dist/mutate/tally.js +0 -240
  45. package/dist/mutate/text-operators.js +0 -637
  46. package/dist/mutate/titles.js +0 -23
  47. package/dist/node-version.js +0 -13
  48. package/dist/swarm/check-kill.js +0 -114
  49. package/dist/swarm/queue.js +0 -68
  50. package/dist/verify/change.js +0 -340
  51. package/schemas/check-kill.schema.json +0 -93
  52. package/schemas/findings.add.schema.json +0 -53
  53. package/schemas/gap.fix.schema.json +0 -53
  54. package/schemas/gap.revert.schema.json +0 -53
  55. package/schemas/golden.check.schema.json +0 -89
  56. package/schemas/golden.compare.schema.json +0 -151
  57. package/schemas/golden.record.schema.json +0 -126
  58. package/schemas/guard.check.schema.json +0 -53
  59. package/schemas/ledger.build.schema.json +0 -132
  60. package/schemas/ledger.check.schema.json +0 -143
  61. package/schemas/matrix.report.schema.json +0 -129
  62. package/schemas/mcp.schema.json +0 -53
  63. package/schemas/mutate.generate.schema.json +0 -127
  64. package/schemas/mutate.help.schema.json +0 -53
  65. package/schemas/mutate.run.schema.json +0 -272
  66. package/schemas/mutate.sealed.schema.json +0 -53
  67. package/schemas/mutate.tally.schema.json +0 -137
  68. package/schemas/queue.claim.schema.json +0 -53
  69. package/schemas/queue.reap.schema.json +0 -71
  70. package/schemas/queue.seed.schema.json +0 -71
  71. package/schemas/schema.schema.json +0 -74
  72. package/schemas/seal.schema.json +0 -69
  73. package/schemas/status.schema.json +0 -103
  74. package/schemas/verify-change.schema.json +0 -222
@@ -1,272 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/mutate.run.schema.json",
4
- "title": "probatio mutate.run",
5
- "description": "Scores a batch of mutants against the project's own suite. mutate sealed prints this shape too, with fixEdited and olderTestCatch. Every command prints one JSON object. schemaVersion changes when a field is renamed, removed, or changes meaning. A new field does not change it.",
6
- "type": "object",
7
- "required": [
8
- "schemaVersion",
9
- "ok",
10
- "command",
11
- "summary",
12
- "next",
13
- "nextCall"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": 2
18
- },
19
- "ok": {
20
- "type": "boolean"
21
- },
22
- "command": {
23
- "const": "mutate.run"
24
- },
25
- "summary": {
26
- "type": "string"
27
- },
28
- "next": {
29
- "type": "string"
30
- },
31
- "nextCall": {
32
- "oneOf": [
33
- {
34
- "type": "null"
35
- },
36
- {
37
- "type": "object",
38
- "properties": {
39
- "argv": {
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- }
45
- },
46
- "required": [
47
- "argv"
48
- ]
49
- }
50
- ]
51
- },
52
- "killed": {
53
- "type": "integer",
54
- "minimum": 0
55
- },
56
- "unviable": {
57
- "type": "integer",
58
- "minimum": 0
59
- },
60
- "unviableIds": {
61
- "type": "array",
62
- "items": {
63
- "type": "string"
64
- }
65
- },
66
- "survived": {
67
- "type": "integer",
68
- "minimum": 0
69
- },
70
- "flaky": {
71
- "type": "integer",
72
- "minimum": 0
73
- },
74
- "timeouts": {
75
- "type": "integer",
76
- "minimum": 0
77
- },
78
- "errors": {
79
- "type": "integer",
80
- "minimum": 0
81
- },
82
- "noCoverage": {
83
- "type": "integer",
84
- "minimum": 0
85
- },
86
- "notStarted": {
87
- "type": "array",
88
- "items": {
89
- "type": "string"
90
- }
91
- },
92
- "suiteCommand": {
93
- "type": "string"
94
- },
95
- "baselineMs": {
96
- "type": [
97
- "number",
98
- "null"
99
- ]
100
- },
101
- "commands": {
102
- "type": "array",
103
- "items": {
104
- "type": "object",
105
- "properties": {
106
- "id": {
107
- "type": "string"
108
- },
109
- "outcome": {
110
- "type": "string"
111
- },
112
- "command": {
113
- "type": "string"
114
- },
115
- "wholeSuite": {
116
- "type": "boolean"
117
- },
118
- "reused": {
119
- "type": "boolean"
120
- },
121
- "cause": {
122
- "enum": [
123
- null,
124
- "test",
125
- "build"
126
- ]
127
- },
128
- "next": {
129
- "type": "string"
130
- }
131
- },
132
- "required": [
133
- "id",
134
- "outcome",
135
- "command"
136
- ]
137
- }
138
- },
139
- "gaps": {
140
- "type": "array",
141
- "items": {
142
- "type": "object",
143
- "properties": {
144
- "id": {
145
- "type": "string"
146
- },
147
- "file": {
148
- "type": "string"
149
- },
150
- "line": {
151
- "type": "integer",
152
- "minimum": 0
153
- },
154
- "op": {
155
- "type": "string"
156
- }
157
- },
158
- "required": [
159
- "id",
160
- "file",
161
- "line"
162
- ]
163
- }
164
- },
165
- "rest": {
166
- "type": "integer",
167
- "minimum": 0
168
- },
169
- "flakyIds": {
170
- "type": "array",
171
- "items": {
172
- "type": "string"
173
- }
174
- },
175
- "budgetHit": {
176
- "type": "boolean"
177
- },
178
- "commit": {
179
- "type": "string"
180
- },
181
- "runId": {
182
- "type": "string"
183
- },
184
- "kills": {
185
- "type": "array",
186
- "items": {
187
- "type": "object",
188
- "properties": {
189
- "id": {
190
- "type": "string"
191
- },
192
- "cause": {
193
- "enum": [
194
- "test",
195
- "build"
196
- ]
197
- },
198
- "killedBy": {
199
- "type": "array",
200
- "items": {
201
- "type": "string"
202
- }
203
- },
204
- "next": {
205
- "type": "string"
206
- },
207
- "files": {
208
- "type": "array",
209
- "items": {
210
- "type": "object",
211
- "properties": {
212
- "file": {
213
- "type": "string"
214
- },
215
- "line": {
216
- "type": "integer",
217
- "minimum": 0
218
- }
219
- },
220
- "required": [
221
- "file",
222
- "line"
223
- ]
224
- }
225
- }
226
- },
227
- "required": [
228
- "id",
229
- "killedBy"
230
- ]
231
- }
232
- },
233
- "full": {
234
- "type": "string"
235
- },
236
- "fixEdited": {
237
- "type": "array",
238
- "items": {
239
- "type": "string"
240
- }
241
- },
242
- "olderTestCatch": {
243
- "type": "boolean"
244
- }
245
- },
246
- "if": {
247
- "properties": {
248
- "ok": {
249
- "const": true
250
- }
251
- }
252
- },
253
- "then": {
254
- "required": [
255
- "killed",
256
- "unviable",
257
- "unviableIds",
258
- "survived",
259
- "flaky",
260
- "timeouts",
261
- "errors",
262
- "noCoverage",
263
- "notStarted",
264
- "gaps",
265
- "rest",
266
- "kills",
267
- "commit",
268
- "runId",
269
- "full"
270
- ]
271
- }
272
- }
@@ -1,53 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/mutate.sealed.schema.json",
4
- "title": "probatio mutate.sealed",
5
- "description": "Printed instead of the run report when the sealed label leaked into it. Every command prints one JSON object. schemaVersion changes when a field is renamed, removed, or changes meaning. A new field does not change it.",
6
- "type": "object",
7
- "required": [
8
- "schemaVersion",
9
- "ok",
10
- "command",
11
- "summary",
12
- "next",
13
- "nextCall"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": 2
18
- },
19
- "ok": {
20
- "type": "boolean"
21
- },
22
- "command": {
23
- "const": "mutate.sealed"
24
- },
25
- "summary": {
26
- "type": "string"
27
- },
28
- "next": {
29
- "type": "string"
30
- },
31
- "nextCall": {
32
- "oneOf": [
33
- {
34
- "type": "null"
35
- },
36
- {
37
- "type": "object",
38
- "properties": {
39
- "argv": {
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- }
45
- },
46
- "required": [
47
- "argv"
48
- ]
49
- }
50
- ]
51
- }
52
- }
53
- }
@@ -1,137 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/mutate.tally.schema.json",
4
- "title": "probatio mutate.tally",
5
- "description": "Reads a finished run: tests to keep, tests that saw no kill in this batch, and one gap per survivor. Never deletes a test. Every command prints one JSON object. schemaVersion changes when a field is renamed, removed, or changes meaning. A new field does not change it.",
6
- "type": "object",
7
- "required": [
8
- "schemaVersion",
9
- "ok",
10
- "command",
11
- "summary",
12
- "next",
13
- "nextCall"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": 2
18
- },
19
- "ok": {
20
- "type": "boolean"
21
- },
22
- "command": {
23
- "const": "mutate.tally"
24
- },
25
- "summary": {
26
- "type": "string"
27
- },
28
- "next": {
29
- "type": "string"
30
- },
31
- "nextCall": {
32
- "oneOf": [
33
- {
34
- "type": "null"
35
- },
36
- {
37
- "type": "object",
38
- "properties": {
39
- "argv": {
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- }
45
- },
46
- "required": [
47
- "argv"
48
- ]
49
- }
50
- ]
51
- },
52
- "keep": {
53
- "type": "array",
54
- "items": {
55
- "type": "string"
56
- }
57
- },
58
- "noKillsYet": {
59
- "type": "array",
60
- "items": {
61
- "type": "string"
62
- }
63
- },
64
- "gaps": {
65
- "type": "array",
66
- "items": {
67
- "type": "object",
68
- "properties": {
69
- "id": {
70
- "type": "string"
71
- },
72
- "file": {
73
- "type": "string"
74
- },
75
- "line": {
76
- "type": "integer",
77
- "minimum": 0
78
- },
79
- "outcome": {
80
- "const": "survived"
81
- }
82
- },
83
- "required": [
84
- "id",
85
- "file",
86
- "line",
87
- "outcome"
88
- ]
89
- }
90
- },
91
- "rest": {
92
- "type": "integer",
93
- "minimum": 0
94
- },
95
- "pruning": {
96
- "type": "object",
97
- "properties": {
98
- "mode": {
99
- "const": "advisory"
100
- },
101
- "deletedTests": {
102
- "const": 0
103
- },
104
- "advice": {
105
- "type": "array",
106
- "items": {
107
- "type": "string"
108
- }
109
- }
110
- },
111
- "required": [
112
- "mode",
113
- "deletedTests"
114
- ]
115
- },
116
- "full": {
117
- "type": "string"
118
- }
119
- },
120
- "if": {
121
- "properties": {
122
- "ok": {
123
- "const": true
124
- }
125
- }
126
- },
127
- "then": {
128
- "required": [
129
- "keep",
130
- "noKillsYet",
131
- "gaps",
132
- "rest",
133
- "pruning",
134
- "full"
135
- ]
136
- }
137
- }
@@ -1,53 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/queue.claim.schema.json",
4
- "title": "probatio queue.claim",
5
- "description": "Claims a queue item with a lease, by atomic rename. Every command prints one JSON object. schemaVersion changes when a field is renamed, removed, or changes meaning. A new field does not change it.",
6
- "type": "object",
7
- "required": [
8
- "schemaVersion",
9
- "ok",
10
- "command",
11
- "summary",
12
- "next",
13
- "nextCall"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": 2
18
- },
19
- "ok": {
20
- "type": "boolean"
21
- },
22
- "command": {
23
- "const": "queue.claim"
24
- },
25
- "summary": {
26
- "type": "string"
27
- },
28
- "next": {
29
- "type": "string"
30
- },
31
- "nextCall": {
32
- "oneOf": [
33
- {
34
- "type": "null"
35
- },
36
- {
37
- "type": "object",
38
- "properties": {
39
- "argv": {
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- }
45
- },
46
- "required": [
47
- "argv"
48
- ]
49
- }
50
- ]
51
- }
52
- }
53
- }
@@ -1,71 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/queue.reap.schema.json",
4
- "title": "probatio queue.reap",
5
- "description": "Moves expired claims back to the queue. Every command prints one JSON object. schemaVersion changes when a field is renamed, removed, or changes meaning. A new field does not change it.",
6
- "type": "object",
7
- "required": [
8
- "schemaVersion",
9
- "ok",
10
- "command",
11
- "summary",
12
- "next",
13
- "nextCall"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": 2
18
- },
19
- "ok": {
20
- "type": "boolean"
21
- },
22
- "command": {
23
- "const": "queue.reap"
24
- },
25
- "summary": {
26
- "type": "string"
27
- },
28
- "next": {
29
- "type": "string"
30
- },
31
- "nextCall": {
32
- "oneOf": [
33
- {
34
- "type": "null"
35
- },
36
- {
37
- "type": "object",
38
- "properties": {
39
- "argv": {
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- }
45
- },
46
- "required": [
47
- "argv"
48
- ]
49
- }
50
- ]
51
- },
52
- "returned": {
53
- "type": "array",
54
- "items": {
55
- "type": "string"
56
- }
57
- }
58
- },
59
- "if": {
60
- "properties": {
61
- "ok": {
62
- "const": true
63
- }
64
- }
65
- },
66
- "then": {
67
- "required": [
68
- "returned"
69
- ]
70
- }
71
- }
@@ -1,71 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/queue.seed.schema.json",
4
- "title": "probatio queue.seed",
5
- "description": "Writes one queue item per gap. Every command prints one JSON object. schemaVersion changes when a field is renamed, removed, or changes meaning. A new field does not change it.",
6
- "type": "object",
7
- "required": [
8
- "schemaVersion",
9
- "ok",
10
- "command",
11
- "summary",
12
- "next",
13
- "nextCall"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": 2
18
- },
19
- "ok": {
20
- "type": "boolean"
21
- },
22
- "command": {
23
- "const": "queue.seed"
24
- },
25
- "summary": {
26
- "type": "string"
27
- },
28
- "next": {
29
- "type": "string"
30
- },
31
- "nextCall": {
32
- "oneOf": [
33
- {
34
- "type": "null"
35
- },
36
- {
37
- "type": "object",
38
- "properties": {
39
- "argv": {
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- }
45
- },
46
- "required": [
47
- "argv"
48
- ]
49
- }
50
- ]
51
- },
52
- "seeded": {
53
- "type": "array",
54
- "items": {
55
- "type": "string"
56
- }
57
- }
58
- },
59
- "if": {
60
- "properties": {
61
- "ok": {
62
- "const": true
63
- }
64
- }
65
- },
66
- "then": {
67
- "required": [
68
- "seeded"
69
- ]
70
- }
71
- }