@stsepelin/checktrail 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (49) hide show
  1. package/README.md +14 -6
  2. package/dist/src/adapters.js +3 -1
  3. package/dist/src/architecture.d.ts +1 -1
  4. package/dist/src/contract-schema.d.ts +1 -1
  5. package/dist/src/contracts.d.ts +1 -1
  6. package/dist/src/evidence.js +2 -1
  7. package/dist/src/finding-policy-schema.d.ts +1 -1
  8. package/dist/src/go-scope-policy.d.ts +11 -0
  9. package/dist/src/go-scope-policy.js +50 -0
  10. package/dist/src/go-scope.d.ts +1 -1
  11. package/dist/src/go-scope.js +42 -5
  12. package/dist/src/output.js +6 -0
  13. package/dist/src/report-validation.d.ts +7 -0
  14. package/dist/src/runtime-inventory.d.ts +2 -2
  15. package/dist/src/schemas.d.ts +17 -0
  16. package/dist/src/schemas.js +16 -2
  17. package/dist/src/types.d.ts +4 -1
  18. package/dist/src/types.js +1 -1
  19. package/dist/src/typescript-arguments.d.ts +4 -0
  20. package/dist/src/typescript-arguments.js +10 -0
  21. package/dist/src/typescript-runner.d.ts +1 -0
  22. package/dist/src/typescript-runner.js +19 -0
  23. package/dist/src/typescript.js +3 -9
  24. package/dist/src/vue-tsc-runner.js +2 -1
  25. package/docs/ACCEPTANCE.md +24 -13
  26. package/docs/CLIENTS.md +6 -4
  27. package/docs/GO-RACE.md +4 -2
  28. package/docs/GO-SCOPE.md +70 -5
  29. package/docs/INSTALLATION.md +6 -6
  30. package/docs/LANGUAGES.md +16 -1
  31. package/docs/MCP-COMPATIBILITY.md +6 -0
  32. package/docs/NATIVE-CI.md +4 -0
  33. package/docs/ONBOARDING.md +8 -2
  34. package/docs/PUBLIC-ADOPTION.md +118 -0
  35. package/docs/RELEASE.md +77 -20
  36. package/docs/SETUP-SCOPES.md +107 -0
  37. package/docs/STATUS.md +33 -11
  38. package/docs/TYPESCRIPT.md +78 -0
  39. package/docs/measurements/go-scope-policy-replay.json +91 -0
  40. package/docs/measurements/public-adoption-alpha2.json +2034 -0
  41. package/docs/measurements/release-alpha3.json +362 -0
  42. package/docs/measurements/typescript-legacy-replay.json +39 -0
  43. package/package.json +1 -1
  44. package/schemas/go-scope-policy.schema.json +31 -0
  45. package/schemas/plan-summary.schema.json +6 -1
  46. package/schemas/plan.schema.json +30 -0
  47. package/schemas/report-summary.schema.json +5 -0
  48. package/schemas/report.schema.json +30 -0
  49. package/server.json +2 -2
