@stsepelin/checktrail 0.1.0-alpha.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 (385) hide show
  1. package/CONTRIBUTING.md +42 -0
  2. package/LICENSE +21 -0
  3. package/README.md +355 -0
  4. package/SECURITY.md +46 -0
  5. package/dist/src/actionlint-evidence.d.ts +2 -0
  6. package/dist/src/actionlint-evidence.js +166 -0
  7. package/dist/src/actionlint-inputs.d.ts +5 -0
  8. package/dist/src/actionlint-inputs.js +123 -0
  9. package/dist/src/actionlint-runner.d.ts +1 -0
  10. package/dist/src/actionlint-runner.js +122 -0
  11. package/dist/src/actionlint.d.ts +19 -0
  12. package/dist/src/actionlint.js +80 -0
  13. package/dist/src/adapters.d.ts +49 -0
  14. package/dist/src/adapters.js +430 -0
  15. package/dist/src/architecture.d.ts +107 -0
  16. package/dist/src/architecture.js +230 -0
  17. package/dist/src/clang-evidence.d.ts +2 -0
  18. package/dist/src/clang-evidence.js +194 -0
  19. package/dist/src/clang-protocol.d.ts +3 -0
  20. package/dist/src/clang-protocol.js +25 -0
  21. package/dist/src/clang-runner.d.ts +1 -0
  22. package/dist/src/clang-runner.js +159 -0
  23. package/dist/src/clang.d.ts +44 -0
  24. package/dist/src/clang.js +197 -0
  25. package/dist/src/cli.d.ts +2 -0
  26. package/dist/src/cli.js +338 -0
  27. package/dist/src/config.d.ts +33 -0
  28. package/dist/src/config.js +140 -0
  29. package/dist/src/contract-schema.d.ts +85 -0
  30. package/dist/src/contract-schema.js +56 -0
  31. package/dist/src/contract-worker.d.ts +1 -0
  32. package/dist/src/contract-worker.js +123 -0
  33. package/dist/src/contracts.d.ts +22 -0
  34. package/dist/src/contracts.js +123 -0
  35. package/dist/src/django-evidence.d.ts +2 -0
  36. package/dist/src/django-evidence.js +100 -0
  37. package/dist/src/django-runner.d.ts +1 -0
  38. package/dist/src/django-runner.js +80 -0
  39. package/dist/src/django.d.ts +9 -0
  40. package/dist/src/django.js +50 -0
  41. package/dist/src/dotnet-compiler.d.ts +1 -0
  42. package/dist/src/dotnet-compiler.js +87 -0
  43. package/dist/src/dotnet-evidence.d.ts +2 -0
  44. package/dist/src/dotnet-evidence.js +127 -0
  45. package/dist/src/dotnet-runner.d.ts +1 -0
  46. package/dist/src/dotnet-runner.js +167 -0
  47. package/dist/src/dotnet.d.ts +65 -0
  48. package/dist/src/dotnet.js +120 -0
  49. package/dist/src/engine.d.ts +19 -0
  50. package/dist/src/engine.js +239 -0
  51. package/dist/src/environment.d.ts +6 -0
  52. package/dist/src/environment.js +36 -0
  53. package/dist/src/eslint-evidence.d.ts +2 -0
  54. package/dist/src/eslint-evidence.js +98 -0
  55. package/dist/src/eslint-runner.d.ts +1 -0
  56. package/dist/src/eslint-runner.js +61 -0
  57. package/dist/src/eslint.d.ts +2 -0
  58. package/dist/src/eslint.js +40 -0
  59. package/dist/src/evidence.d.ts +2 -0
  60. package/dist/src/evidence.js +313 -0
  61. package/dist/src/external-adapter.d.ts +164 -0
  62. package/dist/src/external-adapter.js +265 -0
  63. package/dist/src/external-evidence.d.ts +2 -0
  64. package/dist/src/external-evidence.js +127 -0
  65. package/dist/src/external-runner.d.ts +1 -0
  66. package/dist/src/external-runner.js +122 -0
  67. package/dist/src/fastapi-evidence.d.ts +2 -0
  68. package/dist/src/fastapi-evidence.js +126 -0
  69. package/dist/src/fastapi-runner.d.ts +1 -0
  70. package/dist/src/fastapi-runner.js +84 -0
  71. package/dist/src/fastapi.d.ts +10 -0
  72. package/dist/src/fastapi.js +52 -0
  73. package/dist/src/fetch-pack.d.ts +16 -0
  74. package/dist/src/fetch-pack.js +154 -0
  75. package/dist/src/finding-policy-schema.d.ts +146 -0
  76. package/dist/src/finding-policy-schema.js +70 -0
  77. package/dist/src/finding-policy.d.ts +62 -0
  78. package/dist/src/finding-policy.js +206 -0
  79. package/dist/src/git-selection.d.ts +3 -0
  80. package/dist/src/git-selection.js +229 -0
  81. package/dist/src/go-directives.d.ts +1 -0
  82. package/dist/src/go-directives.js +32 -0
  83. package/dist/src/go-scope.d.ts +11 -0
  84. package/dist/src/go-scope.js +122 -0
  85. package/dist/src/golangci-evidence.d.ts +2 -0
  86. package/dist/src/golangci-evidence.js +92 -0
  87. package/dist/src/golangci-runner.d.ts +1 -0
  88. package/dist/src/golangci-runner.js +124 -0
  89. package/dist/src/golangci.d.ts +2 -0
  90. package/dist/src/golangci.js +35 -0
  91. package/dist/src/guidance.d.ts +98 -0
  92. package/dist/src/guidance.js +247 -0
  93. package/dist/src/index.d.ts +31 -0
  94. package/dist/src/index.js +16 -0
  95. package/dist/src/inventory.d.ts +4 -0
  96. package/dist/src/inventory.js +94 -0
  97. package/dist/src/java-compiler.d.ts +1 -0
  98. package/dist/src/java-compiler.js +110 -0
  99. package/dist/src/java-evidence.d.ts +2 -0
  100. package/dist/src/java-evidence.js +114 -0
  101. package/dist/src/java-runner.d.ts +1 -0
  102. package/dist/src/java-runner.js +79 -0
  103. package/dist/src/java.d.ts +25 -0
  104. package/dist/src/java.js +102 -0
  105. package/dist/src/jest-evidence.d.ts +2 -0
  106. package/dist/src/jest-evidence.js +117 -0
  107. package/dist/src/jest-runner.d.ts +1 -0
  108. package/dist/src/jest-runner.js +46 -0
  109. package/dist/src/jest.d.ts +2 -0
  110. package/dist/src/jest.js +36 -0
  111. package/dist/src/junit.d.ts +18 -0
  112. package/dist/src/junit.js +157 -0
  113. package/dist/src/laravel-evidence.d.ts +2 -0
  114. package/dist/src/laravel-evidence.js +175 -0
  115. package/dist/src/laravel-runner.d.ts +1 -0
  116. package/dist/src/laravel-runner.js +168 -0
  117. package/dist/src/laravel.d.ts +8 -0
  118. package/dist/src/laravel.js +50 -0
  119. package/dist/src/local-tool.d.ts +1 -0
  120. package/dist/src/local-tool.js +19 -0
  121. package/dist/src/mcp.d.ts +14 -0
  122. package/dist/src/mcp.js +362 -0
  123. package/dist/src/mutation.d.ts +118 -0
  124. package/dist/src/mutation.js +370 -0
  125. package/dist/src/mypy-evidence.d.ts +2 -0
  126. package/dist/src/mypy-evidence.js +63 -0
  127. package/dist/src/mypy.d.ts +2 -0
  128. package/dist/src/mypy.js +59 -0
  129. package/dist/src/node-reporter.d.ts +1 -0
  130. package/dist/src/node-reporter.js +28 -0
  131. package/dist/src/nuxt-evidence.d.ts +2 -0
  132. package/dist/src/nuxt-evidence.js +160 -0
  133. package/dist/src/nuxt-protocol.d.ts +52 -0
  134. package/dist/src/nuxt-protocol.js +29 -0
  135. package/dist/src/nuxt-runner.d.ts +1 -0
  136. package/dist/src/nuxt-runner.js +165 -0
  137. package/dist/src/nuxt.d.ts +24 -0
  138. package/dist/src/nuxt.js +105 -0
  139. package/dist/src/output.d.ts +3 -0
  140. package/dist/src/output.js +48 -0
  141. package/dist/src/phpstan-evidence.d.ts +2 -0
  142. package/dist/src/phpstan-evidence.js +81 -0
  143. package/dist/src/phpstan.d.ts +2 -0
  144. package/dist/src/phpstan.js +51 -0
  145. package/dist/src/phpunit-evidence.d.ts +2 -0
  146. package/dist/src/phpunit-evidence.js +53 -0
  147. package/dist/src/phpunit.d.ts +2 -0
  148. package/dist/src/phpunit.js +58 -0
  149. package/dist/src/pint-evidence.d.ts +2 -0
  150. package/dist/src/pint-evidence.js +79 -0
  151. package/dist/src/pint-runner.d.ts +1 -0
  152. package/dist/src/pint-runner.js +53 -0
  153. package/dist/src/pint.d.ts +2 -0
  154. package/dist/src/pint.js +37 -0
  155. package/dist/src/playwright-evidence.d.ts +2 -0
  156. package/dist/src/playwright-evidence.js +127 -0
  157. package/dist/src/playwright-reporter.d.ts +10 -0
  158. package/dist/src/playwright-reporter.js +37 -0
  159. package/dist/src/playwright-runner.d.ts +1 -0
  160. package/dist/src/playwright-runner.js +61 -0
  161. package/dist/src/playwright.d.ts +2 -0
  162. package/dist/src/playwright.js +35 -0
  163. package/dist/src/policy-pack.d.ts +21 -0
  164. package/dist/src/policy-pack.js +41 -0
  165. package/dist/src/pytest-evidence.d.ts +2 -0
  166. package/dist/src/pytest-evidence.js +116 -0
  167. package/dist/src/pytest-runner.d.ts +1 -0
  168. package/dist/src/pytest-runner.js +48 -0
  169. package/dist/src/pytest.d.ts +2 -0
  170. package/dist/src/pytest.js +25 -0
  171. package/dist/src/report-validation.d.ts +129 -0
  172. package/dist/src/report-validation.js +27 -0
  173. package/dist/src/review.d.ts +270 -0
  174. package/dist/src/review.js +349 -0
  175. package/dist/src/ruby.d.ts +2 -0
  176. package/dist/src/ruby.js +25 -0
  177. package/dist/src/ruff-evidence.d.ts +2 -0
  178. package/dist/src/ruff-evidence.js +99 -0
  179. package/dist/src/ruff.d.ts +2 -0
  180. package/dist/src/ruff.js +40 -0
  181. package/dist/src/runner.d.ts +8 -0
  182. package/dist/src/runner.js +117 -0
  183. package/dist/src/runtime-inventory.d.ts +112 -0
  184. package/dist/src/runtime-inventory.js +200 -0
  185. package/dist/src/rust-dep-info.d.ts +1 -0
  186. package/dist/src/rust-dep-info.js +46 -0
  187. package/dist/src/rust-evidence.d.ts +2 -0
  188. package/dist/src/rust-evidence.js +157 -0
  189. package/dist/src/rust-runner.d.ts +1 -0
  190. package/dist/src/rust-runner.js +161 -0
  191. package/dist/src/rust.d.ts +7 -0
  192. package/dist/src/rust.js +39 -0
  193. package/dist/src/sarif.d.ts +86 -0
  194. package/dist/src/sarif.js +113 -0
  195. package/dist/src/schemas.d.ts +393 -0
  196. package/dist/src/schemas.js +222 -0
  197. package/dist/src/staticcheck-evidence.d.ts +2 -0
  198. package/dist/src/staticcheck-evidence.js +75 -0
  199. package/dist/src/swift.d.ts +2 -0
  200. package/dist/src/swift.js +20 -0
  201. package/dist/src/task-store.d.ts +37 -0
  202. package/dist/src/task-store.js +349 -0
  203. package/dist/src/tool-versions.d.ts +3 -0
  204. package/dist/src/tool-versions.js +260 -0
  205. package/dist/src/types.d.ts +157 -0
  206. package/dist/src/types.js +37 -0
  207. package/dist/src/typescript-build-evidence.d.ts +2 -0
  208. package/dist/src/typescript-build-evidence.js +86 -0
  209. package/dist/src/typescript-build-runner.d.ts +1 -0
  210. package/dist/src/typescript-build-runner.js +132 -0
  211. package/dist/src/typescript-build.d.ts +2 -0
  212. package/dist/src/typescript-build.js +41 -0
  213. package/dist/src/typescript.d.ts +2 -0
  214. package/dist/src/typescript.js +54 -0
  215. package/dist/src/validation-task-worker.d.ts +1 -0
  216. package/dist/src/validation-task-worker.js +205 -0
  217. package/dist/src/validation-tasks-protocol.d.ts +69 -0
  218. package/dist/src/validation-tasks-protocol.js +57 -0
  219. package/dist/src/validation-tasks.d.ts +11 -0
  220. package/dist/src/validation-tasks.js +144 -0
  221. package/dist/src/vitest-evidence.d.ts +2 -0
  222. package/dist/src/vitest-evidence.js +112 -0
  223. package/dist/src/vitest-runner.d.ts +1 -0
  224. package/dist/src/vitest-runner.js +48 -0
  225. package/dist/src/vitest.d.ts +2 -0
  226. package/dist/src/vitest.js +36 -0
  227. package/dist/src/vue-router-capture.d.ts +42 -0
  228. package/dist/src/vue-router-capture.js +87 -0
  229. package/dist/src/vue-router-evidence.d.ts +2 -0
  230. package/dist/src/vue-router-evidence.js +126 -0
  231. package/dist/src/vue-router-protocol.d.ts +63 -0
  232. package/dist/src/vue-router-protocol.js +44 -0
  233. package/dist/src/vue-router-runner.d.ts +1 -0
  234. package/dist/src/vue-router-runner.js +88 -0
  235. package/dist/src/vue-router.d.ts +23 -0
  236. package/dist/src/vue-router.js +108 -0
  237. package/dist/src/vue-tsc-runner.d.ts +1 -0
  238. package/dist/src/vue-tsc-runner.js +24 -0
  239. package/dist/src/workspace.d.ts +7 -0
  240. package/dist/src/workspace.js +53 -0
  241. package/docs/ACCEPTANCE.md +56 -0
  242. package/docs/ACTIONLINT.md +112 -0
  243. package/docs/ARCHITECTURE-POLICY.md +82 -0
  244. package/docs/ARCHITECTURE.md +122 -0
  245. package/docs/CLANG.md +113 -0
  246. package/docs/CLIENTS.md +109 -0
  247. package/docs/CONTRACTS.md +73 -0
  248. package/docs/DEPENDENCIES.md +42 -0
  249. package/docs/DJANGO.md +70 -0
  250. package/docs/DOTNET.md +114 -0
  251. package/docs/ENVIRONMENTS.md +52 -0
  252. package/docs/ESLINT.md +68 -0
  253. package/docs/EVALUATION.md +124 -0
  254. package/docs/EXECUTION.md +250 -0
  255. package/docs/EXTERNAL-ADAPTERS.md +170 -0
  256. package/docs/EXTERNAL-EVALUATION.md +155 -0
  257. package/docs/EXTERNAL-RUFF-EVALUATION.md +85 -0
  258. package/docs/FASTAPI.md +73 -0
  259. package/docs/FINDING-POLICY.md +67 -0
  260. package/docs/GO-RACE.md +19 -0
  261. package/docs/GO-SCOPE.md +63 -0
  262. package/docs/GOLANGCI-LINT.md +64 -0
  263. package/docs/GUIDANCE.md +46 -0
  264. package/docs/IMPACT-MEASUREMENT.md +97 -0
  265. package/docs/INSTALLATION.md +102 -0
  266. package/docs/JAVA.md +79 -0
  267. package/docs/JEST.md +36 -0
  268. package/docs/JUNIT.md +31 -0
  269. package/docs/LANGUAGES.md +113 -0
  270. package/docs/LARAVEL.md +111 -0
  271. package/docs/MCP-COMPATIBILITY.md +68 -0
  272. package/docs/MUTATIONS.md +93 -0
  273. package/docs/MYPY.md +37 -0
  274. package/docs/NATIVE-CI.md +96 -0
  275. package/docs/NUXT.md +123 -0
  276. package/docs/PACK-DISTRIBUTION.md +98 -0
  277. package/docs/PERFORMANCE.md +71 -0
  278. package/docs/PEST.md +36 -0
  279. package/docs/PHPSTAN.md +48 -0
  280. package/docs/PHPUNIT.md +32 -0
  281. package/docs/PINT.md +41 -0
  282. package/docs/PLAN.md +265 -0
  283. package/docs/PLAYWRIGHT.md +73 -0
  284. package/docs/POLICY-PACKS.md +106 -0
  285. package/docs/PRIOR-WORKFLOW-EVALUATION.md +116 -0
  286. package/docs/PUBLICATION.md +28 -0
  287. package/docs/PYTEST.md +51 -0
  288. package/docs/RELEASE.md +115 -0
  289. package/docs/RENAMING.md +55 -0
  290. package/docs/REVIEW-EXCHANGE.md +136 -0
  291. package/docs/RUBY.md +50 -0
  292. package/docs/RUFF.md +39 -0
  293. package/docs/RUNTIME-INVENTORY.md +56 -0
  294. package/docs/RUST.md +74 -0
  295. package/docs/SARIF.md +64 -0
  296. package/docs/STATUS.md +530 -0
  297. package/docs/SWIFT.md +48 -0
  298. package/docs/TASK-STORAGE.md +141 -0
  299. package/docs/TOOL-IDENTITY.md +30 -0
  300. package/docs/TYPESCRIPT-BUILD.md +55 -0
  301. package/docs/VALIDATION-TASKS.md +119 -0
  302. package/docs/VITEST.md +36 -0
  303. package/docs/VUE-ROUTER.md +130 -0
  304. package/docs/VUE-TSC.md +26 -0
  305. package/docs/WORKSPACES.md +81 -0
  306. package/docs/licenses/nodable-entities-3.0.0.txt +21 -0
  307. package/docs/measurements/client-claude-before-schema-fix-darwin-arm64-node26.json +60 -0
  308. package/docs/measurements/client-claude-darwin-arm64-node26.json +55 -0
  309. package/docs/measurements/client-codex-darwin-arm64-node26.json +175 -0
  310. package/docs/measurements/evaluation-corpus-repo-verifier.json +332 -0
  311. package/docs/measurements/evaluation-darwin-arm64-node26.json +1236 -0
  312. package/docs/measurements/evaluation-linux-arm64-node22.json +1236 -0
  313. package/docs/measurements/external-eslint-darwin-arm64-node26.json +11866 -0
  314. package/docs/measurements/external-eslint-linux-arm64-node22.json +11866 -0
  315. package/docs/measurements/external-eslint-preservation.json +1527 -0
  316. package/docs/measurements/external-ruff-darwin-arm64-node26.json +1031 -0
  317. package/docs/measurements/external-ruff-linux-arm64-node22.json +1031 -0
  318. package/docs/measurements/hosted-ci-52ba415.json +1005 -0
  319. package/docs/measurements/impact-darwin-arm64-node26.json +6685 -0
  320. package/docs/measurements/impact-linux-arm64-node22.json +6690 -0
  321. package/docs/measurements/performance-darwin-arm64-node26.json +845 -0
  322. package/docs/measurements/performance-linux-arm64-node22.json +845 -0
  323. package/docs/measurements/required-native-profiles.json +500 -0
  324. package/package.json +72 -0
  325. package/packs/actionlint.json +8 -0
  326. package/packs/cpp.json +8 -0
  327. package/packs/dotnet.json +8 -0
  328. package/packs/go.json +7 -0
  329. package/packs/java.json +8 -0
  330. package/packs/javascript-node.json +7 -0
  331. package/packs/nuxt.json +7 -0
  332. package/packs/php-pest.json +7 -0
  333. package/packs/php-phpunit.json +7 -0
  334. package/packs/python-pytest.json +7 -0
  335. package/packs/ruby.json +7 -0
  336. package/packs/rust.json +7 -0
  337. package/packs/swift.json +7 -0
  338. package/packs/vue-router.json +7 -0
  339. package/packs/vue.json +11 -0
  340. package/schemas/actionlint-config.schema.json +19 -0
  341. package/schemas/architecture-policy.schema.json +51 -0
  342. package/schemas/architecture-report.schema.json +123 -0
  343. package/schemas/architecture-summary.schema.json +82 -0
  344. package/schemas/clang-database.schema.json +23 -0
  345. package/schemas/config.schema.json +69 -0
  346. package/schemas/contract-bundle.schema.json +78 -0
  347. package/schemas/contract-report.schema.json +114 -0
  348. package/schemas/contract-summary.schema.json +72 -0
  349. package/schemas/dependency-graph.schema.json +65 -0
  350. package/schemas/django-config.schema.json +16 -0
  351. package/schemas/dotnet-config.schema.json +60 -0
  352. package/schemas/external-manifest.schema.json +97 -0
  353. package/schemas/external-reference.schema.json +10 -0
  354. package/schemas/external-request.schema.json +56 -0
  355. package/schemas/external-result.schema.json +111 -0
  356. package/schemas/fastapi-config.schema.json +27 -0
  357. package/schemas/finding-baseline.schema.json +92 -0
  358. package/schemas/finding-comparison-summary.schema.json +95 -0
  359. package/schemas/finding-comparison.schema.json +121 -0
  360. package/schemas/guidance-context.schema.json +34 -0
  361. package/schemas/guidance-report.schema.json +176 -0
  362. package/schemas/guidance-summary.schema.json +68 -0
  363. package/schemas/java-config.schema.json +24 -0
  364. package/schemas/junit.schema.json +69 -0
  365. package/schemas/laravel-config.schema.json +11 -0
  366. package/schemas/mutation-recipe.schema.json +31 -0
  367. package/schemas/mutation-report.schema.json +238 -0
  368. package/schemas/mutation-summary.schema.json +98 -0
  369. package/schemas/nuxt-config.schema.json +51 -0
  370. package/schemas/plan-summary.schema.json +63 -0
  371. package/schemas/plan.schema.json +244 -0
  372. package/schemas/policy-pack.schema.json +41 -0
  373. package/schemas/report-summary.schema.json +100 -0
  374. package/schemas/report.schema.json +463 -0
  375. package/schemas/review-assessment.schema.json +133 -0
  376. package/schemas/review-context-summary.schema.json +31 -0
  377. package/schemas/review-context.schema.json +254 -0
  378. package/schemas/review-receipt-summary.schema.json +104 -0
  379. package/schemas/review-receipt.schema.json +271 -0
  380. package/schemas/review-selection.schema.json +30 -0
  381. package/schemas/runtime-comparison-summary.schema.json +68 -0
  382. package/schemas/runtime-comparison.schema.json +127 -0
  383. package/schemas/runtime-inventory.schema.json +99 -0
  384. package/schemas/vue-router-config.schema.json +67 -0
  385. package/server.json +47 -0
