@vibe-agent-toolkit/cli 0.2.0-rc.1 → 0.2.0-rc.10

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 (504) hide show
  1. package/README.md +4 -5
  2. package/dist/bin/vat +95 -28
  3. package/dist/bin/vat.js +95 -28
  4. package/dist/bin/vat.js.map +1 -1
  5. package/dist/bin.js +115 -76
  6. package/dist/bin.js.map +1 -1
  7. package/dist/command-loaders.d.ts +44 -0
  8. package/dist/command-loaders.d.ts.map +1 -0
  9. package/dist/command-loaders.js +60 -0
  10. package/dist/command-loaders.js.map +1 -0
  11. package/dist/commands/agent/build.d.ts.map +1 -1
  12. package/dist/commands/agent/build.js +2 -1
  13. package/dist/commands/agent/build.js.map +1 -1
  14. package/dist/commands/agent/import.d.ts.map +1 -1
  15. package/dist/commands/agent/import.js +3 -2
  16. package/dist/commands/agent/import.js.map +1 -1
  17. package/dist/commands/agent/index.js +1 -1
  18. package/dist/commands/agent/install-path.d.ts +36 -0
  19. package/dist/commands/agent/install-path.d.ts.map +1 -0
  20. package/dist/commands/agent/install-path.js +44 -0
  21. package/dist/commands/agent/install-path.js.map +1 -0
  22. package/dist/commands/agent/install.d.ts.map +1 -1
  23. package/dist/commands/agent/install.js +66 -13
  24. package/dist/commands/agent/install.js.map +1 -1
  25. package/dist/commands/agent/installed.d.ts.map +1 -1
  26. package/dist/commands/agent/installed.js +22 -12
  27. package/dist/commands/agent/installed.js.map +1 -1
  28. package/dist/commands/agent/list.d.ts.map +1 -1
  29. package/dist/commands/agent/list.js +2 -1
  30. package/dist/commands/agent/list.js.map +1 -1
  31. package/dist/commands/agent/run.d.ts.map +1 -1
  32. package/dist/commands/agent/run.js +2 -1
  33. package/dist/commands/agent/run.js.map +1 -1
  34. package/dist/commands/agent/uninstall.d.ts.map +1 -1
  35. package/dist/commands/agent/uninstall.js +13 -6
  36. package/dist/commands/agent/uninstall.js.map +1 -1
  37. package/dist/commands/agent/validate.d.ts.map +1 -1
  38. package/dist/commands/agent/validate.js +3 -2
  39. package/dist/commands/agent/validate.js.map +1 -1
  40. package/dist/commands/ard/emit.d.ts +153 -0
  41. package/dist/commands/ard/emit.d.ts.map +1 -0
  42. package/dist/commands/ard/emit.js +276 -0
  43. package/dist/commands/ard/emit.js.map +1 -0
  44. package/dist/commands/ard/index.d.ts +12 -0
  45. package/dist/commands/ard/index.d.ts.map +1 -0
  46. package/dist/commands/ard/index.js +80 -0
  47. package/dist/commands/ard/index.js.map +1 -0
  48. package/dist/commands/ard/surfaces.d.ts +56 -0
  49. package/dist/commands/ard/surfaces.d.ts.map +1 -0
  50. package/dist/commands/ard/surfaces.js +150 -0
  51. package/dist/commands/ard/surfaces.js.map +1 -0
  52. package/dist/commands/audit/distributed-tree.d.ts +2 -2
  53. package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
  54. package/dist/commands/audit/distributed-tree.js +11 -7
  55. package/dist/commands/audit/distributed-tree.js.map +1 -1
  56. package/dist/commands/audit/git-url-clone.d.ts +1 -1
  57. package/dist/commands/audit/git-url-clone.d.ts.map +1 -1
  58. package/dist/commands/audit/git-url-clone.js.map +1 -1
  59. package/dist/commands/audit/hierarchical-output.d.ts +1 -1
  60. package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
  61. package/dist/commands/audit/hierarchical-output.js +1 -1
  62. package/dist/commands/audit/hierarchical-output.js.map +1 -1
  63. package/dist/commands/audit/provenance.d.ts.map +1 -1
  64. package/dist/commands/audit/provenance.js +4 -3
  65. package/dist/commands/audit/provenance.js.map +1 -1
  66. package/dist/commands/audit/scan-population.d.ts +158 -0
  67. package/dist/commands/audit/scan-population.d.ts.map +1 -0
  68. package/dist/commands/audit/scan-population.js +292 -0
  69. package/dist/commands/audit/scan-population.js.map +1 -0
  70. package/dist/commands/audit-settings.d.ts.map +1 -1
  71. package/dist/commands/audit-settings.js +6 -5
  72. package/dist/commands/audit-settings.js.map +1 -1
  73. package/dist/commands/audit.d.ts +98 -8
  74. package/dist/commands/audit.d.ts.map +1 -1
  75. package/dist/commands/audit.js +1126 -394
  76. package/dist/commands/audit.js.map +1 -1
  77. package/dist/commands/build.d.ts +1 -1
  78. package/dist/commands/build.d.ts.map +1 -1
  79. package/dist/commands/build.js +40 -36
  80. package/dist/commands/build.js.map +1 -1
  81. package/dist/commands/cache/cache-control.d.ts +82 -0
  82. package/dist/commands/cache/cache-control.d.ts.map +1 -0
  83. package/dist/commands/cache/cache-control.js +86 -0
  84. package/dist/commands/cache/cache-control.js.map +1 -0
  85. package/dist/commands/cache/clear.d.ts +34 -6
  86. package/dist/commands/cache/clear.d.ts.map +1 -1
  87. package/dist/commands/cache/clear.js +101 -15
  88. package/dist/commands/cache/clear.js.map +1 -1
  89. package/dist/commands/cache/index.d.ts +13 -63
  90. package/dist/commands/cache/index.d.ts.map +1 -1
  91. package/dist/commands/cache/index.js +47 -79
  92. package/dist/commands/cache/index.js.map +1 -1
  93. package/dist/commands/claude/claude-config.d.ts.map +1 -1
  94. package/dist/commands/claude/claude-config.js +6 -0
  95. package/dist/commands/claude/claude-config.js.map +1 -1
  96. package/dist/commands/claude/context.d.ts +340 -0
  97. package/dist/commands/claude/context.d.ts.map +1 -0
  98. package/dist/commands/claude/context.js +1080 -0
  99. package/dist/commands/claude/context.js.map +1 -0
  100. package/dist/commands/claude/index.d.ts +14 -0
  101. package/dist/commands/claude/index.d.ts.map +1 -1
  102. package/dist/commands/claude/index.js +22 -2
  103. package/dist/commands/claude/index.js.map +1 -1
  104. package/dist/commands/claude/marketplace/changelog-utils.d.ts +1 -1
  105. package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
  106. package/dist/commands/claude/marketplace/changelog-utils.js +1 -2
  107. package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
  108. package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
  109. package/dist/commands/claude/marketplace/git-publish.js +40 -31
  110. package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
  111. package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
  112. package/dist/commands/claude/marketplace/license-utils.js +0 -1
  113. package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
  114. package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
  115. package/dist/commands/claude/marketplace/publish-tree.js +0 -6
  116. package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
  117. package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
  118. package/dist/commands/claude/marketplace/publish.js +2 -1
  119. package/dist/commands/claude/marketplace/publish.js.map +1 -1
  120. package/dist/commands/claude/marketplace/validate.d.ts +73 -22
  121. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  122. package/dist/commands/claude/marketplace/validate.js +407 -72
  123. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  124. package/dist/commands/claude/org/api-keys.d.ts +0 -3
  125. package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
  126. package/dist/commands/claude/org/api-keys.js +2 -1
  127. package/dist/commands/claude/org/api-keys.js.map +1 -1
  128. package/dist/commands/claude/org/helpers.d.ts +54 -1
  129. package/dist/commands/claude/org/helpers.d.ts.map +1 -1
  130. package/dist/commands/claude/org/helpers.js +42 -7
  131. package/dist/commands/claude/org/helpers.js.map +1 -1
  132. package/dist/commands/claude/org/index.d.ts.map +1 -1
  133. package/dist/commands/claude/org/index.js +24 -16
  134. package/dist/commands/claude/org/index.js.map +1 -1
  135. package/dist/commands/claude/org/invites.d.ts +0 -3
  136. package/dist/commands/claude/org/invites.d.ts.map +1 -1
  137. package/dist/commands/claude/org/invites.js +3 -2
  138. package/dist/commands/claude/org/invites.js.map +1 -1
  139. package/dist/commands/claude/org/skills.d.ts +527 -0
  140. package/dist/commands/claude/org/skills.d.ts.map +1 -1
  141. package/dist/commands/claude/org/skills.js +1414 -108
  142. package/dist/commands/claude/org/skills.js.map +1 -1
  143. package/dist/commands/claude/org/users.d.ts +0 -3
  144. package/dist/commands/claude/org/users.d.ts.map +1 -1
  145. package/dist/commands/claude/org/users.js +6 -3
  146. package/dist/commands/claude/org/users.js.map +1 -1
  147. package/dist/commands/claude/org/workspaces.d.ts +0 -3
  148. package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
  149. package/dist/commands/claude/org/workspaces.js +11 -7
  150. package/dist/commands/claude/org/workspaces.js.map +1 -1
  151. package/dist/commands/claude/plugin/build.d.ts +41 -3
  152. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  153. package/dist/commands/claude/plugin/build.js +147 -80
  154. package/dist/commands/claude/plugin/build.js.map +1 -1
  155. package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
  156. package/dist/commands/claude/plugin/helpers.js +2 -7
  157. package/dist/commands/claude/plugin/helpers.js.map +1 -1
  158. package/dist/commands/claude/plugin/install.d.ts +12 -0
  159. package/dist/commands/claude/plugin/install.d.ts.map +1 -1
  160. package/dist/commands/claude/plugin/install.js +93 -62
  161. package/dist/commands/claude/plugin/install.js.map +1 -1
  162. package/dist/commands/claude/plugin/list.d.ts.map +1 -1
  163. package/dist/commands/claude/plugin/list.js +3 -2
  164. package/dist/commands/claude/plugin/list.js.map +1 -1
  165. package/dist/commands/claude/plugin/marketplace-json.d.ts +24 -9
  166. package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -1
  167. package/dist/commands/claude/plugin/marketplace-json.js +10 -9
  168. package/dist/commands/claude/plugin/marketplace-json.js.map +1 -1
  169. package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
  170. package/dist/commands/claude/plugin/plugin-changelog.js +0 -2
  171. package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
  172. package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
  173. package/dist/commands/claude/plugin/plugin-files.js +3 -6
  174. package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
  175. package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
  176. package/dist/commands/claude/plugin/plugin-validators.js +3 -6
  177. package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
  178. package/dist/commands/claude/plugin/tree-copy.d.ts +73 -0
  179. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  180. package/dist/commands/claude/plugin/tree-copy.js +221 -14
  181. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  182. package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
  183. package/dist/commands/claude/plugin/uninstall.js +4 -4
  184. package/dist/commands/claude/plugin/uninstall.js.map +1 -1
  185. package/dist/commands/consistency-check.d.ts +17 -15
  186. package/dist/commands/consistency-check.d.ts.map +1 -1
  187. package/dist/commands/consistency-check.js +152 -106
  188. package/dist/commands/consistency-check.js.map +1 -1
  189. package/dist/commands/corpus/index.d.ts.map +1 -1
  190. package/dist/commands/corpus/index.js +3 -0
  191. package/dist/commands/corpus/index.js.map +1 -1
  192. package/dist/commands/corpus/report.d.ts +1 -2
  193. package/dist/commands/corpus/report.d.ts.map +1 -1
  194. package/dist/commands/corpus/report.js +1 -3
  195. package/dist/commands/corpus/report.js.map +1 -1
  196. package/dist/commands/corpus/runner.d.ts +58 -1
  197. package/dist/commands/corpus/runner.d.ts.map +1 -1
  198. package/dist/commands/corpus/runner.js +95 -41
  199. package/dist/commands/corpus/runner.js.map +1 -1
  200. package/dist/commands/corpus/scan.d.ts.map +1 -1
  201. package/dist/commands/corpus/scan.js +20 -12
  202. package/dist/commands/corpus/scan.js.map +1 -1
  203. package/dist/commands/corpus/seed.d.ts +4 -4
  204. package/dist/commands/corpus/seed.d.ts.map +1 -1
  205. package/dist/commands/corpus/seed.js +1 -3
  206. package/dist/commands/corpus/seed.js.map +1 -1
  207. package/dist/commands/doctor.d.ts +50 -0
  208. package/dist/commands/doctor.d.ts.map +1 -1
  209. package/dist/commands/doctor.js +245 -52
  210. package/dist/commands/doctor.js.map +1 -1
  211. package/dist/commands/inventory.d.ts +13 -1
  212. package/dist/commands/inventory.d.ts.map +1 -1
  213. package/dist/commands/inventory.js +121 -17
  214. package/dist/commands/inventory.js.map +1 -1
  215. package/dist/commands/mcp/collections.d.ts +1 -1
  216. package/dist/commands/mcp/collections.d.ts.map +1 -1
  217. package/dist/commands/mcp/list-collections.d.ts.map +1 -1
  218. package/dist/commands/mcp/list-collections.js +2 -1
  219. package/dist/commands/mcp/list-collections.js.map +1 -1
  220. package/dist/commands/mcp/serve.d.ts.map +1 -1
  221. package/dist/commands/mcp/serve.js +3 -2
  222. package/dist/commands/mcp/serve.js.map +1 -1
  223. package/dist/commands/okf/index.d.ts +11 -0
  224. package/dist/commands/okf/index.d.ts.map +1 -0
  225. package/dist/commands/okf/index.js +114 -0
  226. package/dist/commands/okf/index.js.map +1 -0
  227. package/dist/commands/okf/validate.d.ts +191 -0
  228. package/dist/commands/okf/validate.d.ts.map +1 -0
  229. package/dist/commands/okf/validate.js +190 -0
  230. package/dist/commands/okf/validate.js.map +1 -0
  231. package/dist/commands/phase-utils.d.ts +182 -114
  232. package/dist/commands/phase-utils.d.ts.map +1 -1
  233. package/dist/commands/phase-utils.js +154 -163
  234. package/dist/commands/phase-utils.js.map +1 -1
  235. package/dist/commands/positional-args.d.ts.map +1 -1
  236. package/dist/commands/positional-args.js +3 -2
  237. package/dist/commands/positional-args.js.map +1 -1
  238. package/dist/commands/rag/clear-command.d.ts.map +1 -1
  239. package/dist/commands/rag/clear-command.js +2 -1
  240. package/dist/commands/rag/clear-command.js.map +1 -1
  241. package/dist/commands/rag/index-command.d.ts +64 -0
  242. package/dist/commands/rag/index-command.d.ts.map +1 -1
  243. package/dist/commands/rag/index-command.js +72 -6
  244. package/dist/commands/rag/index-command.js.map +1 -1
  245. package/dist/commands/rag/index.d.ts.map +1 -1
  246. package/dist/commands/rag/index.js +23 -10
  247. package/dist/commands/rag/index.js.map +1 -1
  248. package/dist/commands/rag/query-command.d.ts.map +1 -1
  249. package/dist/commands/rag/query-command.js +2 -1
  250. package/dist/commands/rag/query-command.js.map +1 -1
  251. package/dist/commands/rag/stats-command.d.ts.map +1 -1
  252. package/dist/commands/rag/stats-command.js +2 -1
  253. package/dist/commands/rag/stats-command.js.map +1 -1
  254. package/dist/commands/resources/builtin-help.d.ts +27 -0
  255. package/dist/commands/resources/builtin-help.d.ts.map +1 -0
  256. package/dist/commands/resources/builtin-help.js +46 -0
  257. package/dist/commands/resources/builtin-help.js.map +1 -0
  258. package/dist/commands/resources/check-progress.d.ts +154 -0
  259. package/dist/commands/resources/check-progress.d.ts.map +1 -0
  260. package/dist/commands/resources/check-progress.js +222 -0
  261. package/dist/commands/resources/check-progress.js.map +1 -0
  262. package/dist/commands/resources/check-supervisor.d.ts +465 -0
  263. package/dist/commands/resources/check-supervisor.d.ts.map +1 -0
  264. package/dist/commands/resources/check-supervisor.js +573 -0
  265. package/dist/commands/resources/check-supervisor.js.map +1 -0
  266. package/dist/commands/resources/check.d.ts +593 -0
  267. package/dist/commands/resources/check.d.ts.map +1 -0
  268. package/dist/commands/resources/check.js +1365 -0
  269. package/dist/commands/resources/check.js.map +1 -0
  270. package/dist/commands/resources/index.d.ts.map +1 -1
  271. package/dist/commands/resources/index.js +418 -4
  272. package/dist/commands/resources/index.js.map +1 -1
  273. package/dist/commands/resources/query.d.ts +106 -0
  274. package/dist/commands/resources/query.d.ts.map +1 -0
  275. package/dist/commands/resources/query.js +177 -0
  276. package/dist/commands/resources/query.js.map +1 -0
  277. package/dist/commands/resources/scan.d.ts +24 -0
  278. package/dist/commands/resources/scan.d.ts.map +1 -1
  279. package/dist/commands/resources/scan.js +17 -8
  280. package/dist/commands/resources/scan.js.map +1 -1
  281. package/dist/commands/resources/validate.d.ts +42 -2
  282. package/dist/commands/resources/validate.d.ts.map +1 -1
  283. package/dist/commands/resources/validate.js +208 -55
  284. package/dist/commands/resources/validate.js.map +1 -1
  285. package/dist/commands/skill/review-checklist.d.ts +3 -2
  286. package/dist/commands/skill/review-checklist.d.ts.map +1 -1
  287. package/dist/commands/skill/review-checklist.js +40 -2
  288. package/dist/commands/skill/review-checklist.js.map +1 -1
  289. package/dist/commands/skill/review.d.ts +247 -0
  290. package/dist/commands/skill/review.d.ts.map +1 -1
  291. package/dist/commands/skill/review.js +99 -62
  292. package/dist/commands/skill/review.js.map +1 -1
  293. package/dist/commands/skill/test/configure.d.ts +56 -0
  294. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  295. package/dist/commands/skill/test/configure.js +75 -16
  296. package/dist/commands/skill/test/configure.js.map +1 -1
  297. package/dist/commands/skill/test/run.d.ts +63 -10
  298. package/dist/commands/skill/test/run.d.ts.map +1 -1
  299. package/dist/commands/skill/test/run.js +258 -77
  300. package/dist/commands/skill/test/run.js.map +1 -1
  301. package/dist/commands/skills/build.d.ts +94 -4
  302. package/dist/commands/skills/build.d.ts.map +1 -1
  303. package/dist/commands/skills/build.js +325 -97
  304. package/dist/commands/skills/build.js.map +1 -1
  305. package/dist/commands/skills/install.d.ts +2 -1
  306. package/dist/commands/skills/install.d.ts.map +1 -1
  307. package/dist/commands/skills/install.js +20 -31
  308. package/dist/commands/skills/install.js.map +1 -1
  309. package/dist/commands/skills/list.d.ts +2 -1
  310. package/dist/commands/skills/list.d.ts.map +1 -1
  311. package/dist/commands/skills/list.js +44 -26
  312. package/dist/commands/skills/list.js.map +1 -1
  313. package/dist/commands/skills/package.d.ts +1 -1
  314. package/dist/commands/skills/package.d.ts.map +1 -1
  315. package/dist/commands/skills/package.js +6 -8
  316. package/dist/commands/skills/package.js.map +1 -1
  317. package/dist/commands/skills/scope-guard.d.ts.map +1 -1
  318. package/dist/commands/skills/scope-guard.js +3 -5
  319. package/dist/commands/skills/scope-guard.js.map +1 -1
  320. package/dist/commands/skills/shared.d.ts.map +1 -1
  321. package/dist/commands/skills/shared.js +2 -4
  322. package/dist/commands/skills/shared.js.map +1 -1
  323. package/dist/commands/skills/skill-discovery.d.ts +47 -6
  324. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  325. package/dist/commands/skills/skill-discovery.js +61 -11
  326. package/dist/commands/skills/skill-discovery.js.map +1 -1
  327. package/dist/commands/skills/source-resolvers.d.ts +15 -0
  328. package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
  329. package/dist/commands/skills/source-resolvers.js +25 -4
  330. package/dist/commands/skills/source-resolvers.js.map +1 -1
  331. package/dist/commands/skills/validate-command.d.ts.map +1 -1
  332. package/dist/commands/skills/validate-command.js +11 -3
  333. package/dist/commands/skills/validate-command.js.map +1 -1
  334. package/dist/commands/skills/validate.d.ts +140 -4
  335. package/dist/commands/skills/validate.d.ts.map +1 -1
  336. package/dist/commands/skills/validate.js +224 -67
  337. package/dist/commands/skills/validate.js.map +1 -1
  338. package/dist/commands/validate.d.ts +1 -1
  339. package/dist/commands/validate.d.ts.map +1 -1
  340. package/dist/commands/validate.js +63 -27
  341. package/dist/commands/validate.js.map +1 -1
  342. package/dist/commands/verify.d.ts +119 -15
  343. package/dist/commands/verify.d.ts.map +1 -1
  344. package/dist/commands/verify.js +357 -142
  345. package/dist/commands/verify.js.map +1 -1
  346. package/dist/index.d.ts +0 -1
  347. package/dist/index.d.ts.map +1 -1
  348. package/dist/index.js +5 -1
  349. package/dist/index.js.map +1 -1
  350. package/dist/report-schemas.d.ts +45 -0
  351. package/dist/report-schemas.d.ts.map +1 -0
  352. package/dist/report-schemas.js +100 -0
  353. package/dist/report-schemas.js.map +1 -0
  354. package/dist/skill-resolution/classify.js +2 -2
  355. package/dist/skill-resolution/classify.js.map +1 -1
  356. package/dist/skill-resolution/packaging-config.d.ts +49 -5
  357. package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
  358. package/dist/skill-resolution/packaging-config.js +59 -19
  359. package/dist/skill-resolution/packaging-config.js.map +1 -1
  360. package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
  361. package/dist/skill-resolution/resolve-skill-reference.js +55 -57
  362. package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
  363. package/dist/utils/agent-discovery.d.ts.map +1 -1
  364. package/dist/utils/agent-discovery.js +22 -11
  365. package/dist/utils/agent-discovery.js.map +1 -1
  366. package/dist/utils/agent-runner.d.ts.map +1 -1
  367. package/dist/utils/agent-runner.js +7 -4
  368. package/dist/utils/agent-runner.js.map +1 -1
  369. package/dist/utils/claude-context-lens.d.ts +34 -0
  370. package/dist/utils/claude-context-lens.d.ts.map +1 -0
  371. package/dist/utils/claude-context-lens.js +39 -0
  372. package/dist/utils/claude-context-lens.js.map +1 -0
  373. package/dist/utils/command-error.d.ts +138 -20
  374. package/dist/utils/command-error.d.ts.map +1 -1
  375. package/dist/utils/command-error.js +172 -36
  376. package/dist/utils/command-error.js.map +1 -1
  377. package/dist/utils/config-loader.d.ts +2 -1
  378. package/dist/utils/config-loader.d.ts.map +1 -1
  379. package/dist/utils/config-loader.js +40 -14
  380. package/dist/utils/config-loader.js.map +1 -1
  381. package/dist/utils/corpus-target.d.ts +26 -0
  382. package/dist/utils/corpus-target.d.ts.map +1 -0
  383. package/dist/utils/corpus-target.js +35 -0
  384. package/dist/utils/corpus-target.js.map +1 -0
  385. package/dist/utils/edge-lens-evaluation.d.ts +83 -0
  386. package/dist/utils/edge-lens-evaluation.d.ts.map +1 -0
  387. package/dist/utils/edge-lens-evaluation.js +110 -0
  388. package/dist/utils/edge-lens-evaluation.js.map +1 -0
  389. package/dist/utils/help-loader.d.ts.map +1 -1
  390. package/dist/utils/help-loader.js +0 -1
  391. package/dist/utils/help-loader.js.map +1 -1
  392. package/dist/utils/issue-anchor.d.ts +2 -2
  393. package/dist/utils/issue-anchor.d.ts.map +1 -1
  394. package/dist/utils/issue-anchor.js +1 -1
  395. package/dist/utils/issue-rendering.d.ts +3 -3
  396. package/dist/utils/issue-rendering.d.ts.map +1 -1
  397. package/dist/utils/issue-rendering.js +3 -3
  398. package/dist/utils/issue-rendering.js.map +1 -1
  399. package/dist/utils/issue-severity.d.ts +12 -5
  400. package/dist/utils/issue-severity.d.ts.map +1 -1
  401. package/dist/utils/issue-severity.js +1 -1
  402. package/dist/utils/issue-severity.js.map +1 -1
  403. package/dist/utils/optional-backend.d.ts +78 -0
  404. package/dist/utils/optional-backend.d.ts.map +1 -0
  405. package/dist/utils/optional-backend.js +117 -0
  406. package/dist/utils/optional-backend.js.map +1 -0
  407. package/dist/utils/output.d.ts +26 -0
  408. package/dist/utils/output.d.ts.map +1 -1
  409. package/dist/utils/output.js +35 -0
  410. package/dist/utils/output.js.map +1 -1
  411. package/dist/utils/package-json.d.ts +24 -0
  412. package/dist/utils/package-json.d.ts.map +1 -0
  413. package/dist/utils/package-json.js +49 -0
  414. package/dist/utils/package-json.js.map +1 -0
  415. package/dist/utils/population-wiring.d.ts +100 -0
  416. package/dist/utils/population-wiring.d.ts.map +1 -0
  417. package/dist/utils/population-wiring.js +98 -0
  418. package/dist/utils/population-wiring.js.map +1 -0
  419. package/dist/utils/project-root-policy.d.ts +20 -0
  420. package/dist/utils/project-root-policy.d.ts.map +1 -1
  421. package/dist/utils/project-root-policy.js +30 -0
  422. package/dist/utils/project-root-policy.js.map +1 -1
  423. package/dist/utils/projection-lenses.d.ts +98 -0
  424. package/dist/utils/projection-lenses.d.ts.map +1 -0
  425. package/dist/utils/projection-lenses.js +203 -0
  426. package/dist/utils/projection-lenses.js.map +1 -0
  427. package/dist/utils/projection-query.d.ts +324 -0
  428. package/dist/utils/projection-query.d.ts.map +1 -0
  429. package/dist/utils/projection-query.js +357 -0
  430. package/dist/utils/projection-query.js.map +1 -0
  431. package/dist/utils/projection-store.d.ts +335 -0
  432. package/dist/utils/projection-store.d.ts.map +1 -0
  433. package/dist/utils/projection-store.js +522 -0
  434. package/dist/utils/projection-store.js.map +1 -0
  435. package/dist/utils/relation-limits.d.ts +50 -0
  436. package/dist/utils/relation-limits.d.ts.map +1 -0
  437. package/dist/utils/relation-limits.js +50 -0
  438. package/dist/utils/relation-limits.js.map +1 -0
  439. package/dist/utils/repeatable-option.d.ts +37 -0
  440. package/dist/utils/repeatable-option.d.ts.map +1 -0
  441. package/dist/utils/repeatable-option.js +39 -0
  442. package/dist/utils/repeatable-option.js.map +1 -0
  443. package/dist/utils/resource-loader.d.ts +132 -2
  444. package/dist/utils/resource-loader.d.ts.map +1 -1
  445. package/dist/utils/resource-loader.js +288 -27
  446. package/dist/utils/resource-loader.js.map +1 -1
  447. package/dist/utils/root-argv.d.ts +53 -0
  448. package/dist/utils/root-argv.d.ts.map +1 -0
  449. package/dist/utils/root-argv.js +215 -0
  450. package/dist/utils/root-argv.js.map +1 -0
  451. package/dist/utils/run-integrity.d.ts +95 -0
  452. package/dist/utils/run-integrity.d.ts.map +1 -0
  453. package/dist/utils/run-integrity.js +102 -0
  454. package/dist/utils/run-integrity.js.map +1 -0
  455. package/dist/utils/skill-discovery.d.ts.map +1 -1
  456. package/dist/utils/skill-discovery.js +2 -1
  457. package/dist/utils/skill-discovery.js.map +1 -1
  458. package/dist/utils/skill-packaging-config.d.ts +63 -1
  459. package/dist/utils/skill-packaging-config.d.ts.map +1 -1
  460. package/dist/utils/skill-packaging-config.js +56 -1
  461. package/dist/utils/skill-packaging-config.js.map +1 -1
  462. package/dist/utils/sqlite-experimental-warning.d.ts +69 -0
  463. package/dist/utils/sqlite-experimental-warning.d.ts.map +1 -0
  464. package/dist/utils/sqlite-experimental-warning.js +144 -0
  465. package/dist/utils/sqlite-experimental-warning.js.map +1 -0
  466. package/dist/utils/url-redact.d.ts.map +1 -1
  467. package/dist/utils/url-redact.js +4 -6
  468. package/dist/utils/url-redact.js.map +1 -1
  469. package/dist/utils/user-context-scanner.d.ts +8 -0
  470. package/dist/utils/user-context-scanner.d.ts.map +1 -1
  471. package/dist/utils/user-context-scanner.js +4 -2
  472. package/dist/utils/user-context-scanner.js.map +1 -1
  473. package/dist/utils/validate-help-files.d.ts.map +1 -1
  474. package/dist/utils/validate-help-files.js +12 -6
  475. package/dist/utils/validate-help-files.js.map +1 -1
  476. package/dist/utils/vat-bin-path.d.ts +36 -0
  477. package/dist/utils/vat-bin-path.d.ts.map +1 -0
  478. package/dist/utils/vat-bin-path.js +48 -0
  479. package/dist/utils/vat-bin-path.js.map +1 -0
  480. package/dist/utils/verdict-helpers.d.ts +1 -1
  481. package/dist/utils/verdict-helpers.d.ts.map +1 -1
  482. package/dist/utils/verdict-helpers.js +1 -1
  483. package/dist/utils/verdict-helpers.js.map +1 -1
  484. package/dist/version.d.ts.map +1 -1
  485. package/dist/version.js +1 -3
  486. package/dist/version.js.map +1 -1
  487. package/docs/agent.md +2 -2
  488. package/docs/audit.md +141 -37
  489. package/docs/doctor.md +7 -6
  490. package/docs/index.md +19 -11
  491. package/docs/mcp.md +2 -2
  492. package/docs/rag.md +3 -2
  493. package/docs/resources.md +13 -3
  494. package/docs/skill-test.md +10 -9
  495. package/docs/skills.md +53 -69
  496. package/package.json +35 -26
  497. package/schemas/ard-emit.json +149 -0
  498. package/schemas/okf-validate.json +170 -0
  499. package/schemas/resources-check.json +229 -0
  500. package/schemas/skill-review.json +230 -0
  501. package/dist/commands/resources/command-helpers.d.ts +0 -5
  502. package/dist/commands/resources/command-helpers.d.ts.map +0 -1
  503. package/dist/commands/resources/command-helpers.js +0 -6
  504. package/dist/commands/resources/command-helpers.js.map +0 -1