@@ -0,0 +1,362 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "version": "0.1.0-alpha.3",
4
+ "sourceCommit": "b0b447d5ea8973b3e427e179201a44b7baa1ca91",
5
+ "artifactSha256": "261d10acbac14dcd5d74f4b248a390e5790f22461fecd597e29b8044aef2daeb",
6
+ "hostedCi": {
7
+ "url": "https://github.com/stsepelin/checktrail/actions/runs/35597877167",
8
+ "conclusion": "success"
9
+ },
10
+ "publication": {
11
+ "package": "@stsepelin/checktrail",
12
+ "version": "0.1.0-alpha.3",
13
+ "tag": "next",
14
+ "distTags": {
15
+ "latest": "0.1.0-alpha.1",
16
+ "next": "0.1.0-alpha.3"
17
+ },
18
+ "publicMetadata": true,
19
+ "tarballSha256": "261d10acbac14dcd5d74f4b248a390e5790f22461fecd597e29b8044aef2daeb",
20
+ "integrity": "sha512-ldfts+m07oC1DHMKirDJ9GeoZvsFrP5wqDAjWmuVHuEbsqtZERlgjJZWq7zQhQzfnCMSmI63sctMvisVVCc/jw==",
21
+ "registryTarballMatchesApproved": true,
22
+ "installation": "fresh-consumer-and-cache-from-npm-registry",
23
+ "observations": [
24
+ "installed-library-passed",
25
+ "installed-cli-passed-summary-private",
26
+ "generated-npx-fresh-cache-plan-and-trust-denial",
27
+ "generated-npx-warm-cache-plan-and-trust-denial",
28
+ "installed-init-doctor-and-mcp-config",
29
+ "installed-mcp-plan-and-trust-denial",
30
+ "installed-mcp-passed-and-retained-report",
31
+ "installed-mcp-failed-and-retained-report",
32
+ "installed-mcp-incomplete-and-retained-report"
33
+ ],
34
+ "node": "v26.8.1",
35
+ "platform": "darwin",
36
+ "arch": "arm64",
37
+ "recordedAt": "2026-09-21T12:26:03.801Z"
38
+ },
39
+ "registry": {
40
+ "url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.stsepelin%2Fchecktrail/versions/0.1.0-alpha.3",
41
+ "version": "0.1.0-alpha.3",
42
+ "status": "active",
43
+ "metadataMatches": true,
44
+ "executionDisabled": true,
45
+ "recordedAt": "2026-09-21T12:26:54.618Z"
46
+ },
47
+ "githubRelease": "https://github.com/stsepelin/checktrail/releases/tag/v0.1.0-alpha.3",
48
+ "clients": [
49
+ {
50
+ "schemaVersion": 1,
51
+ "recordedAt": "2026-09-21T12:05:04.502Z",
52
+ "profile": "claude-code-health-discovery",
53
+ "clientVersion": "2.1.263 (Claude Code)",
54
+ "runtime": {
55
+ "node": "26.8.1",
56
+ "platform": "darwin",
57
+ "arch": "arm64"
58
+ },
59
+ "package": {
60
+ "name": "@stsepelin/checktrail",
61
+ "version": "0.1.0-alpha.3",
62
+ "tarballSha256": "261d10acbac14dcd5d74f4b248a390e5790f22461fecd597e29b8044aef2daeb",
63
+ "runtimeArtifactsSha256": "372f3ea20d04135591c40ada27ecf4cdd8187b5f6c608f3d7b982a60b2fc625f"
64
+ },
65
+ "harnessSha256": "254e469de77d6e906e323822cf9898f53f6818ca9aab511c3b3e70dbe63a4cb5",
66
+ "observations": [
67
+ {
68
+ "check": "health-and-discovery",
69
+ "outcome": "passed",
70
+ "warnings": []
71
+ }
72
+ ],
73
+ "connections": [
74
+ {
75
+ "label": "readonly",
76
+ "starts": 1,
77
+ "observedExits": 1,
78
+ "processesStopped": true,
79
+ "exits": [
80
+ {
81
+ "code": 130,
82
+ "signal": null
83
+ }
84
+ ],
85
+ "requestedProtocol": "2025-11-25",
86
+ "negotiatedProtocol": "2025-11-25",
87
+ "tools": [
88
+ "architecture_validation",
89
+ "contract_validation",
90
+ "finding_comparison",
91
+ "mutation_experiment",
92
+ "project_context",
93
+ "review_context",
94
+ "review_guidance",
95
+ "review_receipt",
96
+ "runtime_comparison",
97
+ "validation_plan",
98
+ "validation_report",
99
+ "validation_run"
100
+ ]
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ "schemaVersion": 1,
106
+ "recordedAt": "2026-09-21T12:05:04.498Z",
107
+ "profile": "codex-app-server-direct-tools",
108
+ "clientVersion": "codex-cli 0.154.0",
109
+ "runtime": {
110
+ "node": "26.8.1",
111
+ "platform": "darwin",
112
+ "arch": "arm64"
113
+ },
114
+ "package": {
115
+ "name": "@stsepelin/checktrail",
116
+ "version": "0.1.0-alpha.3",
117
+ "tarballSha256": "261d10acbac14dcd5d74f4b248a390e5790f22461fecd597e29b8044aef2daeb",
118
+ "runtimeArtifactsSha256": "372f3ea20d04135591c40ada27ecf4cdd8187b5f6c608f3d7b982a60b2fc625f"
119
+ },
120
+ "harnessSha256": "254e469de77d6e906e323822cf9898f53f6818ca9aab511c3b3e70dbe63a4cb5",
121
+ "observations": [
122
+ {
123
+ "check": "project_context",
124
+ "outcome": "passed",
125
+ "checks": [
126
+ {
127
+ "id": "javascript.node-test",
128
+ "kind": "test",
129
+ "ready": true
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "check": "validation_plan",
135
+ "outcome": "passed",
136
+ "checks": [
137
+ {
138
+ "id": "javascript.node-test",
139
+ "kind": "test",
140
+ "ready": true
141
+ }
142
+ ]
143
+ },
144
+ {
145
+ "check": "guidance-https-result",
146
+ "outcome": "passed",
147
+ "references": ["https://nodejs.org/api/test.html"]
148
+ },
149
+ {
150
+ "check": "default-execution-denied",
151
+ "outcome": "passed"
152
+ },
153
+ {
154
+ "check": "tool-cannot-grant-trust",
155
+ "outcome": "passed"
156
+ },
157
+ {
158
+ "check": "native-passed-and-report",
159
+ "outcome": "passed",
160
+ "validationOutcome": "passed",
161
+ "sourceChanged": false,
162
+ "checks": [
163
+ {
164
+ "id": "javascript.node-test",
165
+ "status": "passed",
166
+ "tests": {
167
+ "total": 1,
168
+ "passed": 1,
169
+ "failed": 0,
170
+ "skipped": 0
171
+ }
172
+ }
173
+ ],
174
+ "retainedReportEqual": true
175
+ },
176
+ {
177
+ "check": "native-failed-and-report",
178
+ "outcome": "passed",
179
+ "validationOutcome": "failed",
180
+ "sourceChanged": false,
181
+ "checks": [
182
+ {
183
+ "id": "javascript.node-test",
184
+ "status": "failed",
185
+ "tests": {
186
+ "total": 1,
187
+ "passed": 0,
188
+ "failed": 1,
189
+ "skipped": 0
190
+ }
191
+ }
192
+ ],
193
+ "retainedReportEqual": true
194
+ },
195
+ {
196
+ "check": "all-skipped-is-incomplete",
197
+ "outcome": "passed",
198
+ "validationOutcome": "incomplete",
199
+ "checks": [
200
+ {
201
+ "id": "javascript.node-test",
202
+ "status": "inconclusive",
203
+ "tests": {
204
+ "total": 1,
205
+ "passed": 0,
206
+ "failed": 0,
207
+ "skipped": 1
208
+ }
209
+ }
210
+ ]
211
+ }
212
+ ],
213
+ "providerRequests": [
214
+ {
215
+ "method": "GET",
216
+ "path": "/models?client_version=0.154.0"
217
+ }
218
+ ],
219
+ "inferenceRequests": 0,
220
+ "connections": [
221
+ {
222
+ "label": "readonly",
223
+ "starts": 2,
224
+ "observedExits": 2,
225
+ "processesStopped": true,
226
+ "exits": [
227
+ {
228
+ "code": 143,
229
+ "signal": null
230
+ },
231
+ {
232
+ "code": null,
233
+ "signal": "SIGTERM"
234
+ }
235
+ ],
236
+ "requestedProtocol": "2025-06-18",
237
+ "negotiatedProtocol": "2025-06-18",
238
+ "tools": [
239
+ "architecture_validation",
240
+ "contract_validation",
241
+ "finding_comparison",
242
+ "mutation_experiment",
243
+ "project_context",
244
+ "review_context",
245
+ "review_guidance",
246
+ "review_receipt",
247
+ "runtime_comparison",
248
+ "validation_plan",
249
+ "validation_report",
250
+ "validation_run"
251
+ ]
252
+ },
253
+ {
254
+ "label": "trusted",
255
+ "starts": 2,
256
+ "observedExits": 2,
257
+ "processesStopped": true,
258
+ "exits": [
259
+ {
260
+ "code": null,
261
+ "signal": "SIGTERM"
262
+ },
263
+ {
264
+ "code": null,
265
+ "signal": "SIGTERM"
266
+ }
267
+ ],
268
+ "requestedProtocol": "2025-06-18",
269
+ "negotiatedProtocol": "2025-06-18",
270
+ "tools": [
271
+ "architecture_validation",
272
+ "contract_validation",
273
+ "finding_comparison",
274
+ "mutation_experiment",
275
+ "project_context",
276
+ "review_context",
277
+ "review_guidance",
278
+ "review_receipt",
279
+ "runtime_comparison",
280
+ "validation_plan",
281
+ "validation_report",
282
+ "validation_run"
283
+ ]
284
+ }
285
+ ]
286
+ }
287
+ ],
288
+ "upgrade": {
289
+ "hashes": {
290
+ "baseline": "ffd0564f40a12a238a52fe25fe8c34fb36cf6f6480be7b6994bab82a3bd657fb",
291
+ "candidate": "261d10acbac14dcd5d74f4b248a390e5790f22461fecd597e29b8044aef2daeb"
292
+ },
293
+ "stages": [
294
+ {
295
+ "phase": "baseline",
296
+ "version": "0.1.0-alpha.2",
297
+ "cli": "passed",
298
+ "mcp": "passed",
299
+ "configuration": "unchanged"
300
+ },
301
+ {
302
+ "phase": "upgrade",
303
+ "version": "0.1.0-alpha.3",
304
+ "cli": "passed",
305
+ "mcp": "passed",
306
+ "configuration": "unchanged"
307
+ },
308
+ {
309
+ "phase": "rollback",
310
+ "version": "0.1.0-alpha.2",
311
+ "cli": "passed",
312
+ "mcp": "passed",
313
+ "configuration": "unchanged"
314
+ }
315
+ ],
316
+ "installation": "offline",
317
+ "priorReportImport": "passed"
318
+ },
319
+ "typescriptReplay": {
320
+ "scope": "Known-case regression replay measured on the approved release candidate before publication; not an independent cohort.",
321
+ "upstreamCommit": "6b41670516ed8e8b738612f60491995470aa63b3",
322
+ "baseCommit": "b36f0fb4942b5d9e5edf261d4dba3807bb5475b6",
323
+ "tarballSha256": "261d10acbac14dcd5d74f4b248a390e5790f22461fecd597e29b8044aef2daeb",
324
+ "sources": {
325
+ "src/typescript.ts": "41c67abb8f2537aa5429b2f31e48dd39ebc841d63faecbcb12ed6ee33923faf0",
326
+ "src/typescript-runner.ts": "39d43415306448a71b428fdf8a43afeffdf28712eff601739afe4091712ff8d9",
327
+ "src/typescript-arguments.ts": "c797b29ca728adc554337837d4a2dd8b58aab252822e9926354736881c323852",
328
+ "src/vue-tsc-runner.ts": "22221b3309b4c40cce113d67d62ff20e2fe222af4f7881f6dee4e5fccdff1f0a"
329
+ },
330
+ "platform": "darwin",
331
+ "arch": "arm64",
332
+ "node": "v26.8.1",
333
+ "observations": [
334
+ {
335
+ "phase": "valid",
336
+ "nativeExitCode": 0,
337
+ "cliExitCode": 0,
338
+ "cli": "passed",
339
+ "library": "passed",
340
+ "mcp": "passed",
341
+ "sourceChanged": false,
342
+ "compiler": "4.9.5",
343
+ "diagnostic": null
344
+ },
345
+ {
346
+ "phase": "invalid",
347
+ "nativeExitCode": 2,
348
+ "cliExitCode": 1,
349
+ "cli": "failed",
350
+ "library": "failed",
351
+ "mcp": "failed",
352
+ "sourceChanged": false,
353
+ "compiler": "4.9.5",
354
+ "diagnostic": "TS2322"
355
+ }
356
+ ]
357
+ },
358
+ "limits": [
359
+ "Named client profiles and pinned known-case replay only; no general effectiveness or broader compatibility claim.",
360
+ "Recorded tags describe publication-time state."
361
+ ]
362
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "scope": "Known-case regression replay against an unreleased local package; not a new independent cohort or published release",
3
+ "upstreamCommit": "6b41670516ed8e8b738612f60491995470aa63b3",
4
+ "baseCommit": "e2acd95b8e4896d0975221335ee23b6a03712a9c",
5
+ "tarballSha256": "87dc9f59e17354b2fb9764877606e16c704a008d2607a7906f985a544ce5c417",
6
+ "sources": {
7
+ "src/typescript.ts": "41c67abb8f2537aa5429b2f31e48dd39ebc841d63faecbcb12ed6ee33923faf0",
8
+ "src/typescript-runner.ts": "39d43415306448a71b428fdf8a43afeffdf28712eff601739afe4091712ff8d9",
9
+ "src/typescript-arguments.ts": "c797b29ca728adc554337837d4a2dd8b58aab252822e9926354736881c323852",
10
+ "src/vue-tsc-runner.ts": "22221b3309b4c40cce113d67d62ff20e2fe222af4f7881f6dee4e5fccdff1f0a"
11
+ },
12
+ "platform": "darwin",
13
+ "arch": "arm64",
14
+ "node": "v26.8.1",
15
+ "observations": [
16
+ {
17
+ "phase": "valid",
18
+ "nativeExitCode": 0,
19
+ "cliExitCode": 0,
20
+ "cli": "passed",
21
+ "library": "passed",
22
+ "mcp": "passed",
23
+ "sourceChanged": false,
24
+ "compiler": "4.9.5",
25
+ "diagnostic": null
26
+ },
27
+ {
28
+ "phase": "invalid",
29
+ "nativeExitCode": 2,
30
+ "cliExitCode": 1,
31
+ "cli": "failed",
32
+ "library": "failed",
33
+ "mcp": "failed",
34
+ "sourceChanged": false,
35
+ "compiler": "4.9.5",
36
+ "diagnostic": "TS2322"
37
+ }
38
+ ]
39
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stsepelin/checktrail",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.4",
4
4
  "mcpName": "io.github.stsepelin/checktrail",
5
5
  "description": "Local code validation with execution evidence, a CLI, and MCP tools.",
6
6
  "type": "module",
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": { "type": "number", "const": 1 },
6
+ "excludedFiles": {
7
+ "maxItems": 1000,
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "path": {
13
+ "type": "string",
14
+ "maxLength": 4096,
15
+ "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))(?!.*\\/\\/)(?!.*[\\\\*?[\\]{}])[\\u0020-\\u007e\\u0080-\\uffff]+\\.go$"
16
+ },
17
+ "reason": {
18
+ "type": "string",
19
+ "minLength": 1,
20
+ "maxLength": 1000,
21
+ "pattern": "\\S"
22
+ }
23
+ },
24
+ "required": ["path", "reason"],
25
+ "additionalProperties": false
26
+ }
27
+ }
28
+ },
29
+ "required": ["schemaVersion", "excludedFiles"],
30
+ "additionalProperties": false
31
+ }
@@ -44,7 +44,12 @@
44
44
  "type": "string",
