@enwithai/product-check 0.1.0 → 0.3.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 (102) hide show
  1. package/ATTRIBUTION.md +6 -6
  2. package/CHANGELOG.md +66 -0
  3. package/NOTICE.md +5 -3
  4. package/README.md +34 -19
  5. package/SECURITY.md +5 -1
  6. package/dashboard/assurance.css +71 -0
  7. package/dashboard/assurance.js +21 -0
  8. package/dashboard/dashboard.css +6 -0
  9. package/dist/assurance/adapters.d.ts +32 -0
  10. package/dist/assurance/adapters.js +76 -0
  11. package/dist/assurance/approvals.d.ts +34 -0
  12. package/dist/assurance/approvals.js +133 -0
  13. package/dist/assurance/cli.d.ts +13 -0
  14. package/dist/assurance/cli.js +863 -0
  15. package/dist/assurance/dashboard.d.ts +18 -0
  16. package/dist/assurance/dashboard.js +267 -0
  17. package/dist/assurance/diff.d.ts +20 -0
  18. package/dist/assurance/diff.js +99 -0
  19. package/dist/assurance/evidence-log.d.ts +20 -0
  20. package/dist/assurance/evidence-log.js +100 -0
  21. package/dist/assurance/fix-packets.d.ts +12 -0
  22. package/dist/assurance/fix-packets.js +178 -0
  23. package/dist/assurance/gate.d.ts +37 -0
  24. package/dist/assurance/gate.js +324 -0
  25. package/dist/assurance/lanes.d.ts +61 -0
  26. package/dist/assurance/lanes.js +380 -0
  27. package/dist/assurance/policy.d.ts +10 -0
  28. package/dist/assurance/policy.js +85 -0
  29. package/dist/assurance/proof.d.ts +35 -0
  30. package/dist/assurance/proof.js +146 -0
  31. package/dist/assurance/register.d.ts +41 -0
  32. package/dist/assurance/register.js +480 -0
  33. package/dist/assurance/render-md.d.ts +17 -0
  34. package/dist/assurance/render-md.js +212 -0
  35. package/dist/assurance/repo-state.d.ts +15 -0
  36. package/dist/assurance/repo-state.js +79 -0
  37. package/dist/assurance/review.d.ts +52 -0
  38. package/dist/assurance/review.js +408 -0
  39. package/dist/assurance/risk.d.ts +21 -0
  40. package/dist/assurance/risk.js +184 -0
  41. package/dist/assurance/types.d.ts +573 -0
  42. package/dist/assurance/types.js +6 -0
  43. package/dist/assurance/util.d.ts +24 -0
  44. package/dist/assurance/util.js +89 -0
  45. package/dist/assurance/verification.d.ts +30 -0
  46. package/dist/assurance/verification.js +212 -0
  47. package/dist/assurance/verify.d.ts +26 -0
  48. package/dist/assurance/verify.js +304 -0
  49. package/dist/blueprint/build.d.ts +3 -1
  50. package/dist/blueprint/build.js +41 -5
  51. package/dist/cli/run.js +103 -5
  52. package/dist/contract/contract.d.ts +4 -0
  53. package/dist/contract/contract.js +16 -0
  54. package/dist/dashboard/render.d.ts +5 -0
  55. package/dist/dashboard/render.js +107 -3
  56. package/dist/discovery/pops.d.ts +2 -0
  57. package/dist/discovery/pops.js +7 -5
  58. package/dist/exec/process.d.ts +27 -0
  59. package/dist/exec/process.js +175 -0
  60. package/dist/importers/operational.d.ts +56 -0
  61. package/dist/importers/operational.js +217 -0
  62. package/dist/importers/reports.d.ts +24 -0
  63. package/dist/importers/reports.js +37 -1
  64. package/dist/inspectors/source/surface.d.ts +30 -0
  65. package/dist/inspectors/source/surface.js +529 -0
  66. package/dist/parse/yaml.d.ts +4 -0
  67. package/dist/parse/yaml.js +39 -0
  68. package/dist/reporting/markdown.d.ts +1 -0
  69. package/dist/reporting/markdown.js +18 -1
  70. package/dist/reporting/spec-markdown.d.ts +9 -0
  71. package/dist/reporting/spec-markdown.js +144 -0
  72. package/dist/run.d.ts +2 -0
  73. package/dist/run.js +52 -2
  74. package/dist/schema/registry.js +10 -0
  75. package/dist/scoring/score.js +1 -1
  76. package/dist/spec/build.d.ts +28 -0
  77. package/dist/spec/build.js +278 -0
  78. package/dist/types.d.ts +78 -2
  79. package/dist/types.js +6 -1
  80. package/dist/validation/catalog.d.ts +1 -1
  81. package/dist/validation/catalog.js +125 -2
  82. package/dist/validation/context.d.ts +6 -1
  83. package/dist/validation/import-evaluators.js +37 -3
  84. package/dist/validation/integrity.js +4 -0
  85. package/dist/validation/operational-evaluators.d.ts +3 -0
  86. package/dist/validation/operational-evaluators.js +153 -0
  87. package/dist/validation/source-evaluators.js +1 -1
  88. package/package.json +4 -1
  89. package/schemas/approval.schema.json +98 -0
  90. package/schemas/as-built-spec.schema.json +356 -0
  91. package/schemas/assurance-common.schema.json +291 -0
  92. package/schemas/assurance-policy.schema.json +185 -0
  93. package/schemas/blueprint.schema.json +3 -0
  94. package/schemas/change-review.schema.json +711 -0
  95. package/schemas/closure-register.schema.json +499 -0
  96. package/schemas/evidence-record.schema.json +94 -0
  97. package/schemas/fix-packet.schema.json +272 -0
  98. package/schemas/release-gate.schema.json +308 -0
  99. package/schemas/reviewer-findings.schema.json +49 -0
  100. package/schemas/scan-contract.schema.json +20 -0
  101. package/schemas/scorecard.schema.json +1 -1
  102. package/schemas/verification-run.schema.json +199 -0