@@ -5,47 +5,37 @@
5
5
  * Config.yaml discovery is the SOURCE OF TRUTH for what skills exist.
6
6
  * package.json is a SUSPECT being validated, never an input for truth.
7
7
  */
8
- import { readFileSync, existsSync } from 'node:fs';
9
- import { getPluginSourceDir } from '@vibe-agent-toolkit/agent-skills';
10
- import { safeExecResult, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
8
+ import { existsSync } from 'node:fs';
9
+ import { basename, dirname } from 'node:path';
10
+ import { safePath } from '@vibe-agent-toolkit/utils';
11
+ import { runGit } from '@vibe-agent-toolkit/utils/git';
12
+ import { readPackageJsonOrAbsent } from '../utils/package-json.js';
13
+ import { isSkillPublished, mergeSkillPackagingConfig, publishScope } from '../utils/skill-packaging-config.js';
11
14
  // ---------------------------------------------------------------------------
12
15
  // Helpers
13
16
  // ---------------------------------------------------------------------------
14
17
  /**
15
- * Determine whether a skill is published.
16
- * `publish` defaults to `true` when not set in skills.config.
18
+ * A skill's MERGED packaging config — `skills.defaults` under `skills.config.<name>` —
19
+ * so `skills.defaults.publish` counts here exactly as it does in `vat build` and
20
+ * `vat verify`. The per-name reader this replaces looked at `skills.config.<name>` alone.
17
21
  */
18
- export function isSkillPublished(skillName, config) {
19
- const perSkill = config.skills?.config?.[skillName];
20
- // Default to true when publish is not explicitly set
21
- if (perSkill?.publish === undefined) {
22
- return true;
23
- }
24
- return perSkill.publish;
22
+ function packagingOf(skillName, config) {
23
+ return mergeSkillPackagingConfig(config.skills?.defaults, config.skills?.config?.[skillName]);
25
24
  }
26
25
  /**
27
26
  * Read the `vat.skills` array from `package.json` at the given project root.
28
27
  * Returns `undefined` when no `package.json` or no `vat.skills` field exists.
29
28
  */
30
29
  export function readVatSkillsFromPackageJson(projectRoot) {
31
- const pkgPath = safePath.join(projectRoot, 'package.json');
32
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- pkgPath derived from projectRoot parameter
33
- if (!existsSync(pkgPath)) {
34
- return undefined;
35
- }
36
- try {
37
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- pkgPath derived from projectRoot parameter
38
- const raw = readFileSync(pkgPath, 'utf-8');
39
- const pkg = JSON.parse(raw);
40
- const vat = pkg['vat'];
41
- if (!vat || !Array.isArray(vat['skills'])) {
42
- return undefined;
43
- }
44
- return vat['skills'];
45
- }
46
- catch {
30
+ // Absent manifest, or one with no `vat.skills`: nothing declared. A manifest
31
+ // that is there and cannot be read is NOT "nothing declared" — it used to be,
32
+ // and the cross-check then verified nothing and said so nowhere.
33
+ const pkg = readPackageJsonOrAbsent(safePath.join(projectRoot, 'package.json'));
34
+ const vat = pkg?.['vat'];
35
+ if (!vat || !Array.isArray(vat['skills'])) {
47
36
  return undefined;
48
37
  }
38
+ return vat['skills'];
49
39
  }
50
40
  /**
51
41
  * Match a skill name against a simple glob selector.
@@ -99,42 +89,32 @@ function addMatchingSkills(assigned, pluginSkills, publishedSkillNames) {
99
89
  }
100
90
  }
101
91
  /**
102
- * Resolve which published skills are assigned to at least one plugin.
92
+ * Resolve which skills are assigned to at least one plugin.
103
93
  *
104
94
  * Assignment is additive per plugin:
105
- * - **Pool path**: `plugin.skills` glob selectors matched against published skill names.
106
- * - **Source tree-copy path**: any discovered published skill whose `sourcePath` lives
107
- * under `<getPluginSourceDir(projectRoot, plugin)>/skills/` is considered assigned,
108
- * matched by physical location rather than name selectors.
95
+ * - **Pool path**: `plugin.skills` glob selectors matched against PUBLISHED skill
96
+ * names — a `publish: false` skill is not in the pool, so no selector reaches it.
97
+ * - **Plugin-local path**: any discovered skill the plugin build packages — its
98
+ * `SKILL.md` directory is a location in `pluginLocal` (`indexPluginLocalSkills`:
99
+ * git-tracked skill dirs under a plugin's `skills/`) — is assigned by location,
100
+ * INDEPENDENT of `publish`: it ships with its plugin either way. A skill merely
101
+ * sitting there untracked is not: the plugin build does not ship it.
109
102
  *
110
- * Returns the set of published skill names assigned to at least one plugin.
103
+ * Returns the set of skill names assigned to at least one plugin.
111
104
  */
112
- export function resolveAssignedSkills(config, discoveredSkills, projectRoot) {
113
- const assigned = new Set();
105
+ export function resolveAssignedSkills(config, discoveredSkills, pluginLocal) {
106
+ const assigned = new Set(discoveredSkills.filter((s) => pluginLocal.locationOf(s.sourcePath) !== undefined).map((s) => s.name));
114
107
  const marketplaces = config.claude?.marketplaces;
115
108
  if (!marketplaces) {
116
109
  return assigned;
117
110
  }
118
111
  // Compute published names once for pool-selector matching
119
112
  const publishedNames = discoveredSkills
120
- .filter((s) => isSkillPublished(s.name, config))
113
+ .filter((s) => isSkillPublished(packagingOf(s.name, config)))
121
114
  .map((s) => s.name);
122
115
  for (const marketplace of Object.values(marketplaces)) {
123
116
  for (const plugin of marketplace.plugins) {
124
- // Pool path: existing glob selector matching (unchanged)
125
117
  addMatchingSkills(assigned, plugin.skills, publishedNames);
126
- // Source tree-copy path: match by physical location under <pluginSourceDir>/skills/
127
- // Use a trailing slash to enforce a path-separator boundary and avoid false matches
128
- // against sibling directories with a common prefix (e.g. /skills vs /skills-extra).
129
- const srcSkillsDir = safePath.join(getPluginSourceDir(projectRoot, plugin), 'skills');
130
- const srcSkillsPrefix = `${srcSkillsDir}/`;
131
- for (const skill of discoveredSkills) {
132
- if (!isSkillPublished(skill.name, config))
133
- continue;
134
- if (toForwardSlash(skill.sourcePath).startsWith(srcSkillsPrefix)) {
135
- assigned.add(skill.name);
136
- }
137
- }
138
118
  }
139
119
  }
140
120
  return assigned;
@@ -214,42 +194,100 @@ function checkUnpublishedSkillInPackageJson(unpublishedNames, vatSkills) {
214
194
  }
215
195
  return issues;
216
196
  }
217
- function checkPublishedSkillNotInPlugin(publishedNames, config, assignedSkills) {
197
+ /**
198
+ * The fix for a published skill no plugin ships — saying what is TRUE of this skill.
199
+ * A skill under a plugin's `skills/` that the plugin build does not package gets the
200
+ * reason ({@link PluginSkillExclusion}): untracked (`git add` it) or nested inside
201
+ * another skill's directory (where `git add` changes nothing). Any other skill gets the
202
+ * two config remedies alone — a "git add" hint on a skill nowhere near a plugin is noise.
203
+ */
204
+ function notInPluginFix(skill, exclusion, context) {
205
+ const { name } = skill;
206
+ const configRemedies = `add "${name}" to a plugin's skills array in vibe-agent-toolkit.config.yaml: claude.marketplaces.<marketplace>.plugins[].skills, or opt out of publishing by setting publish: false in vibe-agent-toolkit.config.yaml: skills.config.${name}.publish: false`;
207
+ const rel = (dir) => safePath.relative(context.projectRoot, dir);
208
+ if (exclusion?.kind === 'untracked') {
209
+ return `"${name}" sits under plugin "${exclusion.pluginName}"'s skills/ directory, but git does not track it, so that plugin's build does not ship it: git add ${rel(exclusion.skillSourceDir)}. Otherwise, ${configRemedies}.`;
210
+ }
211
+ if (exclusion?.kind === 'nested') {
212
+ const { outer } = exclusion;
213
+ const outerName = context.discovered.find((candidate) => safePath.resolve(dirname(candidate.sourcePath)) === safePath.resolve(outer.skillSourceDir))?.name ?? basename(outer.skillSourceDir);
214
+ return `"${name}" is nested inside skill "${outerName}" (${rel(outer.skillSourceDir)}) under plugin "${outer.pluginName}"'s skills/ directory, and the plugin build ships only the outermost skill directory, so "${name}" is never packaged as a skill of its own. Move it to its own directory under skills/, or ${configRemedies}.`;
215
+ }
216
+ return `Either ${configRemedies}`;
217
+ }
218
+ function checkPublishedSkillNotInPlugin(publishedSkills, config, assignedSkills, context) {
218
219
  if (!config.claude?.marketplaces) {
219
220
  return [];
220
221
  }
221
- const issues = [];
222
- for (const name of publishedNames) {
223
- if (!assignedSkills.has(name)) {
224
- issues.push({
225
- severity: 'error',
226
- code: 'PUBLISHED_SKILL_NOT_IN_PLUGIN',
227
- message: `Skill "${name}" is published but not assigned to any plugin in claude.marketplaces.`,
228
- fix: `Either add "${name}" to a plugin's skills array in vibe-agent-toolkit.config.yaml: claude.marketplaces.<marketplace>.plugins[].skills, or opt out of publishing by setting publish: false in vibe-agent-toolkit.config.yaml: skills.config.${name}.publish: false`,
229
- });
222
+ return publishedSkills.filter((skill) => !assignedSkills.has(skill.name)).map((skill) => ({
223
+ severity: 'error',
224
+ code: 'PUBLISHED_SKILL_NOT_IN_PLUGIN',
225
+ message: `Skill "${skill.name}" is published but not assigned to any plugin in claude.marketplaces.`,
226
+ fix: notInPluginFix(skill, context.pluginLocal.exclusionOf(skill.sourcePath), context),
227
+ }));
228
+ }
229
+ /** The key of a plugin as listed in one marketplace. */
230
+ function pluginKey(marketplaceName, pluginName) {
231
+ return `${marketplaceName}\0${pluginName}`;
232
+ }
233
+ /** Every discovered skill's name, under each plugin (per marketplace listing) whose build ships it. */
234
+ function pluginLocalNamesByPlugin(discoveredSkills, pluginLocal) {
235
+ const byPlugin = new Map();
236
+ for (const skill of discoveredSkills) {
237
+ for (const loc of pluginLocal.locationsOf(skill.sourcePath)) {
238
+ const key = pluginKey(loc.marketplaceName, loc.pluginName);
239
+ byPlugin.set(key, (byPlugin.get(key) ?? new Set()).add(skill.name));
230
240
  }
231
241
  }
232
- return issues;
242
+ return byPlugin;
233
243
  }
234
244
  /**
235
- * Check a single plugin's skill selectors against discovered skill names.
245
+ * A selector matching no skill that ships FOR THIS PLUGIN selects nothing: the claude
246
+ * phase picks from `dist/skills`, which carries only published skills, so the plugin
247
+ * would silently ship without them. Such a match is either in-place (used from the repo)
248
+ * or `publish: false` and plugin-local to ANOTHER plugin — which ships it, and only it.
236
249
  */
237
- function checkPluginSelectors(pluginSkills, pluginName, marketplaceName, discoveredNames) {
250
+ function checkPluginSelectors(pluginSkills, pluginName, marketplaceName, names) {
238
251
  const issues = [];
252
+ const where = `vibe-agent-toolkit.config.yaml: claude.marketplaces.${marketplaceName}.plugins (plugin "${pluginName}")`;
253
+ const localHere = names.pluginLocalByPlugin.get(pluginKey(marketplaceName, pluginName)) ?? new Set();
254
+ const code = 'PLUGIN_REFERENCES_UNKNOWN_SKILL';
255
+ const subject = (selector) => `Plugin "${pluginName}" in marketplace "${marketplaceName}" references skill selector "${selector}"`;
239
256
  for (const selector of pluginSkills) {
240
- const matchesAny = [...discoveredNames].some((name) => matchesSimpleGlob(name, selector));
241
- if (!matchesAny) {
257
+ const matching = [...names.discovered].filter((name) => matchesSimpleGlob(name, selector));
258
+ if (matching.length === 0) {
242
259
  issues.push({
243
260
  severity: 'error',
244
- code: 'PLUGIN_REFERENCES_UNKNOWN_SKILL',
245
- message: `Plugin "${pluginName}" in marketplace "${marketplaceName}" references skill selector "${selector}" which matches no discovered skill.`,
246
- fix: `Check for typos in vibe-agent-toolkit.config.yaml: claude.marketplaces.${marketplaceName}.plugins (plugin "${pluginName}"). The selector must match at least one discovered SKILL.md name.`,
261
+ code,
262
+ message: `${subject(selector)} which matches no discovered skill.`,
263
+ fix: `Check for typos in ${where}. The selector must match at least one discovered SKILL.md name.`,
264
+ });
265
+ }
266
+ else if (!matching.some((name) => names.published.has(name) || localHere.has(name))) {
267
+ const owners = otherOwners(matching, names.pluginLocalByPlugin).map((owner) => JSON.stringify(owner)).join(', ');
268
+ const matches = owners === ''
269
+ ? 'which matches only in-place skills (publish: false) — never built into dist/skills'
270
+ : `which matches only publish: false skills plugin-local to ${owners} — shipped by that plugin alone, never built into dist/skills`;
271
+ issues.push({
272
+ severity: 'error',
273
+ code,
274
+ message: `${subject(selector)}, ${matches}, so the plugin would ship without them.`,
275
+ fix: `Set skills.config.<name>.publish: true for the skill(s) this plugin ships, or remove the selector from ${where}.`,
247
276
  });
248
277
  }
249
278
  }
250
279
  return issues;
251
280
  }
252
- function checkPluginReferencesUnknownSkill(discoveredNames, config) {
281
+ /** The plugins (by name, sorted, unique) whose build ships any of `names`. */
282
+ function otherOwners(names, pluginLocalByPlugin) {
283
+ const owners = new Set();
284
+ for (const [key, local] of pluginLocalByPlugin) {
285
+ if (names.some((name) => local.has(name)))
286
+ owners.add(key.slice(key.indexOf('\0') + 1));
287
+ }
288
+ return [...owners].sort((a, b) => a.localeCompare(b));
289
+ }
290
+ function checkPluginReferencesUnknownSkill(names, config) {
253
291
  const marketplaces = config.claude?.marketplaces;
254
292
  if (!marketplaces) {
255
293
  return [];
@@ -260,41 +298,34 @@ function checkPluginReferencesUnknownSkill(discoveredNames, config) {
260
298
  if (plugin.skills === '*') {
261
299
  continue;
262
300
  }
263
- issues.push(...checkPluginSelectors(plugin.skills, plugin.name, marketplaceName, discoveredNames));
301
+ issues.push(...checkPluginSelectors(plugin.skills, plugin.name, marketplaceName, names));
264
302
  }
265
303
  }
266
304
  return issues;
267
305
  }
268
- function checkSkillUnpublished(unpublishedNames) {
269
- return unpublishedNames.map((name) => ({
306
+ /**
307
+ * One info per IN-PLACE skill (`publishScope` says `in-place`). A plugin-only skill is
308
+ * not passed here: it still ships with its plugin, so "in-place" would be a false
309
+ * statement about it.
310
+ */
311
+ function checkSkillUnpublished(inPlaceNames) {
312
+ return inPlaceNames.map((name) => ({
270
313
  severity: 'info',
271
314
  code: 'SKILL_UNPUBLISHED',
272
- message: `Skill "${name}" is marked publish: false — not distributed.`,
273
- fix: `To publish this skill, remove the publish: false setting in vibe-agent-toolkit.config.yaml: skills.config.${name}.publish.`,
315
+ message: `Skill "${name}" is publish: false — an in-place skill: validated at source, never bundled into dist/skills, never expected by vat verify.`,
316
+ fix: `To distribute this skill through the pool, set publish: true in vibe-agent-toolkit.config.yaml: skills.config.${name}.publish (or drop the false under skills.defaults).`,
274
317
  }));
275
318
  }
276
319
  /**
277
320
  * Read the `files` array from a package's `package.json`.
278
- * Returns an empty array when the file is absent, unreadable, or has no `files` field.
321
+ * Returns an empty array when the file is absent or has no `files` field. A
322
+ * manifest that is there and cannot be read throws — an empty allowlist is a
323
+ * finding ("vendor/ is not shipped"), and it must not be minted by a parse error.
279
324
  */
280
325
  function readPackageJsonFilesAllowlist(packageDir) {
281
- const pkgPath = safePath.join(packageDir, 'package.json');
282
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- pkgPath derived from trusted packageDir parameter
283
- if (!existsSync(pkgPath)) {
284
- return [];
285
- }
286
- try {
287
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- pkgPath derived from trusted packageDir parameter
288
- const raw = readFileSync(pkgPath, 'utf-8');
289
- const pkg = JSON.parse(raw);
290
- if (!Array.isArray(pkg['files'])) {
291
- return [];
292
- }
293
- return pkg['files'];
294
- }
295
- catch {
296
- return [];
297
- }
326
+ const pkg = readPackageJsonOrAbsent(safePath.join(packageDir, 'package.json'));
327
+ const files = pkg?.['files'];
328
+ return Array.isArray(files) ? files : [];
298
329
  }
299
330
  /**
300
331
  * Check vendored skill-creator licensing artifacts for the agent-skills package.
@@ -311,7 +342,6 @@ function readPackageJsonFilesAllowlist(packageDir) {
311
342
  */
312
343
  function checkVendoredLicensing(projectRoot) {
313
344
  const agentSkillsDir = safePath.join(projectRoot, 'packages/agent-skills');
314
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- agentSkillsDir derived from trusted projectRoot
315
345
  if (!existsSync(agentSkillsDir)) {
316
346
  return []; // not in this monorepo — skip
317
347
  }
@@ -344,12 +374,10 @@ export function assertVendoredLicensingShipped(packageDir, filesAllowlist) {
344
374
  const licensePath = safePath.join(packageDir, 'vendor/skill-creator/LICENSE.txt');
345
375
  const attributionPath = safePath.join(packageDir, 'vendor/skill-creator/ATTRIBUTION.md');
346
376
  // (1) LICENSE.txt present on disk
347
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- packageDir is a trusted project root parameter
348
377
  if (!existsSync(licensePath)) {
349
378
  problems.push('vendor/skill-creator/LICENSE.txt is missing — Apache-2.0 requires distributing the license with the code. Add the LICENSE.txt from the upstream skill-creator repository.');
350
379
  }
351
380
  // (2) ATTRIBUTION.md present on disk
352
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- packageDir is a trusted project root parameter
353
381
  if (!existsSync(attributionPath)) {
354
382
  problems.push('vendor/skill-creator/ATTRIBUTION.md is missing — attribution file must document the upstream source, pinned commit, and Apache-2.0 §4(b) modifications list.');
355
383
  }
@@ -359,11 +387,10 @@ export function assertVendoredLicensingShipped(packageDir, filesAllowlist) {
359
387
  problems.push('"vendor/" is not listed in the package.json files allowlist — vendored LICENSE.txt and ATTRIBUTION.md will not ship in the npm tarball. Add "vendor/" to the files array in package.json.');
360
388
  }
361
389
  // (4) LICENSE.txt not gitignored (best-effort; skip if git is unavailable)
362
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- licensePath is derived from trusted packageDir parameter
363
390
  if (existsSync(licensePath)) {
364
- const gitResult = safeExecResult('git', ['check-ignore', '--quiet', licensePath], { cwd: packageDir, encoding: 'utf8' });
391
+ const gitResult = runGit(['check-ignore', '--quiet', licensePath], { cwd: packageDir });
365
392
  // git check-ignore exits 0 if the path IS ignored, 1 if not ignored, error(-1) if git unavailable
366
- if (gitResult.success) {
393
+ if (gitResult.ok) {
367
394
  problems.push('vendor/skill-creator/LICENSE.txt is gitignored — the LICENSE.txt must be committed so it ships with the package. Remove the gitignore rule covering this path.');
368
395
  }
369
396
  }
@@ -378,26 +405,45 @@ export function assertVendoredLicensingShipped(packageDir, filesAllowlist) {
378
405
  * @param discoveredSkills - Skills found via config.yaml glob discovery (source of truth)
379
406
  * @param config - Parsed project configuration
380
407
  * @param projectRoot - Project root directory (for reading package.json)
408
+ * @param pluginLocal - The run's plugin-local index (`indexPluginLocalSkills(config, projectRoot)`).
409
+ * Required, so the one index `vat verify` builds per run serves every phase: an optional
410
+ * parameter would let a call site quietly crawl every plugin again.
381
411
  * @returns Consistency check result with issues and summary
382
412
  */
383
- export function runConsistencyChecks(discoveredSkills, config, projectRoot) {
413
+ export function runConsistencyChecks(discoveredSkills, config, projectRoot, pluginLocal) {
384
414
  const discoveredNames = new Set(discoveredSkills.map((s) => s.name));
385
- const publishedNames = [];
415
+ // Classified per discovered SKILL (by its source directory), not per name: a
416
+ // repo-only skill may share its declared name with a plugin-local one.
417
+ const publishedSkills = [];
386
418
  const unpublishedNames = [];
419
+ const inPlaceNames = [];
387
420
  for (const s of discoveredSkills) {
388
- (isSkillPublished(s.name, config) ? publishedNames : unpublishedNames).push(s.name);
389
- }
421
+ const scope = publishScope(s, packagingOf(s.name, config), pluginLocal);
422
+ if (scope === 'pool')
423
+ publishedSkills.push(s);
424
+ else
425
+ unpublishedNames.push(s.name);
426
+ if (scope === 'in-place')
427
+ inPlaceNames.push(s.name);
428
+ }
429
+ const publishedNames = publishedSkills.map((s) => s.name);
390
430
  const vatSkills = readVatSkillsFromPackageJson(projectRoot);
391
- const assignedSkills = resolveAssignedSkills(config, discoveredSkills, projectRoot);
431
+ const assignedSkills = resolveAssignedSkills(config, discoveredSkills, pluginLocal);
432
+ const selectorNames = {
433
+ discovered: discoveredNames,
434
+ published: new Set(publishedNames),
435
+ pluginLocalByPlugin: pluginLocalNamesByPlugin(discoveredSkills, pluginLocal),
436
+ };
437
+ const fixContext = { projectRoot, discovered: discoveredSkills, pluginLocal };
392
438
  // Run checks in specified order
393
439
  const issues = [
394
440
  ...checkConfigReferencesUnknownSkill(discoveredNames, config),
395
441
  ...checkPublishedSkillNotInPackageJson(publishedNames, vatSkills),
396
442
  ...checkPackageJsonListsUnknownSkill(discoveredNames, vatSkills),
397
443
  ...checkUnpublishedSkillInPackageJson(unpublishedNames, vatSkills),
398
- ...checkPublishedSkillNotInPlugin(publishedNames, config, assignedSkills),
399
- ...checkPluginReferencesUnknownSkill(discoveredNames, config),
400
- ...checkSkillUnpublished(unpublishedNames),
444
+ ...checkPublishedSkillNotInPlugin(publishedSkills, config, assignedSkills, fixContext),
445
+ ...checkPluginReferencesUnknownSkill(selectorNames, config),
446
+ ...checkSkillUnpublished(inPlaceNames),
401
447
  ...checkVendoredLicensing(projectRoot),
402
448
  ];
403
449
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"consistency-check.js","sourceRoot":"","sources":["../../src/commands/consistency-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consistency-check.js","sourceRoot":"","sources":["../../src/commands/consistency-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,mBAAmB,IAAI,OAAO,CA0D7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,mBAAmB,IAAI,OAAO,CA6D7C"}
@@ -37,6 +37,9 @@ Output:
37
37
  <--out>/<UTC-date>-<vat-short-sha>/
38
38
  summary.yaml # index: per-plugin status + totals
39
39
  <name>-audit.yaml # full audit output per plugin
40
+ # results: one entry per audited file; issues: run-level
41
+ # findings. An audit over 0 files is audit.status: error
42
+ # with one RESOURCE_CHECK_BROKEN, never a clean row.
40
43
  <name>-review.md # full skill-review output (only with --with-review)
41
44
 
42
45
  Exit codes:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/corpus/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAA0B,MAAM,WAAW,CAAC;AAEtE,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM;SACH,WAAW,CAAC,uFAAuF,CAAC;SACpG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEtB,MAAM;SACH,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,qEAAqE,CAAC;SAClF,QAAQ,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACxE,cAAc,CAAC,aAAa,EAAE,wEAAwE,CAAC;SACvG,MAAM,CAAC,eAAe,EAAE,uEAAuE,CAAC;SAChG,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACtE,MAAM,CAAC,KAAK,WAA0B,QAA4B;QACjE,MAAM,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAuB,CAAC,CAAC;IACjF,CAAC,CAAC;SACD,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCL,CACI,CAAC;IAEJ,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/corpus/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAA0B,MAAM,WAAW,CAAC;AAEtE,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM;SACH,WAAW,CAAC,uFAAuF,CAAC;SACpG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEtB,MAAM;SACH,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,qEAAqE,CAAC;SAClF,QAAQ,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACxE,cAAc,CAAC,aAAa,EAAE,wEAAwE,CAAC;SACvG,MAAM,CAAC,eAAe,EAAE,uEAAuE,CAAC;SAChG,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACtE,MAAM,CAAC,KAAK,WAA0B,QAA4B;QACjE,MAAM,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAuB,CAAC,CAAC;IACjF,CAAC,CAAC;SACD,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCL,CACI,CAAC;IAEJ,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * per-plugin rows so callers can pass raw rows and let this module
8
8
  * compute aggregates.
9
9
  */
10
- import type { SeverityCounts } from '@vibe-agent-toolkit/agent-schema';
10
+ import type { SeverityCounts } from '@vibe-agent-toolkit/schema';
11
11
  export type AuditStatus = 'success' | 'warning' | 'error' | 'unloadable';
12
12
  export type ReviewStatus = 'ok' | 'error' | 'skipped';
13
13
  /**
@@ -54,7 +54,6 @@ export interface PluginRow {
54
54
  review: ReviewOutcome;
55
55
  }
56
56
  export interface RunReport {
57
- schema_version: 1;
58
57
  generated_at: string;
59
58
  vat_version: string;
60
59
  vat_commit: string;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIvE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,CAAC,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAmC1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAG1D;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBvF"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAmC1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAG1D;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBvF"}
@@ -63,11 +63,10 @@ export function runDirectoryName(report) {
63
63
  */
64
64
  export async function writeRunReport(report, outDir) {
65
65
  const runDir = safePath.join(outDir, runDirectoryName(report));
66
- // eslint-disable-next-line local/no-fs-mkdirSync, security/detect-non-literal-fs-filename -- the corpus output dir is caller-supplied; mkdir-recursive is the right call here
66
+ // eslint-disable-next-line local/no-fs-mkdirSync -- the corpus output dir is caller-supplied; mkdir-recursive is the right call here
67
67
  mkdirSync(runDir, { recursive: true });
68
68
  const totals = computeTotals(report);
69
69
  const dump = {
70
- schema_version: report.schema_version,
71
70
  generated_at: report.generated_at,
72
71
  vat_version: report.vat_version,
73
72
  vat_commit: report.vat_commit,
@@ -77,7 +76,6 @@ export async function writeRunReport(report, outDir) {
77
76
  totals,
78
77
  };
79
78
  const summaryPath = safePath.join(runDir, 'summary.yaml');
80
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- summaryPath composed under our run dir
81
79
  writeFileSync(summaryPath, yaml.stringify(dump, { lineWidth: 0, aliasDuplicateObjects: false }), 'utf-8');
82
80
  return runDir;
83
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,55 @@
10
10
  * URL handling clones via Layer 1's `withClonedRepo` helper. Validation
11
11
  * overlay (Task 5) is added on top of this base.
12
12
  */
13
- import type { PluginRow, ReviewOutcome } from './report.js';
13
+ import type { ValidationResult } from '@vibe-agent-toolkit/agent-skills';
14
+ import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
15
+ import type { DirectoryRefusal } from '@vibe-agent-toolkit/utils/crawl';
16
+ import type { AuditOutcome, PluginRow, ReviewOutcome } from './report.js';
14
17
  import type { PluginEntry } from './seed.js';
15
18
  export interface RunnerOptions {
16
19
  runDir: string;
17
20
  withReview: boolean;
18
21
  debug: boolean;
19
22
  }
23
+ /** The per-plugin audit document: one result per file, plus the run-level findings that belong to none. */
24
+ export interface AuditDocument {
25
+ results: readonly ValidationResult[];
26
+ /** Present only when non-empty, so a clean run's document keeps its shape. */
27
+ issues?: readonly ValidationIssue[];
28
+ }
29
+ /**
30
+ * Derive one plugin's audit row and its document from the per-file results.
31
+ *
32
+ * 🚨 **An audit over zero files is an ERROR, not "an empty tree audits
33
+ * cleanly".** `summarizeRun` over zero results gives `files_scanned: 0` and
34
+ * zero findings, and zero findings is `success` — so a source that resolved to
35
+ * a tree with nothing to audit (a wrong subdirectory, a clone whose default
36
+ * branch holds no skill, an excluded tree) wrote the same `summary.yaml` row as
37
+ * a clean plugin. The review lane on the identical fixture already answered
38
+ * `error` ("No SKILL.md files found"); this is the same question one lane
39
+ * over, and it now gets the same answer, through the shared mechanism in
40
+ * `run-integrity.ts`: one non-overridable `RESOURCE_CHECK_BROKEN` at `error`,
41
+ * counted in the row's `errors` and `findings_emitted`, carried in the document
42
+ * under `issues` beside the (empty) per-file results.
43
+ *
44
+ * `unloadable` is deliberately NOT the status here. Unloadable means the audit
45
+ * could not run — a missing path, a failed clone. This audit ran, and found no
46
+ * file to run over; the difference is the difference between "no verdict
47
+ * possible" and "this verdict is vacuous", and `computeTotals` counts them
48
+ * apart.
49
+ *
50
+ * Pure, and exported for that reason: the runner's loop clones, writes and
51
+ * catches, and the refusal has to be pinned without any of that.
52
+ *
53
+ * @param results - One validation result per audited file
54
+ * @param durationMs - The row's measured duration
55
+ * @param outputPath - Where the document is written, relative to the run dir
56
+ * @returns The row's audit outcome and the document to write for it
57
+ */
58
+ export declare function buildAuditOutcome(results: readonly ValidationResult[], durationMs: number, outputPath: string): {
59
+ audit: AuditOutcome;
60
+ document: AuditDocument;
61
+ };
20
62
  /**
21
63
  * Run audit + optional review against one plugin entry.
22
64
  */
@@ -26,6 +68,21 @@ export interface SkillReviewSection {
26
68
  ok: boolean;
27
69
  body: string;
28
70
  }
71
+ /**
72
+ * One failed section per directory the review scan could not list.
73
+ *
74
+ * The review lane's population is what `scan` enumerates; a directory it could
75
+ * not enter is a set of skills that were never reviewed, and a review.md that
76
+ * omits them reads as one that covered the plugin. Filing the gap on the
77
+ * existing per-skill channel — `ok: false`, keyed by the directory — is what
78
+ * makes `buildReviewOutcome` grade the run `error` and the aggregate name the
79
+ * subtree, without inventing a second channel the report would have to learn.
80
+ *
81
+ * @param unreadable - What `ScanSummary.unreadable` carried
82
+ * @param scanPath - The plugin root every section is keyed relative to
83
+ * @returns Sections in the order the refusals were met
84
+ */
85
+ export declare function unlistedDirectorySections(unreadable: readonly DirectoryRefusal[], scanPath: string): SkillReviewSection[];
29
86
  /**
30
87
  * Derive one plugin's `ReviewOutcome` from its per-skill sections.
31
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EAA8B,SAAS,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAqB7C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAcD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAKpB;AAyED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,aAAa,CAmBf"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAUxE,OAAO,KAAK,EAAE,YAAY,EAAgB,SAAS,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAcD,2GAA2G;AAC3G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAqBlD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAKpB;AA+DD,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAsDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,SAAS,gBAAgB,EAAE,EACvC,QAAQ,EAAE,MAAM,GACf,kBAAkB,EAAE,CAYtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,aAAa,CAmBf"}