45
45
  "enum": ["format", "analysis", "test", "syntax", "unsupported"]
46
46
  },
47
- "ready": { "type": "boolean" }
47
+ "ready": { "type": "boolean" },
48
+ "goExcludedFileCount": {
49
+ "type": "integer",
50
+ "minimum": 0,
51
+ "maximum": 9007199254740991
52
+ }
48
53
  },
49
54
  "required": ["id", "kind", "ready"],
50
55
  "additionalProperties": false
@@ -97,6 +97,36 @@
97
97
  "adapter": { "type": "string" },
98
98
  "project": { "type": "string" },
99
99
  "scope": { "type": "array", "items": { "type": "string" } },
100
+ "goScope": {
101
+ "type": "object",
102
+ "properties": {
103
+ "schemaVersion": { "type": "number", "const": 1 },
104
+ "excludedFiles": {
105
+ "maxItems": 1000,
106
+ "type": "array",
107
+ "items": {
108
+ "type": "object",
109
+ "properties": {
110
+ "path": {
111
+ "type": "string",
112
+ "maxLength": 4096,
113
+ "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))(?!.*\\/\\/)(?!.*[\\\\*?[\\]{}])[\\u0020-\\u007e\\u0080-\\uffff]+\\.go$"
114
+ },
115
+ "reason": {
116
+ "type": "string",
117
+ "minLength": 1,
118
+ "maxLength": 1000,
119
+ "pattern": "\\S"
120
+ }
121
+ },
122
+ "required": ["path", "reason"],
123
+ "additionalProperties": false
124
+ }
125
+ }
126
+ },
127
+ "required": ["schemaVersion", "excludedFiles"],
128
+ "additionalProperties": false
129
+ },
100
130
  "kind": {
101
131
  "type": "string",
102
132
  "enum": ["format", "analysis", "test", "syntax", "unsupported"]
@@ -79,6 +79,11 @@
79
79
  },
