probatio 0.3.0 → 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.
Files changed (74) hide show
  1. package/README.md +10 -198
  2. package/bin/probatio.js +52 -0
  3. package/package.json +21 -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,143 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/ledger.check.schema.json",
4
- "title": "probatio ledger.check",
5
- "description": "Runs every ledger bug and compares each outcome with ledger/<id>.golden.json. A caught bug that is not caught now is a regression. 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": "ledger.check"
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
- "caught": {
53
- "type": "integer",
54
- "minimum": 0
55
- },
56
- "total": {
57
- "type": "integer",
58
- "minimum": 0
59
- },
60
- "regressed": {
61
- "type": "array",
62
- "items": {
63
- "type": "string"
64
- }
65
- },
66
- "changed": {
67
- "type": "array",
68
- "items": {
69
- "type": "string"
70
- }
71
- },
72
- "unrecorded": {
73
- "type": "array",
74
- "items": {
75
- "type": "string"
76
- }
77
- },
78
- "rows": {
79
- "type": "array",
80
- "items": {
81
- "type": "object",
82
- "properties": {
83
- "id": {
84
- "type": "string"
85
- },
86
- "recorded": {
87
- "type": [
88
- "string",
89
- "null"
90
- ]
91
- },
92
- "actual": {
93
- "type": "string"
94
- },
95
- "next": {
96
- "type": "string"
97
- }
98
- },
99
- "required": [
100
- "id",
101
- "recorded",
102
- "actual"
103
- ]
104
- }
105
- },
106
- "run": {
107
- "type": "object",
108
- "properties": {
109
- "summary": {
110
- "type": "string"
111
- },
112
- "commit": {
113
- "type": "string"
114
- },
115
- "full": {
116
- "type": "string"
117
- }
118
- },
119
- "required": [
120
- "summary",
121
- "commit"
122
- ]
123
- }
124
- },
125
- "if": {
126
- "properties": {
127
- "ok": {
128
- "const": true
129
- }
130
- }
131
- },
132
- "then": {
133
- "required": [
134
- "caught",
135
- "total",
136
- "regressed",
137
- "changed",
138
- "unrecorded",
139
- "rows",
140
- "run"
141
- ]
142
- }
143
- }
@@ -1,129 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/matrix.report.schema.json",
4
- "title": "probatio matrix.report",
5
- "description": "Reads recorded score tables. The headline is the gap list. 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": "matrix.report"
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
- "rows": {
53
- "type": "array"
54
- },
55
- "collapse": {
56
- "type": "object"
57
- },
58
- "gaps": {
59
- "type": "array",
60
- "items": {
61
- "type": "object",
62
- "properties": {
63
- "id": {
64
- "type": "string"
65
- },
66
- "file": {
67
- "type": "string"
68
- },
69
- "line": {
70
- "type": "integer",
71
- "minimum": 0
72
- },
73
- "op": {
74
- "type": "string"
75
- }
76
- },
77
- "required": [
78
- "id",
79
- "file",
80
- "line"
81
- ]
82
- }
83
- },
84
- "rest": {
85
- "type": "integer",
86
- "minimum": 0
87
- },
88
- "pruning": {
89
- "type": "object",
90
- "properties": {
91
- "mode": {
92
- "const": "advisory"
93
- },
94
- "deletedTests": {
95
- "const": 0
96
- },
97
- "advice": {
98
- "type": "array",
99
- "items": {
100
- "type": "string"
101
- }
102
- }
103
- },
104
- "required": [
105
- "mode",
106
- "deletedTests"
107
- ]
108
- },
109
- "full": {
110
- "type": "string"
111
- }
112
- },
113
- "if": {
114
- "properties": {
115
- "ok": {
116
- "const": true
117
- }
118
- }
119
- },
120
- "then": {
121
- "required": [
122
- "rows",
123
- "gaps",
124
- "rest",
125
- "pruning",
126
- "full"
127
- ]
128
- }
129
- }
@@ -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/mcp.schema.json",
4
- "title": "probatio mcp",
5
- "description": "Printed by the MCP server only when Node is too old to run 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": "mcp"
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,127 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/IronAdamant/Probatio/blob/main/schemas/mutate.generate.schema.json",
4
- "title": "probatio mutate.generate",
5
- "description": "Writes operator mutants as forward patches. Strings and comments are never mutated. 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.generate"
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
- "mutantCount": {
53
- "type": "integer",
54
- "minimum": 0
55
- },
56
- "operators": {
57
- "enum": [
58
- "core",
59
- "wide"
60
- ]
61
- },
62
- "stringLiteralMutants": {
63
- "type": "integer",
64
- "minimum": 0
65
- },
66
- "filesVisited": {
67
- "type": "integer",
68
- "minimum": 0
69
- },
70
- "budgetHit": {
71
- "type": "boolean"
72
- },
73
- "mutants": {
74
- "type": "array",
75
- "items": {
76
- "type": "object",
77
- "properties": {
78
- "id": {
79
- "type": "string"
80
- },
81
- "file": {
82
- "type": "string"
83
- },
84
- "line": {
85
- "type": "integer",
86
- "minimum": 0
87
- },
88
- "op": {
89
- "type": "string"
90
- }
91
- },
92
- "required": [
93
- "id",
94
- "file",
95
- "line",
96
- "op"
97
- ]
98
- }
99
- },
100
- "rest": {
101
- "type": "integer",
102
- "minimum": 0
103
- },
104
- "full": {
105
- "type": "string"
106
- }
107
- },
108
- "if": {
109
- "properties": {
110
- "ok": {
111
- "const": true
112
- }
113
- }
114
- },
115
- "then": {
116
- "required": [
117
- "mutantCount",
118
- "operators",
119
- "stringLiteralMutants",
120
- "filesVisited",
121
- "budgetHit",
122
- "mutants",
123
- "rest",
124
- "full"
125
- ]
126
- }
127
- }
@@ -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.help.schema.json",
4
- "title": "probatio mutate.help",
5
- "description": "Usage, or a command that could not be parsed. 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.help"
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
- }