@@ -0,0 +1,199 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/enwithai/product-check/schemas/verification-run.schema.json",
4
+ "title": "Product Check verification run",
5
+ "description": "Executed proof bound to an exact commit and environment: author-side proof (VC-P1) or closure verification (VC-P5) with targeted and regression checks and retained before/after evidence.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "kind",
11
+ "verification_id",
12
+ "purpose",
13
+ "finding_ids",
14
+ "fix_id",
15
+ "exact_sha",
16
+ "worktree_clean",
17
+ "environment",
18
+ "started_at",
19
+ "finished_at",
20
+ "checks",
21
+ "executions",
22
+ "before_evidence_ids",
23
+ "after_evidence_ids",
24
+ "after_results",
25
+ "result",
26
+ "reasons",
27
+ "limitations",
28
+ "actor"
29
+ ],
30
+ "properties": {
31
+ "schema_version": {
32
+ "$ref": "assurance-common.schema.json#/$defs/schema_version"
33
+ },
34
+ "kind": {
35
+ "const": "verification-run"
36
+ },
37
+ "verification_id": {
38
+ "type": "string",
39
+ "pattern": "^(VR-\\d{3,}|PR-[0-9A-F]{10})$"
40
+ },
41
+ "purpose": {
42
+ "enum": ["closure", "author-proof"]
43
+ },
44
+ "finding_ids": {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "string"
48
+ }
49
+ },
50
+ "fix_id": {
51
+ "type": ["string", "null"]
52
+ },
53
+ "exact_sha": {
54
+ "type": ["string", "null"],
55
+ "pattern": "^[0-9a-f]{40}([0-9a-f]{24})?$"
56
+ },
57
+ "worktree_clean": {
58
+ "type": ["boolean", "null"]
59
+ },
60
+ "environment": {
61
+ "$ref": "assurance-common.schema.json#/$defs/environment"
62
+ },
63
+ "started_at": {
64
+ "type": "string",
65
+ "format": "date-time"
66
+ },
67
+ "finished_at": {
68
+ "type": "string",
69
+ "format": "date-time"
70
+ },
71
+ "checks": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "object",
75
+ "additionalProperties": false,
76
+ "required": ["check_id", "kind", "role", "status", "detail", "execution_id", "evidence_ids"],
77
+ "properties": {
78
+ "check_id": {
79
+ "type": "string"
80
+ },
81
+ "kind": {
82
+ "enum": [
83
+ "control-reassessment",
84
+ "rule-recheck",
85
+ "command",
86
+ "no-new-critical",
87
+ "no-regressed-controls",
88
+ "gate-recheck"
89
+ ]
90
+ },
91
+ "role": {
92
+ "enum": ["targeted", "regression"]
93
+ },
94
+ "status": {
95
+ "$ref": "common.schema.json#/$defs/validation_status"
96
+ },
97
+ "detail": {
98
+ "type": "string"
99
+ },
100
+ "execution_id": {
101
+ "type": ["string", "null"]
102
+ },
103
+ "evidence_ids": {
104
+ "type": "array",
105
+ "items": {
106
+ "type": "string"
107
+ }
108
+ }
109
+ }
110
+ }
111
+ },
112
+ "executions": {
113
+ "type": "array",
114
+ "items": {
115
+ "$ref": "assurance-common.schema.json#/$defs/execution"
116
+ }
117
+ },
118
+ "before_evidence_ids": {
119
+ "type": "array",
120
+ "items": {
121
+ "type": "string"
122
+ }
123
+ },
124
+ "after_evidence_ids": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "string"
128
+ }
129
+ },
130
+ "after_results": {
131
+ "oneOf": [
132
+ {
133
+ "type": "null"
134
+ },
135
+ {
136
+ "type": "object",
137
+ "additionalProperties": false,
138
+ "required": ["run_id", "results_path", "results_sha256", "verdict", "open"],
139
+ "properties": {
140
+ "run_id": {
141
+ "type": "string"
142
+ },
143
+ "results_path": {
144
+ "type": "string"
145
+ },
146
+ "results_sha256": {
147
+ "type": "string",
148
+ "pattern": "^[0-9a-f]{64}$"
149
+ },
150
+ "verdict": {
151
+ "type": "string"
152
+ },
153
+ "open": {
154
+ "type": "object",
155
+ "additionalProperties": false,
156
+ "required": ["P0", "P1", "P2", "P3"],
157
+ "properties": {
158
+ "P0": {
159
+ "type": "integer",
160
+ "minimum": 0
161
+ },
162
+ "P1": {
163
+ "type": "integer",
164
+ "minimum": 0
165
+ },
166
+ "P2": {
167
+ "type": "integer",
168
+ "minimum": 0
169
+ },
170
+ "P3": {
171
+ "type": "integer",
172
+ "minimum": 0
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ ]
179
+ },
180
+ "result": {
181
+ "enum": ["PASS", "FAIL", "INCONCLUSIVE"]
182
+ },
183
+ "reasons": {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "string"
187
+ }
188
+ },
189
+ "limitations": {
190
+ "type": "array",
191
+ "items": {
192
+ "type": "string"
193
+ }
194
+ },
195
+ "actor": {
196
+ "$ref": "assurance-common.schema.json#/$defs/actor"
197
+ }
198
+ }
199
+ }