80
80
  "required": ["total", "passed", "failed", "skipped"],
81
81
  "additionalProperties": false
82
+ },
83
+ "goExcludedFileCount": {
84
+ "type": "integer",
85
+ "minimum": 0,
86
+ "maximum": 9007199254740991
82
87
  }
83
88
  },
84
89
  "required": ["id", "status"],
@@ -94,6 +94,36 @@
94
94
  "adapter": { "type": "string" },
95
95
  "project": { "type": "string" },
96
96
  "scope": { "type": "array", "items": { "type": "string" } },
97
+ "goScope": {
98
+ "type": "object",
99
+ "properties": {
100
+ "schemaVersion": { "type": "number", "const": 1 },
101
+ "excludedFiles": {
102
+ "maxItems": 1000,
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "properties": {
107
+ "path": {
108
+ "type": "string",
109
+ "maxLength": 4096,
110
+ "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))(?!.*\\/\\/)(?!.*[\\\\*?[\\]{}])[\\u0020-\\u007e\\u0080-\\uffff]+\\.go$"
111
+ },
112
+ "reason": {
113
+ "type": "string",
114
+ "minLength": 1,
115
+ "maxLength": 1000,
116
+ "pattern": "\\S"
117
+ }
118
+ },
119
+ "required": ["path", "reason"],
120
+ "additionalProperties": false
121
+ }
122
+ }
123
+ },
124
+ "required": ["schemaVersion", "excludedFiles"],
125
+ "additionalProperties": false
126
+ },
97
127
  "status": {
98
128
  "type": "string",
99
129
  "enum": [
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.stsepelin/checktrail",
4
4
  "title": "Checktrail",
5
5
  "description": "Local code validation with explicit execution trust and evidence of what actually ran.",
6
- "version": "0.1.0-alpha.2",
6
+ "version": "0.1.0-alpha.4",
7
7
  "repository": {
8
8
  "url": "https://github.com/stsepelin/checktrail",
9
9
  "source": "github"
@@ -13,7 +13,7 @@
13
13
  "registryType": "npm",
14
14
  "registryBaseUrl": "https://registry.npmjs.org",
15
15
  "identifier": "@stsepelin/checktrail",
16
- "version": "0.1.0-alpha.2",
16
+ "version": "0.1.0-alpha.4",
17
17
  "runtimeHint": "npx",
18
18
  "transport": {
19
19
  "type": "stdio"