package/docs/STATUS.md ADDED
@@ -0,0 +1,530 @@
1
+ # Implementation status
2
+
3
+ This is an experimental foundation with public source at
4
+ [stsepelin/checktrail](https://github.com/stsepelin/checktrail).
5
+ Check the [installation guide](INSTALLATION.md) for package availability and setup.
6
+ All 13 hosted jobs passed at `52ba415`; the exact run and earlier cache/path
7
+ failures are recorded in `NATIVE-CI.md`. The `0.1.0-alpha.1` preview changes
8
+ release metadata and documentation; its publication is a separate gate.
9
+
10
+ ## Implemented
11
+
12
+ - Exact required-test accounting across prepared CI language profiles and native
13
+ container helpers, including dedicated Ruby/Swift jobs. Skipped, missing,
14
+ duplicate, TODO or failing cases cannot satisfy these profiles. Hosted profiles
15
+ passed at `52ba415`; see `NATIVE-CI.md` for the distinction from optional local tests.
16
+
17
+ - External Ruff integration evaluation against pinned upstream Python fixtures and
18
+ snapshots, with native/verifier location comparisons on macOS/Linux and explicit
19
+ incomplete/excluded accounting. See `EXTERNAL-RUFF-EVALUATION.md` for scope.
20
+
21
+ - Standard JSON Schema patterns for guidance URLs and exported Vue/Nuxt paths,
22
+ strict compilation of published schemas, and regression checks for URL/path
23
+ prefixes and request boundaries. The original external-evaluation runtime is
24
+ preserved separately; its holdout evidence is not relabeled as this revision.
25
+
26
+ - Fresh offline package verification through actual Claude Code health/discovery
27
+ and Codex app-server direct MCP calls, including native passing/failing/incomplete
28
+ outcomes. Versioned profiles and limitations are in `CLIENTS.md`.
29
+
30
+ - External ESLint integration evaluation against independently authored synthetic
31
+ upstream cases, a frozen verifier, exact diagnostic accounting and paired native
32
+ comparisons on macOS/Linux. See `EXTERNAL-EVALUATION.md` for results and limits.
33
+
34
+ - Optional durable library worker using the shared validation engine, startup-only
35
+ permissions, polling, cancellation and parent-disconnect cleanup. Native
36
+ macOS/Linux and offline installed-package checks are in `VALIDATION-TASKS.md`;
37
+ standard MCP Tasks is still not advertised.
38
+
39
+ - Optional library-only local task storage with bounded projected results, atomic
40
+ transitions, exclusive ownership and process-crash recovery. CLI/MCP integration
41
+ and standard Tasks remain pending; see `TASK-STORAGE.md`.
42
+
43
+ - CLI and reusable engine: inspect, plan, run, adapter inventory.
44
+ - Recursive project discovery across eleven ecosystem families, including
45
+ polyglot roots and nested project boundaries.
46
+ - Registered execution checks for native Node tests, Python unittest, Go formatting,
47
+ vet and tests, and PHP syntax. Python runner selection is explicit; Node default
48
+ selection requires the exact `node --test` script. Explicit TypeScript checking
49
+ uses a compiler installed within the root and verifies compiler file inclusion.
50
+ - Explicit ESLint validation with per-file configuration/rule evidence, exact
51
+ path accounting, native diagnostic counts and cache-preserving execution.
52
+ - Explicit Vitest execution with per-file/per-assertion evidence, disabled
53
+ automatic dependency installation, and guards against focused tests, snapshot
54
+ updates and unhandled-error bypasses.
55
+ - Explicit Playwright native test/project evidence, snapshot and focus controls,
56
+ flaky-test failure and prepared Chromium browser assertions; see `PLAYWRIGHT.md`.
57
+ - Explicit Jest execution with native file/assertion counters, collection-only
58
+ rejection, disabled snapshot updates and conservative skipped-test handling.
59
+ - Explicit Vue SFC/TypeScript checks with file inclusion accounting and rejection
60
+ of template-codegen disabling, including inherited configuration.
61
+ - Explicit pytest execution with native lifecycle events, collection/file
62
+ accounting and failure handling for fixtures and unexpected passes.
63
+ - Explicit Ruff validation with exact file accounting, conservative enabled-rule
64
+ evidence and disabled fixes/cache reuse.
65
+ - Explicit mypy validation with source/count evidence, module-level broad
66
+ suppression detection and a verified native options-API version gate.
67
+ - Tool identity evidence in detailed plans/reports, using bounded native version
68
+ probes and labeled package metadata; unknown identities prevent a passing check.
69
+ - Constrained configured golangci-lint profile with native JSON, source accounting
70
+ and suppression guards; see `GOLANGCI-LINT.md`.
71
+ - Go native package/file accounting, per-package test participation and explicit
72
+ Staticcheck analysis with surfaced suppressions. See `GO-SCOPE.md`.
73
+ - Explicit Go race tests, with a native race diagnostic regression and an atomic
74
+ update counterpart that asserts the combined result.
75
+ - Explicit PHPStan checking with per-file debug accounting, native JSON counters
76
+ and no result-cache reuse.
77
+ - Explicit workspace dependencies, Git base selection with transitive consumer
78
+ expansion, conservative full-plan fallback and post-run Git identity checks.
79
+ - Project-specific environment requirements and operator startup permissions;
80
+ values stay out of plans/command metadata. See `ENVIRONMENTS.md`.
81
+ - Normalized ESLint/Ruff/PHPStan diagnostics and SARIF 2.1.0 export with
82
+ incomplete/stale execution metadata; see `SARIF.md`.
83
+ - Explicit Pint test-mode execution with exact native file/fixer accounting and
84
+ version-gated PHAR integration; see `PINT.md`.
85
+ - Explicit Pest execution with fresh JUnit evidence, CI selection, disabled TIA
86
+ and snapshot-creation rejection; see `PEST.md`.
87
+ - Explicit PHPUnit execution with streamed JUnit evidence and file/assertion
88
+ accounting; standalone CLI/library JUnit imports carry distinct provenance.
89
+ - Strict declarative config, JSON schemas for plans/reports and summary projections.
90
+ - Operator-controlled execution trust and output detail; no tool-argument elevation.
91
+ - Process time/output limits, POSIX group cancellation, narrow environment
92
+ inheritance, source fingerprints and post-run invalidation.
93
+ - Current MCP stdio serving through the official v2 SDK, with both modern and
94
+ legacy negotiation integration tests, schema-validated tools and bounded in-memory reports.
95
+ - MCP request cancellation, concurrent-run rejection and worker cleanup on stdin
96
+ EOF, SIGINT and SIGTERM, exercised with real processes.
97
+ - Original synthetic examples, contribution/security guidance, MIT license,
98
+ package allowlist and CI definition with pinned action commits.
99
+
100
+ ## Optional advisory review exchange
101
+
102
+ Selected-source contexts and imported human/model assessments are available through
103
+ library, CLI and MCP. Exact file bytes, context digests, current source, quotations
104
+ and declared file accounting are checked. Source and assessment prose require
105
+ operator-enabled review disclosure; model claims and token/cost metadata remain
106
+ unverified declarations and never affect native validation.
107
+
108
+ Synthetic regression cases passed on macOS arm64 Node 26.8.1 and Linux arm64
109
+ Node 22.23.2. Fresh offline installation passed library/CLI/MCP calls with container
110
+ networking disabled and read-only source mounts. Guard mutations reproduced
111
+ forged-source freshness and ungranted disclosure failures, then passed after
112
+ restoration. No model inference or review-quality improvement is claimed. See
113
+ `REVIEW-EXCHANGE.md`; independent M5 evaluation and durable Tasks remain pending.
114
+
115
+ ## Nuxt SSR testing assembly
116
+
117
+ The opt-in Nuxt 4.5.2 / Nitro 2.13.4 profile builds a fresh testing assembly and
118
+ observes the actual router after in-process SSR requests complete. Native cases
119
+ passed on macOS arm64 Node 26.8.1 and Linux arm64 Node 22.23.2. Fresh offline
120
+ installation passed library/CLI/MCP verification with networking disabled and a
121
+ read-only public fixture, including a broken route-name contract. A reproduced
122
+ lifecycle regression now accounts for later awaited render hooks; cancellation
123
+ was tested against an observed live startup and verified temporary-directory
124
+ removal. The profile covers selected SSR requests, not browser hydration, every
125
+ route parameter or production equivalence. See `NUXT.md` for reproduction and limits.
126
+ The hosted Nuxt job passed at `52ba415`; see `NATIVE-CI.md`.
127
+
128
+ ## Vue Router testing assembly
129
+
130
+ The opt-in native Vue Router 5.3.1 / Vue 3.5.43 profile passed on macOS arm64
131
+ Node 26.8.1 and Linux arm64 Node 22.23.2. It checks declared native resolution
132
+ chains and requires every final route record to participate in a probe. A fresh
133
+ offline package install passed library/CLI/MCP checks with the public synthetic
134
+ example, including a deliberately broken route contract. This does not establish
135
+ production assembly equivalence, navigation/guard behavior or Nuxt support. See
136
+ `VUE-ROUTER.md` for reproduction and projection limits.
137
+
138
+ ## Impact measurement
139
+
140
+ The paired impact harness runs full and Git-selected native Node checks on identical
141
+ source/policy snapshots, verifies named failing consumer assertions and records raw
142
+ execution cost. It includes a deliberately misdeclared dependency graph whose
143
+ selected pass omits failures found by the full run. See `IMPACT-MEASUREMENT.md` for
144
+ macOS/Linux observations and limits; this is not independent held-out evaluation or
145
+ a general speedup/graph-completeness claim.
146
+
147
+ ## Release preparation
148
+
149
+ `server.json` and npm `mcpName` describe the `0.1.0-alpha.1` preview.
150
+ The metadata passed the pinned official registry schema; a native SDK-client test
151
+ starts its command and verifies execution remains disabled. This does not establish
152
+ registry acceptance or npm publication. Hosted source evidence is recorded
153
+ separately in `NATIVE-CI.md`. See `RELEASE.md`.
154
+
155
+ ## Pinned pack distribution
156
+
157
+ An explicit `fetch-pack` CLI/library operation retrieves bounded data-only policy
158
+ JSON over verified HTTPS, checks its digest/schema and publishes a new local file
159
+ without overwriting existing files. Local HTTPS regression cases exercise complete
160
+ transfers, failure paths, cancellation, privacy and simultaneous publication. These
161
+ cases passed on macOS Node 26 and Linux arm64 Node 22, including installed-package
162
+ CLI/library calls in a container with external networking disabled. No MCP
163
+ download tool or automatic network resolution was added. See `PACK-DISTRIBUTION.md`.
164
+
165
+ ## External executable adapters
166
+
167
+ The local pinned-bundle protocol is implemented across library, CLI and MCP
168
+ startup configuration. Node, Python and compiled Go fixtures ran on macOS; Linux
169
+ fixtures additionally exercised PHP. The Linux verification used Node 22.23.2,
170
+ Python 3.12.13, Go 1.26.5 and PHP 8.5.6 with networking disabled. Fresh offline
171
+ package installation passed through the library, CLI and MCP using the public
172
+ Node example. These runs verify the protocol and fixtures, not arbitrary plugins.
173
+ See `EXTERNAL-ADAPTERS.md` for reproducible commands and trust limitations.
174
+ The hosted job passed native and installed-package checks at `52ba415`;
175
+ see `NATIVE-CI.md`.
176
+
177
+ ## Verification and boundaries
178
+
179
+ The foundation suite has been run successfully on Node 22, 24 and 26 on macOS.
180
+ The current host suite explicitly skips native PHP and Python tools absent from
181
+ the host; separate container evidence is described below. `npm run check` (type checking, lint and tests)
182
+ and `npm run format:check` pass. A built npm tarball was installed into a fresh
183
+ temporary consumer; its CLI version and JavaScript validation smoke checks passed.
184
+ Packed contents were inspected against the package allowlist. Runtime dependency
185
+ metadata for the installed MCP server/core packages and Zod declares MIT licenses.
186
+ The expanded lifecycle, evidence and TypeScript tests also pass on Node 22 and 24.
187
+ A fresh offline tarball installation verified the public library import, packaged
188
+ TypeScript validation and CLI version with production dependencies only (plus the
189
+ consumer's separately installed TypeScript compiler).
190
+
191
+ Native Node, Python and Go execution has been exercised on macOS. PHP is not on
192
+ the host PATH, so the default host suite explicitly skips it. The same PHP adapter
193
+ integration test passed against PHP 8.4.23 in an already-installed official Linux
194
+ container with networking disabled and a read-only synthetic project mount. It
195
+ accepted valid PHP and rejected malformed PHP. `node scripts/verify-php-container.mjs`
196
+ reproduces that separate check after building; it requires the local `php:8.4-cli`
197
+ image and never pulls an image. The verifier itself does not start containers.
198
+
199
+ The automated suite checks CLI exit behavior, SDK wire calls, schema drift,
200
+ execution trust, literal arguments, environment filtering, path escape, nested
201
+ discovery, missing tools, timeout/cancellation, output limits and changed source.
202
+ Parser fixtures include zero tests, all-skipped tests, inconsistent counts,
203
+ duplicate summaries, malformed output and unfinished Go test/package streams.
204
+ Node's implicit passing result for an empty file is explicitly rejected using
205
+ file-level summary events.
206
+
207
+ The CI definition targets Node 22/24/26 on Linux and Node 24 on macOS, with Python,
208
+ Go and PHP provisioned and preflighted. The full matrix passed at `52ba415`;
209
+ see `NATIVE-CI.md`. Windows process execution is explicitly unsupported.
210
+
211
+ The SDK package version alone did not establish modern protocol serving. Tests
212
+ pinning 2026-07-28 initially rejected the legacy-only connection entry point. The
213
+ implementation now uses the SDK's `serveStdio` factory and the pinned-version
214
+ tests pass. The named Claude Code and Codex application-client profiles now have
215
+ separate fresh-install evidence in `CLIENTS.md`; other application profiles remain
216
+ unverified.
217
+
218
+ TypeScript integration exercises version 6.0.3: valid source, a real TS2322 error,
219
+ `noCheck` bypass prevention, excluded source with a zero exit code, paths containing
220
+ spaces, a root-hoisted compiler, no emitted/incremental files, missing tools and
221
+ an escaping dependency symlink. A missing file-list entry is incomplete. A separate `javascript.typescript-build` adapter now validates project references
222
+ with fresh in-memory declaration/build outputs; see `TYPESCRIPT-BUILD.md`.
223
+
224
+ ESLint 10.10.0 integration exercises synthetic JavaScript errors, warnings and
225
+ syntax failures; ignored/unconfigured files; disabled rules; broken configuration;
226
+ hoisted tools; literal filenames; and preservation of an existing lint cache.
227
+ CLI and MCP return equivalent check results for passed, failed and incomplete
228
+ cases while keeping diagnostics out of summaries. Malformed evidence and duplicate
229
+ or missing paths cannot produce a passing check. See `ESLINT.md` for support limits.
230
+ The ESLint tests and shared local-tool resolution regression tests pass on Node
231
+ 22, 24 and 26 on macOS. A fresh offline tarball installation also passed ESLint
232
+ validation through both the exported library and installed CLI, using a separately
233
+ provisioned consumer ESLint installation.
234
+
235
+ Vitest 5.0.1 / Vite 8.3.0 integration verifies positive assertion counts, failure
236
+ counts, skipped/todo tests, omitted files, snapshot preservation, focused-test
237
+ rejection, unhandled rejections and missing environment dependencies. Structured
238
+ parser tests reject mismatched totals, duplicate/unexpected files and nonterminal
239
+ assertions. Configuration cannot make a missing dependency trigger installation.
240
+ The Vitest integration and parser tests pass on Node 22, 24 and 26 on macOS.
241
+ See `VITEST.md` for scope and compatibility limits.
242
+
243
+ Jest 30.5.2 integration verifies passing and failing assertions, files under
244
+ `__tests__`, import failures, empty files, intentional skips, focus omissions,
245
+ config exclusions and snapshot preservation. Collection-only configuration and
246
+ result processors cannot turn unexecuted tests into passing evidence. Pending
247
+ tests make the result incomplete; see `JEST.md` for this conservative boundary.
248
+
249
+ The [MCP compatibility record](MCP-COMPATIBILITY.md) distinguishes ordinary async
250
+ execution from the unimplemented durable Tasks extension. The optional routing
251
+ probe reproduces SDK 2.0.0 rejecting modern `tasks/get` and `tasks/cancel` with
252
+ `-32601` before registered handlers, while accepting `tasks/update`. The server
253
+ does not advertise this extension.
254
+
255
+ Vue integration exercises vue-tsc 3.3.11, Vue 3.5.43 and TypeScript 6.0.3 against
256
+ valid SFCs, script and template type errors, excluded source, inherited template
257
+ check disabling and no-emission checks. See `VUE-TSC.md` for limits.
258
+
259
+ Pytest 9.1.1 / Python 3.12.13 passed the native integration cases in a prepared
260
+ Linux container with no network and read-only synthetic source. The host has no
261
+ pytest and explicitly skips that native case. Parser/planning tests still run.
262
+ See `PYTEST.md` for the event contract and reproduction steps.
263
+
264
+ Ruff 0.16.8 passed native diagnostics, exclusions, disabled rules, per-file
265
+ ignore and no-fix/cache-preservation cases in the prepared Linux container. The
266
+ host lacks Ruff and skips that native case explicitly. See `RUFF.md` for the
267
+ conservative per-file-ignore accounting and text-format compatibility limits.
268
+
269
+ Mypy 2.3.1 / Python 3.12.13 passed native assignment, broad suppression, missing
270
+ import, unused-ignore and cache/no-install cases in the prepared Linux container.
271
+ The default host native test skips because mypy is absent. Other mypy versions
272
+ are explicitly unavailable until the native options API is verified; see `MYPY.md`.
273
+
274
+ The Jest, Vue, tool-identity and MCP regression tests also pass on Node 22.23.2
275
+ and 24.21.0 on macOS. A fresh offline npm tarball installation passed all eight
276
+ JavaScript check families through the public library import, installed CLI and
277
+ MCP stdio server with protocol 2026-07-28. `node scripts/smoke-package.mjs`
278
+ reproduces this against synthetic consumer projects and separately provisioned
279
+ local native tools; it validates the package file allowlist before installation.
280
+
281
+ Go 1.27.1 on macOS arm64 passed the race adapter regression: concurrent writes
282
+ failed with a native race report, while atomic updates passed with the exact
283
+ expected count. This does not cover unexecuted paths or all build tags.
284
+
285
+ PHPStan 2.2.14 / PHP 8.5.6 passed return-type, excluded-file and configuration-error
286
+ fixtures in the official Composer container with no network. The current
287
+ verification script creates synthetic fixtures inside Linux to avoid host bind-mount
288
+ visibility uncertainty observed when replacing fixtures between invocations.
289
+ The host skips this native test because PHP is absent. See `PHPSTAN.md` for the
290
+ locked development tool preparation and separate verification command.
291
+
292
+ PHPUnit 13.3.4 / PHP 8.5.6 passed assertion, exception, skip, empty, assertionless
293
+ and multiple-file cases in the isolated Composer container. JUnit parser/CLI
294
+ tests also cover malformed XML, entity declarations, nesting/size limits,
295
+ duplicate cases and aggregate counts. Imported reports are explicitly distinct
296
+ from live validation; see `PHPUNIT.md` and `JUNIT.md`.
297
+
298
+ Pest 5.2.1 and Pint 1.32.1 native regressions run in the same PHP 8.5.6 container
299
+ with Node 22.23.2. See `PEST.md` and `PINT.md` for evidence and limits. The fresh
300
+ offline package consumer also exercises JUnit through library and CLI exports.
301
+
302
+ Git 2.54.0 (Apple Git 157) on macOS exercised committed/index/working changes,
303
+ newline paths, renames, executable modes, linked worktrees, unresolved merges,
304
+ excluded tracked files and unsafe filter configuration. A changed producer selects
305
+ and fails its real synthetic consumer test; CLI and MCP return equivalent scope.
306
+ See `WORKSPACES.md` for bounds and fallback rules.
307
+
308
+ Playwright native tests also pass against real prepared Chromium: the correct DOM
309
+ assertion passes, its wrong-text counterpart fails, and an absent browser is
310
+ unavailable. A fresh offline package consumer passed Playwright alongside the
311
+ other JavaScript adapters through library, CLI and MCP. Targeted mutations of
312
+ focused-test rejection, snapshot-check protection and Git consumer expansion each
313
+ caused their named native regression tests to fail; original code was restored.
314
+
315
+ The Go scope, Staticcheck and TypeScript solution tests also pass on Node 24.21.0.
316
+ The fresh package smoke now includes the TypeScript solution adapter through
317
+ library, CLI and MCP, in addition to the earlier JavaScript families.
318
+
319
+ Exact finding reconciliation now covers baseline and exception ownership,
320
+ expiration, duplicate occurrence counts, stale entries and explicit expansion
321
+ ratchets. Native ESLint fixtures exercise partial repair while another issue
322
+ remains. CLI and MCP preserve the native failed outcome even when the separate
323
+ comparison passes; MCP tests also verify retained-report, path and output bounds.
324
+ See `FINDING-POLICY.md` for artifact freshness limits.
325
+
326
+ Runtime inventory comparison now handles exact assembly registrations,
327
+ attributes, multiplicity and order through CLI/library/MCP. Its synthetic tests
328
+ cover routes, listeners, middleware, schedules and bindings. Imported snapshots
329
+ are explicitly distinguished from verified native runtime collection; see
330
+ `RUNTIME-INVENTORY.md`.
331
+
332
+ Pinned local JSON packs and additive operator-selected overlays now compose
333
+ registered checks without changing trust or output settings. Native Node/ESLint
334
+ fixtures verify required-check preservation, missing environment permission,
335
+ MCP startup restrictions, content-integrity failures and hidden mid-run policy
336
+ changes. Public check profiles and their limits are documented in `POLICY-PACKS.md`.
337
+
338
+ Captured producer/consumer contract validation now uses strict JSON Schema
339
+ 2020-12 with Ajv and format assertions, without coercion, default insertion or
340
+ field removal. Bounded workers isolate schema computation from MCP's event loop;
341
+ pathological-pattern, cancellation and shutdown tests verify lifecycle behavior.
342
+ A native synthetic producer demonstrates a string-to-integer contract break and
343
+ its repair. Artifact provenance and limitations are recorded in `CONTRACTS.md`.
344
+ The pinned Ajv and ajv-formats packages are now runtime dependencies; their versions
345
+ were unchanged from development use. Both declare MIT licenses.
346
+
347
+ The opt-in FastAPI route profile is verified with FastAPI 0.141.1, Starlette 1.6.0
348
+ and Python 3.12.13 in a network-disabled official Linux container. Native tests
349
+ cover framework defaults, exact duplicates, HTTP/WebSocket identity boundaries,
350
+ startup-added routes, cleanup failures and unsupported mounts. The collector emits
351
+ runtime artifacts for the supported flat projection; it does not infer routing
352
+ semantics or authorization. See `FASTAPI.md`.
353
+
354
+ The Django profile is verified against Django 6.1.1 on the same Python 3.12.13
355
+ Linux fixture runtime. It captures nested resolvers and setup-time registrations,
356
+ retains regex endpoint mode, and rejects unsupported route/converter shapes.
357
+ See `DJANGO.md` for the projection's limits. Framework profiles are loaded only
358
+ when selected, so an unused malformed profile cannot block another Python check.
359
+
360
+ The Laravel testing assembly profile is verified against Laravel 13.32.0 and PHP
361
+ 8.5.6 with Node 22.23.2 in a network-disabled Linux container. It captures five
362
+ declared projections, including wildcard listeners and container factory targets,
363
+ and initializes Artisan before collecting `withSchedule()` registrations. Native
364
+ cases compare changed/fixed assemblies and reject unsupported, empty or failed
365
+ capture. The tests read the public synthetic Laravel example files directly.
366
+ See `LARAVEL.md`; this does not establish application authorization correctness or
367
+ complete container/object-state equivalence.
368
+
369
+ Public FastAPI and Django examples are also exercised through their native Linux
370
+ collectors, including their deliberately duplicated-registration counterparts.
371
+ Reproduce with `node scripts/verify-framework-container.mjs`.
372
+
373
+ Explicit architecture policies are implemented through CLI/library/MCP, with
374
+ literal project/layer matching, cycle components, input limits and complete
375
+ project/edge accounting. Results are labeled imported dependency evidence; native
376
+ import-graph extraction is not implemented. See `ARCHITECTURE-POLICY.md`.
377
+
378
+ The public built-package integration fixture compiles a TypeScript producer, packs
379
+ and installs it offline with lifecycle scripts disabled, then checks the installed
380
+ consumer through TypeScript and Node tests. A mismatched declaration/runtime case
381
+ proves why both checks matter. Complete failed Node, unittest and Go test evidence
382
+ now retains counters alongside failure status; malformed/interrupted evidence
383
+ still cannot invent counts. Native regressions cover all three parser families.
384
+
385
+ Rust/Cargo 1.98.1 compilation is verified in the official Alpine Linux image with
386
+ Node 22.23.2, networking disabled and synthetic fixtures. Native dep-info accounts
387
+ for inventoried Rust files, including spaces and build-script source; missing
388
+ feature targets, unlinked files and missing test-mode compilation prevent pass.
389
+ This profile does not run tests or support multi-package workspaces. See `RUST.md`
390
+ and `node scripts/verify-rust-container.mjs`.
391
+
392
+ Ruby syntax checking is verified with MRI 4.0.7 in an isolated Alpine container and
393
+ MRI 2.6.10 on the available macOS host. The profile includes Ruby DSL manifests,
394
+ disables gems and preload flags, and requires native success evidence per file.
395
+ Sentinel fixtures verify top-level/BEGIN code is not evaluated by syntax checking.
396
+ This adds no Ruby test, gem-resolution or Rails coverage. See `RUBY.md`.
397
+
398
+ Swift grammar checking is verified with Apple Swift 6.4 on arm64 macOS. It parses
399
+ inventoried source and Package.swift without evaluating the manifest, records the
400
+ native compiler and driver evidence, and excludes generated .build contents. The
401
+ native fixture explicitly distinguishes valid syntax from incorrect types. See
402
+ `SWIFT.md`; SwiftPM builds, type checks, tests and Linux support remain unverified.
403
+
404
+ Advisory guidance is now available through CLI/library/MCP using exact public
405
+ check/topic triggers. It returns review questions and references, never automated
406
+ findings or a passing result. Targeted mutation experiments use a separate
407
+ advisory report and the shared validator in fresh temporary copies. The initial
408
+ profile supports dependency-free flat Node tests and distinguishes native assertion
409
+ failures from syntax/import/runtime errors, changed identities and incomplete
410
+ execution. See `GUIDANCE.md` and `MUTATIONS.md` for limits and evidence.
411
+
412
+ The advisory guidance/mutation regression cases pass on Node 22.23.2, 24.21.0
413
+ and 26.8.1 on macOS. A fresh offline tarball install exercises their public library,
414
+ CLI and MCP surfaces, alongside the existing package smoke checks. Mutation MCP
415
+ cancellation keeps planning responsive and removes the temporary copy. Removing
416
+ the native assertion classification guard made the named runtime-error regression
417
+ fail; the original build was restored after the experiment.
418
+
419
+ Production npm dependency metadata and notice hashes now reconcile with the
420
+ installed tree and lockfile using `scripts/audit-dependencies.mjs`. A missing
421
+ bundled notice is supplemented from its pinned upstream commit, with the source
422
+ file comparison and manifest-version discrepancy recorded in `DEPENDENCIES.md`.
423
+ Development tools, native binaries and images remain outside this audit.
424
+
425
+ The C/C++ profile is verified with Apple Clang 21.0.0 on arm64 macOS and Alpine
426
+ Clang 22.1.3 on arm64 Linux. It executes prepared compilation-database argument
427
+ arrays without a build system, reconciles native SARIF and dependency evidence,
428
+ and requires inventoried translation units and headers to be observed. Native
429
+ cases exercise relative `__FILE__` preservation, configuration variants, headers
430
+ with spaces, generated/symlinked inputs, compiler errors and missing tools.
431
+ See `CLANG.md`; linking, code generation and test execution are not covered.
432
+ A fresh offline package install also passes this profile through library, CLI and
433
+ MCP on the verified macOS compiler. Removing the source-coverage reconciliation
434
+ made the omitted-source native regression fail; the original build was restored.
435
+ The dedicated Clang container job passed in the first hosted run; see `NATIVE-CI.md`.
436
+
437
+ The Java classpath profile is verified with Temurin JDK 25.0.4+7 on arm64 Linux.
438
+ Native fixtures cover public records, a type-error/fix pair, release mismatches,
439
+ raw-type warnings, empty/package files, multiple top-level types, excluded source,
440
+ pinned binary dependencies, disabled annotation processors, hidden manifest
441
+ classpaths and source-bearing JAR rejection. Static application initialization
442
+ was not executed and no class outputs appeared in the project. The prepared
443
+ container runs with its network disabled.
444
+
445
+ Fresh offline package installation passed the Java public library, CLI and MCP
446
+ checks. Removing the declared-type analysis guard made the native missing-analysis
447
+ regression fail; the original implementation was restored and native verification
448
+ rerun. `scripts/verify-java-container.mjs` reproduces both native and packaged checks.
449
+ The hosted amd64 job passed at `52ba415`; macOS has no prepared JDK.
450
+ See `NATIVE-CI.md`.
451
+ This is Java compilation under explicit settings, not Maven/Gradle, Kotlin/Scala,
452
+ JPMS, application tests or annotation-processor support. See `JAVA.md`.
453
+
454
+ A synthetic performance harness measures fresh-process planning and validation,
455
+ verifies expected execution counts, and records raw timings and artifact digests.
456
+ The recorded macOS/Node 26 and Linux/Node 22 samples are documented in
457
+ `PERFORMANCE.md`. Engine CPU and peak memory exclude child processes; these are
458
+ initial workload measurements, not speed guarantees or detection-quality evidence.
459
+
460
+ The C# compilation profile is verified on arm64 Linux with .NET SDK 10.0.401,
461
+ Roslyn assembly version 5.9.0.0 and runtime/reference pack 10.0.12. Native cases
462
+ exercise records, partial types, empty files, language-version restrictions,
463
+ nullable warnings, explicit symbols, unsafe settings, friend-assembly identity,
464
+ missing generated source and compiler suppressions. A compiled synthetic
465
+ reference includes both a module initializer and an incremental generator;
466
+ validation reads its metadata without executing them. The initializer has an
467
+ explicit execution control proving its observable marker works.
468
+
469
+ The semantic-accounting guard mutation caused the missing-analysis regression to
470
+ fail. Removing the assembly-file guard produced a false pass using an unpinned
471
+ `.netmodule`; the regression caught it. Both guards were restored. Fresh offline
472
+ installation passed the C# library, CLI and MCP checks. Reproduce native and
473
+ packaged verification with `scripts/verify-dotnet-container.mjs`. The hosted
474
+ amd64 job passed at `52ba415`; see `DOTNET.md` for compilation limits and
475
+ unsupported build, language and test profiles.
476
+
477
+ ## GitHub Actions workflow verification
478
+
479
+ The `infrastructure.actionlint` profile uses the official actionlint 1.7.12
480
+ release. Native macOS arm64 and Linux arm64 tests passed for workflow errors,
481
+ YAML failures, local action assets, reusable inputs, literal environment settings,
482
+ repository ignore bypass and per-file evidence accounting. A manual mutation
483
+ removing the native completion-count guard made an omitted completion record pass;
484
+ the accounting regression caught that false pass. The guard was restored.
485
+
486
+ The explicitly prepared Linux image verifies its downloaded release archive's
487
+ SHA-256 digest. Network-disabled runs with read-only repository and consumer
488
+ mounts passed native tests and a fresh offline-installed package's library, CLI
489
+ and MCP surfaces. The hosted amd64 job passed at `52ba415`; see `NATIVE-CI.md`.
490
+ See `ACTIONLINT.md` and `scripts/verify-actionlint-container.mjs` for reproduction and
491
+ profile limits. Other infrastructure tools remain unsupported.
492
+
493
+ ## Development evaluation
494
+
495
+ A separate original corpus now measures Node assertion, TypeScript type-contract
496
+ and GitHub Actions workflow cases against the shared engine and direct native
497
+ commands. Reports preserve every case, expected diagnostic signals, incomplete
498
+ observations, source/tool/artifact identities and raw timings. macOS arm64/Node 26
499
+ and network-disabled Linux arm64/Node 22 observations agree on classifications.
500
+ See `EVALUATION.md` and `docs/measurements/evaluation-*.json` for the actual counts.
501
+
502
+ This is post-implementation development evidence, not independent held-out
503
+ research or comparison with a private prior workflow. The measured TypeScript
504
+ improvement comes from forcing analysis on when the fixture disables it; the
505
+ other differences concern execution completeness and declared profile limits.
506
+ No general review-quality improvement, production false-positive rate or model
507
+ performance claim follows from these samples.
508
+
509
+ ## Next implementation work
510
+
511
+ 1. Broaden runtime matrices and native PHP tooling.
512
+ 2. Framework-specific scope and integration contracts.
513
+ 3. Framework integration and additional verified linter profiles.
514
+ 4. Additional ecosystem adapters and their native evidence.
515
+ 5. Semantic framework rules and native runtime collectors. Public check profiles,
516
+ finding ratchets and local private policy overlays are implemented; existing
517
+ private instruction files have not been migrated.
518
+ 6. Durable Tasks support after a compatible SDK passes the routing probe; the
519
+ lifecycle and persistence acceptance gates are in `MCP-COMPATIBILITY.md`.
520
+
521
+ Complete dependency/tool/environment fingerprints, automatically inferred workspace graphs,
522
+ remote/executable private plugins, native import-graph collection, remote serving, durable Tasks,
523
+ sandbox execution, automatic fixes and model-assisted review are not implemented.
524
+ The inventory intentionally does not read `.gitignore`; its fixed exclusions and
525
+ limits are documented in the README. Bundled adapter behavior is versioned with
526
+ the engine until adapters receive independent releases.
527
+
528
+ Tests and source fingerprints do not prove program correctness or secrecy against
529
+ malicious project code. The result means that the selected checks ran with the
530
+ reported evidence. It never means the entire repository has been reviewed.
package/docs/SWIFT.md ADDED
@@ -0,0 +1,48 @@
1
+ # Swift syntax profile
2
+
3
+ `swift.syntax` parses every inventoried `.swift` file, including `Package.swift`,
4
+ using installed `swiftc -frontend -parse -no-color-diagnostics`. It does not run
5
+ SwiftPM or evaluate the package manifest. The `.build` tree is excluded as generated
6
+ dependency/build output and remains visible in inventory exclusions.
7
+
8
+ This is grammar validation only. It does not type-check, resolve imports or package
9
+ dependencies, evaluate macros, link products, execute application code or run tests.
10
+ A syntactically valid `Int` initialized with a string can pass this profile; a native
11
+ regression test deliberately demonstrates that boundary. Active compilation
12
+ conditions follow the native parser's environment, not an all-platform matrix.
13
+
14
+ Planning only enumerates source. Running the compiler retains the operator trust
15
+ gate and the common literal-argument, process-tree cancellation, time/output and
16
+ source-freshness safeguards. Every planned file needs a zero exit and empty
17
+ stdout/stderr. Compiler errors fail; unexpected success output is incomplete.
18
+ Compiler identity is required. Apple Swift's separate driver-version stderr banner
19
+ is accepted only in its exact verified shape; arbitrary warnings are not ignored.
20
+
21
+ The native profile is verified with Apple Swift 6.4 on arm64 macOS, using the
22
+ available compiler build recorded in detailed version-probe output. Its version is
23
+ recorded as `6.4`, without inventing a patch component. Linux, SwiftPM build/test,
24
+ type checking and compiler plugins need separate execution evidence.
25
+
26
+ The public fixture is `examples/swift`:
27
+
28
+ ```sh
29
+ node dist/src/cli.js run --root examples/swift --trust-project
30
+ ```
31
+
32
+ The native test copies those public files to a temporary workspace, verifies that
33
+ top-level file-writing code is not executed, checks that `.build` is not generated,
34
+ and exercises broken grammar, repaired syntax and the type-checking limitation.
35
+ No dependencies are installed. As with every tool invocation, an arbitrary compiler
36
+ wrapper still runs with the operator's privileges; this is not sandboxing.
37
+
38
+ References: installed `swiftc -frontend -help` and the
39
+ [official compiler option definitions](https://github.com/swiftlang/swift/blob/main/include/swift/Option/Options.td).
40
+
41
+ The dedicated macOS CI job prints the runner's Swift version and invokes
42
+ `node scripts/verify-required-native-tests.mjs swift`. The exact native regression
43
+ must execute and pass; a skipped or missing compiler test fails this job. The
44
+ runner also rejects TODOs, duplicate required names and other failures in the
45
+ selected test file. Local Apple Swift 6.4 execution passes this required-test
46
+ path. The hosted job passed at `52ba415`; see `NATIVE-CI.md`. The hosted runner's
47
+ compiler is not pinned, so that result does not establish support for other
48
+ compiler versions.