@shrkcrft/inspector 0.1.0-alpha.30 → 0.1.0-alpha.32

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 (771) hide show
  1. package/dist/acceptance-replay.js +1 -1
  2. package/dist/agent-contract-templates.js +6 -6
  3. package/dist/agent-contract.d.ts.map +1 -1
  4. package/dist/agent-contract.js +13 -8
  5. package/dist/agent-orchestration.js +2 -2
  6. package/dist/agent-task-prep.d.ts +16 -0
  7. package/dist/agent-task-prep.d.ts.map +1 -1
  8. package/dist/agent-task-prep.js +60 -5
  9. package/dist/ai-readiness.d.ts.map +1 -1
  10. package/dist/ai-readiness.js +21 -3
  11. package/dist/architecture-map.d.ts +16 -0
  12. package/dist/architecture-map.d.ts.map +1 -1
  13. package/dist/architecture-map.js +42 -26
  14. package/dist/area-explore.d.ts +2 -2
  15. package/dist/area-explore.d.ts.map +1 -1
  16. package/dist/area-explore.js +36 -16
  17. package/dist/area-map.d.ts +56 -11
  18. package/dist/area-map.d.ts.map +1 -1
  19. package/dist/area-map.js +106 -25
  20. package/dist/asset-doctor-proposed-exit.d.ts +21 -0
  21. package/dist/asset-doctor-proposed-exit.d.ts.map +1 -0
  22. package/dist/asset-doctor-proposed-exit.js +22 -0
  23. package/dist/asset-provenance.js +1 -1
  24. package/dist/boundaries-changed-only.d.ts +24 -1
  25. package/dist/boundaries-changed-only.d.ts.map +1 -1
  26. package/dist/boundaries-changed-only.js +12 -2
  27. package/dist/boundary-check-options.model.d.ts +40 -0
  28. package/dist/boundary-check-options.model.d.ts.map +1 -0
  29. package/dist/boundary-check-options.model.js +1 -0
  30. package/dist/boundary-check-result.model.d.ts +89 -0
  31. package/dist/boundary-check-result.model.d.ts.map +1 -0
  32. package/dist/boundary-check-result.model.js +1 -0
  33. package/dist/boundary-configuration-status.d.ts +38 -0
  34. package/dist/boundary-configuration-status.d.ts.map +1 -0
  35. package/dist/boundary-configuration-status.js +118 -0
  36. package/dist/boundary-configuration-status.model.d.ts +37 -0
  37. package/dist/boundary-configuration-status.model.d.ts.map +1 -0
  38. package/dist/boundary-configuration-status.model.js +1 -0
  39. package/dist/boundary-load-issue.model.d.ts +30 -0
  40. package/dist/boundary-load-issue.model.d.ts.map +1 -0
  41. package/dist/boundary-load-issue.model.js +1 -0
  42. package/dist/boundary-rule-check.model.d.ts +44 -0
  43. package/dist/boundary-rule-check.model.d.ts.map +1 -0
  44. package/dist/boundary-rule-check.model.js +1 -0
  45. package/dist/boundary-rule-invalidation.model.d.ts +31 -0
  46. package/dist/boundary-rule-invalidation.model.d.ts.map +1 -0
  47. package/dist/boundary-rule-invalidation.model.js +1 -0
  48. package/dist/boundary-rule-set-diff.model.d.ts +75 -0
  49. package/dist/boundary-rule-set-diff.model.d.ts.map +1 -0
  50. package/dist/boundary-rule-set-diff.model.js +1 -0
  51. package/dist/boundary-rule-sources.d.ts +28 -0
  52. package/dist/boundary-rule-sources.d.ts.map +1 -0
  53. package/dist/boundary-rule-sources.js +110 -0
  54. package/dist/boundary-stale-exception-finding.model.d.ts +12 -0
  55. package/dist/boundary-stale-exception-finding.model.d.ts.map +1 -0
  56. package/dist/boundary-stale-exception-finding.model.js +1 -0
  57. package/dist/boundary-unit-liveness.d.ts +35 -0
  58. package/dist/boundary-unit-liveness.d.ts.map +1 -0
  59. package/dist/boundary-unit-liveness.js +71 -0
  60. package/dist/change-intent.d.ts +3 -0
  61. package/dist/change-intent.d.ts.map +1 -1
  62. package/dist/change-intent.js +61 -27
  63. package/dist/changes-summary.d.ts.map +1 -1
  64. package/dist/changes-summary.js +19 -9
  65. package/dist/ci-integrity-report.js +1 -1
  66. package/dist/ci-predict.d.ts.map +1 -1
  67. package/dist/ci-predict.js +38 -5
  68. package/dist/code-intelligence-doctor.d.ts +6 -0
  69. package/dist/code-intelligence-doctor.d.ts.map +1 -1
  70. package/dist/code-intelligence-doctor.js +22 -7
  71. package/dist/codemod-assist.d.ts.map +1 -1
  72. package/dist/codemod-assist.js +3 -1
  73. package/dist/command-recommender.d.ts +45 -2
  74. package/dist/command-recommender.d.ts.map +1 -1
  75. package/dist/command-recommender.js +41 -263
  76. package/dist/command-resolution-status.d.ts +44 -0
  77. package/dist/command-resolution-status.d.ts.map +1 -0
  78. package/dist/command-resolution-status.js +44 -0
  79. package/dist/command-safety-level.d.ts +15 -0
  80. package/dist/command-safety-level.d.ts.map +1 -0
  81. package/dist/command-safety-level.js +43 -0
  82. package/dist/command-taxonomy.js +1 -1
  83. package/dist/comment-syntax.d.ts +15 -0
  84. package/dist/comment-syntax.d.ts.map +1 -0
  85. package/dist/comment-syntax.js +15 -0
  86. package/dist/compliance-evidence.js +1 -1
  87. package/dist/compliance-profiles.js +1 -1
  88. package/dist/construct-registry.d.ts +40 -0
  89. package/dist/construct-registry.d.ts.map +1 -1
  90. package/dist/construct-registry.js +186 -82
  91. package/dist/context-tuning.d.ts +4 -0
  92. package/dist/context-tuning.d.ts.map +1 -1
  93. package/dist/context-tuning.js +10 -7
  94. package/dist/contract-template-registry.d.ts +10 -0
  95. package/dist/contract-template-registry.d.ts.map +1 -1
  96. package/dist/contract-template-registry.js +59 -33
  97. package/dist/contribution-kind.d.ts +52 -0
  98. package/dist/contribution-kind.d.ts.map +1 -0
  99. package/dist/contribution-kind.js +52 -0
  100. package/dist/contribution-load-failures.d.ts +122 -0
  101. package/dist/contribution-load-failures.d.ts.map +1 -0
  102. package/dist/contribution-load-failures.js +592 -0
  103. package/dist/contributions-report.d.ts +28 -0
  104. package/dist/contributions-report.d.ts.map +1 -0
  105. package/dist/contributions-report.js +242 -0
  106. package/dist/convention-applicability.d.ts +46 -0
  107. package/dist/convention-applicability.d.ts.map +1 -0
  108. package/dist/convention-applicability.js +247 -0
  109. package/dist/convention-filter-level.d.ts +13 -0
  110. package/dist/convention-filter-level.d.ts.map +1 -0
  111. package/dist/convention-filter-level.js +13 -0
  112. package/dist/convention-registry.d.ts +51 -4
  113. package/dist/convention-registry.d.ts.map +1 -1
  114. package/dist/convention-registry.js +135 -60
  115. package/dist/coverage-report.d.ts.map +1 -1
  116. package/dist/coverage-report.js +6 -6
  117. package/dist/custom-checks.d.ts +60 -1
  118. package/dist/custom-checks.d.ts.map +1 -1
  119. package/dist/custom-checks.js +161 -6
  120. package/dist/dashboard/dashboard-data.d.ts +6 -0
  121. package/dist/dashboard/dashboard-data.d.ts.map +1 -1
  122. package/dist/dashboard/dashboard-data.js +99 -8
  123. package/dist/dashboard/dashboard-knowledge.d.ts.map +1 -1
  124. package/dist/dashboard/dashboard-knowledge.js +14 -2
  125. package/dist/decision-records.d.ts +24 -0
  126. package/dist/decision-records.d.ts.map +1 -1
  127. package/dist/decision-records.js +231 -84
  128. package/dist/declared-cross-references.d.ts +61 -0
  129. package/dist/declared-cross-references.d.ts.map +1 -0
  130. package/dist/declared-cross-references.js +550 -0
  131. package/dist/declared-gate-plane-rules.d.ts +24 -0
  132. package/dist/declared-gate-plane-rules.d.ts.map +1 -0
  133. package/dist/declared-gate-plane-rules.js +39 -0
  134. package/dist/declared-reference-coverage.d.ts +27 -0
  135. package/dist/declared-reference-coverage.d.ts.map +1 -0
  136. package/dist/declared-reference-coverage.js +55 -0
  137. package/dist/declared-xref-status.d.ts +19 -0
  138. package/dist/declared-xref-status.d.ts.map +1 -0
  139. package/dist/declared-xref-status.js +19 -0
  140. package/dist/delegate-pack-recipes.d.ts +13 -2
  141. package/dist/delegate-pack-recipes.d.ts.map +1 -1
  142. package/dist/delegate-pack-recipes.js +45 -14
  143. package/dist/demo-package.js +2 -2
  144. package/dist/demo-script.js +2 -2
  145. package/dist/demo-workflow.js +3 -3
  146. package/dist/dev-cycle.js +1 -1
  147. package/dist/dev-session.js +1 -1
  148. package/dist/doc-references.d.ts +23 -2
  149. package/dist/doc-references.d.ts.map +1 -1
  150. package/dist/doc-references.js +96 -17
  151. package/dist/doctor-result.d.ts +8 -0
  152. package/dist/doctor-result.d.ts.map +1 -1
  153. package/dist/doctor-verdict-kind.d.ts +19 -0
  154. package/dist/doctor-verdict-kind.d.ts.map +1 -0
  155. package/dist/doctor-verdict-kind.js +19 -0
  156. package/dist/doctor-verdict.d.ts +18 -0
  157. package/dist/doctor-verdict.d.ts.map +1 -0
  158. package/dist/doctor-verdict.js +28 -0
  159. package/dist/drift.d.ts +17 -0
  160. package/dist/drift.d.ts.map +1 -1
  161. package/dist/drift.js +40 -10
  162. package/dist/entrypoint-matrix.d.ts.map +1 -1
  163. package/dist/entrypoint-matrix.js +4 -1
  164. package/dist/feedback-ingestion.d.ts +28 -2
  165. package/dist/feedback-ingestion.d.ts.map +1 -1
  166. package/dist/feedback-ingestion.js +75 -20
  167. package/dist/file-languages.d.ts +9 -0
  168. package/dist/file-languages.d.ts.map +1 -0
  169. package/dist/file-languages.js +91 -0
  170. package/dist/fix-preview.d.ts.map +1 -1
  171. package/dist/fix-preview.js +87 -22
  172. package/dist/framework-extractor-outcomes.d.ts +27 -0
  173. package/dist/framework-extractor-outcomes.d.ts.map +1 -0
  174. package/dist/framework-extractor-outcomes.js +83 -0
  175. package/dist/fuzzy-impact.d.ts.map +1 -1
  176. package/dist/fuzzy-impact.js +3 -2
  177. package/dist/git-helpers.d.ts +29 -4
  178. package/dist/git-helpers.d.ts.map +1 -1
  179. package/dist/git-helpers.js +69 -10
  180. package/dist/healing-plan.d.ts.map +1 -1
  181. package/dist/healing-plan.js +3 -4
  182. package/dist/helper-catalog.d.ts +25 -0
  183. package/dist/helper-catalog.d.ts.map +1 -0
  184. package/dist/helper-catalog.js +91 -0
  185. package/dist/helper-registry.d.ts.map +1 -1
  186. package/dist/helper-registry.js +17 -1
  187. package/dist/helper-view.d.ts +33 -0
  188. package/dist/helper-view.d.ts.map +1 -0
  189. package/dist/helper-view.js +1 -0
  190. package/dist/i-asset-doctor-flags.d.ts +16 -0
  191. package/dist/i-asset-doctor-flags.d.ts.map +1 -0
  192. package/dist/i-asset-doctor-flags.js +1 -0
  193. package/dist/i-command-resolution.d.ts +22 -0
  194. package/dist/i-command-resolution.d.ts.map +1 -0
  195. package/dist/i-command-resolution.js +1 -0
  196. package/dist/i-command-resolve-options.d.ts +24 -0
  197. package/dist/i-command-resolve-options.d.ts.map +1 -0
  198. package/dist/i-command-resolve-options.js +1 -0
  199. package/dist/i-command-safety.d.ts +13 -0
  200. package/dist/i-command-safety.d.ts.map +1 -0
  201. package/dist/i-command-safety.js +1 -0
  202. package/dist/i-contribution-accepted-entry.d.ts +18 -0
  203. package/dist/i-contribution-accepted-entry.d.ts.map +1 -0
  204. package/dist/i-contribution-accepted-entry.js +1 -0
  205. package/dist/i-contribution-entry-rejection.d.ts +21 -0
  206. package/dist/i-contribution-entry-rejection.d.ts.map +1 -0
  207. package/dist/i-contribution-entry-rejection.js +1 -0
  208. package/dist/i-contribution-file-issue.d.ts +18 -0
  209. package/dist/i-contribution-file-issue.d.ts.map +1 -0
  210. package/dist/i-contribution-file-issue.js +1 -0
  211. package/dist/i-contribution-file-report.d.ts +40 -0
  212. package/dist/i-contribution-file-report.d.ts.map +1 -0
  213. package/dist/i-contribution-file-report.js +1 -0
  214. package/dist/i-contribution-file-validation.d.ts +32 -0
  215. package/dist/i-contribution-file-validation.d.ts.map +1 -0
  216. package/dist/i-contribution-file-validation.js +1 -0
  217. package/dist/i-contributions-report.d.ts +31 -0
  218. package/dist/i-contributions-report.d.ts.map +1 -0
  219. package/dist/i-contributions-report.js +1 -0
  220. package/dist/i-convention-applicability-reason.d.ts +29 -0
  221. package/dist/i-convention-applicability-reason.d.ts.map +1 -0
  222. package/dist/i-convention-applicability-reason.js +1 -0
  223. package/dist/i-convention-applicability.d.ts +9 -0
  224. package/dist/i-convention-applicability.d.ts.map +1 -0
  225. package/dist/i-convention-applicability.js +1 -0
  226. package/dist/i-convention-scope.d.ts +19 -0
  227. package/dist/i-convention-scope.d.ts.map +1 -0
  228. package/dist/i-convention-scope.js +1 -0
  229. package/dist/i-declared-xref-field.d.ts +25 -0
  230. package/dist/i-declared-xref-field.d.ts.map +1 -0
  231. package/dist/i-declared-xref-field.js +1 -0
  232. package/dist/i-declared-xref-issue.d.ts +25 -0
  233. package/dist/i-declared-xref-issue.d.ts.map +1 -0
  234. package/dist/i-declared-xref-issue.js +1 -0
  235. package/dist/i-declared-xref-report.d.ts +48 -0
  236. package/dist/i-declared-xref-report.d.ts.map +1 -0
  237. package/dist/i-declared-xref-report.js +1 -0
  238. package/dist/i-declared-xref-row.d.ts +29 -0
  239. package/dist/i-declared-xref-row.d.ts.map +1 -0
  240. package/dist/i-declared-xref-row.js +1 -0
  241. package/dist/i-doctor-verdict.d.ts +10 -0
  242. package/dist/i-doctor-verdict.d.ts.map +1 -0
  243. package/dist/i-doctor-verdict.js +1 -0
  244. package/dist/i-file-language.d.ts +11 -0
  245. package/dist/i-file-language.d.ts.map +1 -0
  246. package/dist/i-file-language.js +1 -0
  247. package/dist/i-kind-outcomes.d.ts +13 -0
  248. package/dist/i-kind-outcomes.d.ts.map +1 -0
  249. package/dist/i-kind-outcomes.js +1 -0
  250. package/dist/i-not-applicable-convention.d.ts +17 -0
  251. package/dist/i-not-applicable-convention.d.ts.map +1 -0
  252. package/dist/i-not-applicable-convention.js +1 -0
  253. package/dist/i-pack-doctor-verdict.d.ts +15 -0
  254. package/dist/i-pack-doctor-verdict.d.ts.map +1 -0
  255. package/dist/i-pack-doctor-verdict.js +1 -0
  256. package/dist/i-probed-id-field.d.ts +17 -0
  257. package/dist/i-probed-id-field.d.ts.map +1 -0
  258. package/dist/i-probed-id-field.js +1 -0
  259. package/dist/i-reference-kind-declaration.d.ts +38 -0
  260. package/dist/i-reference-kind-declaration.d.ts.map +1 -0
  261. package/dist/i-reference-kind-declaration.js +1 -0
  262. package/dist/i-reference-pack-origin.d.ts +13 -0
  263. package/dist/i-reference-pack-origin.d.ts.map +1 -0
  264. package/dist/i-reference-pack-origin.js +1 -0
  265. package/dist/i-reference-warm-options.d.ts +21 -0
  266. package/dist/i-reference-warm-options.d.ts.map +1 -0
  267. package/dist/i-reference-warm-options.js +1 -0
  268. package/dist/i-registry-outcomes.d.ts +16 -0
  269. package/dist/i-registry-outcomes.d.ts.map +1 -0
  270. package/dist/i-registry-outcomes.js +1 -0
  271. package/dist/i-scaffold-pattern-doctor-report.d.ts +35 -0
  272. package/dist/i-scaffold-pattern-doctor-report.d.ts.map +1 -0
  273. package/dist/i-scaffold-pattern-doctor-report.js +1 -0
  274. package/dist/i-search-tuning-key-probe.d.ts +30 -0
  275. package/dist/i-search-tuning-key-probe.d.ts.map +1 -0
  276. package/dist/i-search-tuning-key-probe.js +1 -0
  277. package/dist/i-search-tuning-lint-issue.d.ts +61 -0
  278. package/dist/i-search-tuning-lint-issue.d.ts.map +1 -0
  279. package/dist/i-search-tuning-lint-issue.js +1 -0
  280. package/dist/i-search-tuning-lint-report.d.ts +38 -0
  281. package/dist/i-search-tuning-lint-report.d.ts.map +1 -0
  282. package/dist/i-search-tuning-lint-report.js +1 -0
  283. package/dist/i-stale-path-hint-input.d.ts +18 -0
  284. package/dist/i-stale-path-hint-input.d.ts.map +1 -0
  285. package/dist/i-stale-path-hint-input.js +1 -0
  286. package/dist/i-unresolvable-reference-scan.d.ts +14 -0
  287. package/dist/i-unresolvable-reference-scan.d.ts.map +1 -0
  288. package/dist/i-unresolvable-reference-scan.js +1 -0
  289. package/dist/i-unresolvable-reference.d.ts +29 -0
  290. package/dist/i-unresolvable-reference.d.ts.map +1 -0
  291. package/dist/i-unresolvable-reference.js +1 -0
  292. package/dist/i-unverifiable-remedy-group.d.ts +10 -0
  293. package/dist/i-unverifiable-remedy-group.d.ts.map +1 -0
  294. package/dist/i-unverifiable-remedy-group.js +1 -0
  295. package/dist/i-workspace-profile-payload.d.ts +12 -0
  296. package/dist/i-workspace-profile-payload.d.ts.map +1 -0
  297. package/dist/i-workspace-profile-payload.js +1 -0
  298. package/dist/impact-analysis.d.ts +15 -0
  299. package/dist/impact-analysis.d.ts.map +1 -1
  300. package/dist/impact-analysis.js +58 -13
  301. package/dist/impact-render.d.ts.map +1 -1
  302. package/dist/impact-render.js +22 -0
  303. package/dist/import-hygiene.d.ts +35 -1
  304. package/dist/import-hygiene.d.ts.map +1 -1
  305. package/dist/import-hygiene.js +107 -13
  306. package/dist/index.d.ts +158 -0
  307. package/dist/index.d.ts.map +1 -1
  308. package/dist/index.js +197 -0
  309. package/dist/inspection-discovery.d.ts +45 -0
  310. package/dist/inspection-discovery.d.ts.map +1 -0
  311. package/dist/inspection-discovery.js +70 -0
  312. package/dist/knowledge-advisory-code.d.ts +17 -0
  313. package/dist/knowledge-advisory-code.d.ts.map +1 -0
  314. package/dist/knowledge-advisory-code.js +17 -0
  315. package/dist/knowledge-aged-entry.d.ts +10 -0
  316. package/dist/knowledge-aged-entry.d.ts.map +1 -0
  317. package/dist/knowledge-aged-entry.js +1 -0
  318. package/dist/knowledge-authoring.d.ts +25 -2
  319. package/dist/knowledge-authoring.d.ts.map +1 -1
  320. package/dist/knowledge-authoring.js +53 -13
  321. package/dist/knowledge-contribution-slots.d.ts +18 -0
  322. package/dist/knowledge-contribution-slots.d.ts.map +1 -0
  323. package/dist/knowledge-contribution-slots.js +25 -0
  324. package/dist/knowledge-entry-rejections.d.ts +17 -0
  325. package/dist/knowledge-entry-rejections.d.ts.map +1 -0
  326. package/dist/knowledge-entry-rejections.js +79 -0
  327. package/dist/knowledge-entry-verdict-record.d.ts +34 -0
  328. package/dist/knowledge-entry-verdict-record.d.ts.map +1 -0
  329. package/dist/knowledge-entry-verdict-record.js +1 -0
  330. package/dist/knowledge-entry-verdict.d.ts +17 -0
  331. package/dist/knowledge-entry-verdict.d.ts.map +1 -0
  332. package/dist/knowledge-entry-verdict.js +17 -0
  333. package/dist/knowledge-graph.d.ts +6 -0
  334. package/dist/knowledge-graph.d.ts.map +1 -1
  335. package/dist/knowledge-graph.js +18 -7
  336. package/dist/knowledge-kind-bucket.d.ts +19 -0
  337. package/dist/knowledge-kind-bucket.d.ts.map +1 -0
  338. package/dist/knowledge-kind-bucket.js +1 -0
  339. package/dist/knowledge-load-failure.d.ts +23 -0
  340. package/dist/knowledge-load-failure.d.ts.map +1 -0
  341. package/dist/knowledge-load-failure.js +1 -0
  342. package/dist/knowledge-min-referenced-valve.d.ts +12 -0
  343. package/dist/knowledge-min-referenced-valve.d.ts.map +1 -0
  344. package/dist/knowledge-min-referenced-valve.js +12 -0
  345. package/dist/knowledge-reference-kind-bucket.d.ts +11 -0
  346. package/dist/knowledge-reference-kind-bucket.d.ts.map +1 -0
  347. package/dist/knowledge-reference-kind-bucket.js +1 -0
  348. package/dist/knowledge-rejected-entry.d.ts +28 -0
  349. package/dist/knowledge-rejected-entry.d.ts.map +1 -0
  350. package/dist/knowledge-rejected-entry.js +1 -0
  351. package/dist/knowledge-rename-command.d.ts +20 -0
  352. package/dist/knowledge-rename-command.d.ts.map +1 -0
  353. package/dist/knowledge-rename-command.js +34 -0
  354. package/dist/knowledge-rename-verb.d.ts +11 -0
  355. package/dist/knowledge-rename-verb.d.ts.map +1 -0
  356. package/dist/knowledge-rename-verb.js +11 -0
  357. package/dist/knowledge-rename.d.ts +1 -1
  358. package/dist/knowledge-rename.d.ts.map +1 -1
  359. package/dist/knowledge-rename.js +6 -5
  360. package/dist/knowledge-stale-advisory.d.ts +14 -0
  361. package/dist/knowledge-stale-advisory.d.ts.map +1 -0
  362. package/dist/knowledge-stale-advisory.js +1 -0
  363. package/dist/knowledge-stale-coverage.d.ts +19 -0
  364. package/dist/knowledge-stale-coverage.d.ts.map +1 -0
  365. package/dist/knowledge-stale-coverage.js +1 -0
  366. package/dist/knowledge-stale-gate-flags.d.ts +33 -0
  367. package/dist/knowledge-stale-gate-flags.d.ts.map +1 -0
  368. package/dist/knowledge-stale-gate-flags.js +1 -0
  369. package/dist/knowledge-stale-gate-input.d.ts +46 -0
  370. package/dist/knowledge-stale-gate-input.d.ts.map +1 -0
  371. package/dist/knowledge-stale-gate-input.js +1 -0
  372. package/dist/knowledge-stale-gate-result.d.ts +33 -0
  373. package/dist/knowledge-stale-gate-result.d.ts.map +1 -0
  374. package/dist/knowledge-stale-gate-result.js +1 -0
  375. package/dist/knowledge-stale-gate-rule.d.ts +33 -0
  376. package/dist/knowledge-stale-gate-rule.d.ts.map +1 -0
  377. package/dist/knowledge-stale-gate-rule.js +1 -0
  378. package/dist/knowledge-stale-gate-violation.d.ts +13 -0
  379. package/dist/knowledge-stale-gate-violation.d.ts.map +1 -0
  380. package/dist/knowledge-stale-gate-violation.js +1 -0
  381. package/dist/knowledge-stale-gate.d.ts +85 -0
  382. package/dist/knowledge-stale-gate.d.ts.map +1 -0
  383. package/dist/knowledge-stale-gate.js +501 -0
  384. package/dist/knowledge-stale-quality-gate.d.ts +26 -0
  385. package/dist/knowledge-stale-quality-gate.d.ts.map +1 -0
  386. package/dist/knowledge-stale-quality-gate.js +140 -0
  387. package/dist/knowledge-stale.d.ts +132 -9
  388. package/dist/knowledge-stale.d.ts.map +1 -1
  389. package/dist/knowledge-stale.js +1193 -294
  390. package/dist/knowledge-unverifiable-reason.d.ts +12 -0
  391. package/dist/knowledge-unverifiable-reason.d.ts.map +1 -0
  392. package/dist/knowledge-unverifiable-reason.js +12 -0
  393. package/dist/knowledge-unverifiable-remedy.d.ts +56 -0
  394. package/dist/knowledge-unverifiable-remedy.d.ts.map +1 -0
  395. package/dist/knowledge-unverifiable-remedy.js +0 -0
  396. package/dist/loader-diagnostics.d.ts +14 -2
  397. package/dist/loader-diagnostics.d.ts.map +1 -1
  398. package/dist/match-terms.d.ts +48 -0
  399. package/dist/match-terms.d.ts.map +1 -0
  400. package/dist/match-terms.js +155 -0
  401. package/dist/migration-profile-registry.d.ts +10 -0
  402. package/dist/migration-profile-registry.d.ts.map +1 -1
  403. package/dist/migration-profile-registry.js +57 -34
  404. package/dist/migration-readiness.d.ts.map +1 -1
  405. package/dist/migration-readiness.js +1 -3
  406. package/dist/nearest-id.d.ts +10 -26
  407. package/dist/nearest-id.d.ts.map +1 -1
  408. package/dist/nearest-id.js +9 -59
  409. package/dist/pack-asset-freshness.d.ts +65 -0
  410. package/dist/pack-asset-freshness.d.ts.map +1 -0
  411. package/dist/pack-asset-freshness.js +340 -0
  412. package/dist/pack-author-ux.d.ts +24 -3
  413. package/dist/pack-author-ux.d.ts.map +1 -1
  414. package/dist/pack-author-ux.js +87 -93
  415. package/dist/pack-contributions-inventory.d.ts +79 -39
  416. package/dist/pack-contributions-inventory.d.ts.map +1 -1
  417. package/dist/pack-contributions-inventory.js +445 -286
  418. package/dist/pack-doctor-verdict.d.ts +29 -0
  419. package/dist/pack-doctor-verdict.d.ts.map +1 -0
  420. package/dist/pack-doctor-verdict.js +45 -0
  421. package/dist/pack-doctor.d.ts +74 -1
  422. package/dist/pack-doctor.d.ts.map +1 -1
  423. package/dist/pack-doctor.js +281 -1
  424. package/dist/pack-helper-plan.d.ts +24 -0
  425. package/dist/pack-helper-plan.d.ts.map +1 -0
  426. package/dist/pack-helper-plan.js +77 -0
  427. package/dist/pack-helper-registry.d.ts +14 -0
  428. package/dist/pack-helper-registry.d.ts.map +1 -1
  429. package/dist/pack-helper-registry.js +76 -37
  430. package/dist/pack-manifest-reader.d.ts +8 -0
  431. package/dist/pack-manifest-reader.d.ts.map +1 -0
  432. package/dist/pack-manifest-reader.js +79 -0
  433. package/dist/pack-release-check.d.ts +14 -1
  434. package/dist/pack-release-check.d.ts.map +1 -1
  435. package/dist/pack-release-check.js +23 -1
  436. package/dist/pack-signature-status.d.ts +18 -6
  437. package/dist/pack-signature-status.d.ts.map +1 -1
  438. package/dist/pack-signature-status.js +59 -105
  439. package/dist/pack-test-runner.d.ts +27 -5
  440. package/dist/pack-test-runner.d.ts.map +1 -1
  441. package/dist/pack-test-runner.js +91 -35
  442. package/dist/pack-typecheck.d.ts +8 -0
  443. package/dist/pack-typecheck.d.ts.map +1 -0
  444. package/dist/pack-typecheck.js +76 -0
  445. package/dist/plan-review.d.ts +2 -0
  446. package/dist/plan-review.d.ts.map +1 -1
  447. package/dist/plan-review.js +17 -5
  448. package/dist/plan-simulation.d.ts.map +1 -1
  449. package/dist/plan-simulation.js +16 -5
  450. package/dist/playbook-load-issue.d.ts +16 -0
  451. package/dist/playbook-load-issue.d.ts.map +1 -0
  452. package/dist/playbook-load-issue.js +1 -0
  453. package/dist/playbook-registry.d.ts +32 -1
  454. package/dist/playbook-registry.d.ts.map +1 -1
  455. package/dist/playbook-registry.js +144 -55
  456. package/dist/policy-declaration.d.ts +18 -0
  457. package/dist/policy-declaration.d.ts.map +1 -0
  458. package/dist/policy-declaration.js +1 -0
  459. package/dist/policy-engine.d.ts +8 -0
  460. package/dist/policy-engine.d.ts.map +1 -1
  461. package/dist/policy-engine.js +26 -9
  462. package/dist/policy-overrides.d.ts.map +1 -1
  463. package/dist/policy-overrides.js +4 -4
  464. package/dist/policy-registry.d.ts +27 -0
  465. package/dist/policy-registry.d.ts.map +1 -1
  466. package/dist/policy-registry.js +87 -20
  467. package/dist/probed-id-fields.d.ts +21 -0
  468. package/dist/probed-id-fields.d.ts.map +1 -0
  469. package/dist/probed-id-fields.js +25 -0
  470. package/dist/probed-id-source.d.ts +11 -0
  471. package/dist/probed-id-source.d.ts.map +1 -0
  472. package/dist/probed-id-source.js +11 -0
  473. package/dist/profile-registry.d.ts +25 -2
  474. package/dist/profile-registry.d.ts.map +1 -1
  475. package/dist/profile-registry.js +59 -6
  476. package/dist/propose-knowledge.js +3 -2
  477. package/dist/quality-gate-examination.d.ts +15 -0
  478. package/dist/quality-gate-examination.d.ts.map +1 -0
  479. package/dist/quality-gate-examination.js +15 -0
  480. package/dist/quality-gate-row-status.d.ts +19 -0
  481. package/dist/quality-gate-row-status.d.ts.map +1 -0
  482. package/dist/quality-gate-row-status.js +28 -0
  483. package/dist/quality-gate-status.d.ts +16 -0
  484. package/dist/quality-gate-status.d.ts.map +1 -0
  485. package/dist/quality-gate-status.js +16 -0
  486. package/dist/quality-html.d.ts.map +1 -1
  487. package/dist/quality-html.js +14 -3
  488. package/dist/quality-report-coverage.d.ts +26 -0
  489. package/dist/quality-report-coverage.d.ts.map +1 -0
  490. package/dist/quality-report-coverage.js +48 -0
  491. package/dist/quality-report.d.ts +28 -1
  492. package/dist/quality-report.d.ts.map +1 -1
  493. package/dist/quality-report.js +263 -35
  494. package/dist/query-intent-kind.d.ts +18 -0
  495. package/dist/query-intent-kind.d.ts.map +1 -0
  496. package/dist/query-intent-kind.js +18 -0
  497. package/dist/query-intent-result.d.ts +23 -0
  498. package/dist/query-intent-result.d.ts.map +1 -0
  499. package/dist/query-intent-result.js +1 -0
  500. package/dist/query-intent.d.ts +18 -0
  501. package/dist/query-intent.d.ts.map +1 -0
  502. package/dist/query-intent.js +336 -0
  503. package/dist/query-resolver.d.ts +18 -0
  504. package/dist/query-resolver.d.ts.map +1 -1
  505. package/dist/query-resolver.js +7 -4
  506. package/dist/ranked-recommendations.d.ts +36 -0
  507. package/dist/ranked-recommendations.d.ts.map +1 -0
  508. package/dist/ranked-recommendations.js +1 -0
  509. package/dist/ranker-explainability.d.ts.map +1 -1
  510. package/dist/ranker-explainability.js +38 -10
  511. package/dist/recommend-recipe.d.ts +17 -0
  512. package/dist/recommend-recipe.d.ts.map +1 -0
  513. package/dist/recommend-recipe.js +1 -0
  514. package/dist/recommend-recipes.d.ts +9 -0
  515. package/dist/recommend-recipes.d.ts.map +1 -0
  516. package/dist/recommend-recipes.js +106 -0
  517. package/dist/recommendation-candidate.d.ts +30 -0
  518. package/dist/recommendation-candidate.d.ts.map +1 -0
  519. package/dist/recommendation-candidate.js +1 -0
  520. package/dist/recommendation-confidence.d.ts +27 -0
  521. package/dist/recommendation-confidence.d.ts.map +1 -0
  522. package/dist/recommendation-confidence.js +1 -0
  523. package/dist/recommendation-ranking-options.d.ts +24 -0
  524. package/dist/recommendation-ranking-options.d.ts.map +1 -0
  525. package/dist/recommendation-ranking-options.js +1 -0
  526. package/dist/recommendation-ranking.d.ts +50 -0
  527. package/dist/recommendation-ranking.d.ts.map +1 -0
  528. package/dist/recommendation-ranking.js +527 -0
  529. package/dist/recommendation-source.d.ts +23 -0
  530. package/dist/recommendation-source.d.ts.map +1 -0
  531. package/dist/recommendation-source.js +23 -0
  532. package/dist/recommendation-suppression.d.ts +14 -0
  533. package/dist/recommendation-suppression.d.ts.map +1 -0
  534. package/dist/recommendation-suppression.js +14 -0
  535. package/dist/reference-asset-kind.d.ts +14 -0
  536. package/dist/reference-asset-kind.d.ts.map +1 -0
  537. package/dist/reference-asset-kind.js +14 -0
  538. package/dist/reference-content-check.d.ts +32 -0
  539. package/dist/reference-content-check.d.ts.map +1 -0
  540. package/dist/reference-content-check.js +143 -0
  541. package/dist/reference-failure.d.ts +31 -0
  542. package/dist/reference-failure.d.ts.map +1 -0
  543. package/dist/reference-failure.js +31 -0
  544. package/dist/reference-id-status.d.ts +15 -0
  545. package/dist/reference-id-status.d.ts.map +1 -0
  546. package/dist/reference-id-status.js +15 -0
  547. package/dist/reference-kind-declarations.d.ts +42 -0
  548. package/dist/reference-kind-declarations.d.ts.map +1 -0
  549. package/dist/reference-kind-declarations.js +142 -0
  550. package/dist/reference-lookup.d.ts +6 -0
  551. package/dist/reference-lookup.d.ts.map +1 -1
  552. package/dist/reference-lookup.js +13 -5
  553. package/dist/reference-pack-origin.d.ts +18 -0
  554. package/dist/reference-pack-origin.d.ts.map +1 -0
  555. package/dist/reference-pack-origin.js +38 -0
  556. package/dist/reference-registry.d.ts +109 -11
  557. package/dist/reference-registry.d.ts.map +1 -1
  558. package/dist/reference-registry.js +186 -30
  559. package/dist/reference-subject.d.ts +20 -0
  560. package/dist/reference-subject.d.ts.map +1 -0
  561. package/dist/reference-subject.js +1 -0
  562. package/dist/registration-hint-discovery-status.d.ts +25 -0
  563. package/dist/registration-hint-discovery-status.d.ts.map +1 -0
  564. package/dist/registration-hint-discovery-status.js +25 -0
  565. package/dist/registration-hint-registry.d.ts +80 -0
  566. package/dist/registration-hint-registry.d.ts.map +1 -1
  567. package/dist/registration-hint-registry.js +356 -138
  568. package/dist/registry-lifecycle.d.ts +200 -19
  569. package/dist/registry-lifecycle.d.ts.map +1 -1
  570. package/dist/registry-lifecycle.js +526 -136
  571. package/dist/release-readiness.d.ts.map +1 -1
  572. package/dist/release-readiness.js +10 -7
  573. package/dist/release-smoke.d.ts.map +1 -1
  574. package/dist/release-smoke.js +11 -7
  575. package/dist/report-site.d.ts.map +1 -1
  576. package/dist/report-site.js +25 -7
  577. package/dist/repository-intelligence.d.ts.map +1 -1
  578. package/dist/repository-intelligence.js +3 -2
  579. package/dist/repository-knowledge-model.d.ts.map +1 -1
  580. package/dist/repository-knowledge-model.js +18 -5
  581. package/dist/repository-stats.d.ts.map +1 -1
  582. package/dist/repository-stats.js +3 -77
  583. package/dist/resolve-project-config.d.ts +64 -0
  584. package/dist/resolve-project-config.d.ts.map +1 -1
  585. package/dist/resolve-project-config.js +250 -33
  586. package/dist/reuse/compute-reuse-coverage.d.ts +29 -0
  587. package/dist/reuse/compute-reuse-coverage.d.ts.map +1 -0
  588. package/dist/reuse/compute-reuse-coverage.js +198 -0
  589. package/dist/reuse/rank-reuse-candidates.d.ts +38 -0
  590. package/dist/reuse/rank-reuse-candidates.d.ts.map +1 -0
  591. package/dist/reuse/rank-reuse-candidates.js +212 -0
  592. package/dist/reuse/rank-reuse-options.d.ts +20 -0
  593. package/dist/reuse/rank-reuse-options.d.ts.map +1 -0
  594. package/dist/reuse/rank-reuse-options.js +1 -0
  595. package/dist/reuse/rank-reuse-suggestions.d.ts +15 -0
  596. package/dist/reuse/rank-reuse-suggestions.d.ts.map +1 -0
  597. package/dist/reuse/rank-reuse-suggestions.js +31 -0
  598. package/dist/reuse/resolve-curated-reuse.d.ts +43 -0
  599. package/dist/reuse/resolve-curated-reuse.d.ts.map +1 -0
  600. package/dist/reuse/resolve-curated-reuse.js +115 -0
  601. package/dist/reuse/reuse-candidate.d.ts +29 -0
  602. package/dist/reuse/reuse-candidate.d.ts.map +1 -0
  603. package/dist/reuse/reuse-candidate.js +1 -0
  604. package/dist/reuse/reuse-coverage-report.d.ts +74 -0
  605. package/dist/reuse/reuse-coverage-report.d.ts.map +1 -0
  606. package/dist/reuse/reuse-coverage-report.js +1 -0
  607. package/dist/reuse/reuse-curated-coverage.d.ts +36 -0
  608. package/dist/reuse/reuse-curated-coverage.d.ts.map +1 -0
  609. package/dist/reuse/reuse-curated-coverage.js +1 -0
  610. package/dist/reuse/reuse-curated-resolution.d.ts +36 -0
  611. package/dist/reuse/reuse-curated-resolution.d.ts.map +1 -0
  612. package/dist/reuse/reuse-curated-resolution.js +1 -0
  613. package/dist/reuse/reuse-curated-status.d.ts +21 -0
  614. package/dist/reuse/reuse-curated-status.d.ts.map +1 -0
  615. package/dist/reuse/reuse-curated-status.js +21 -0
  616. package/dist/reuse/reuse-match-detail.d.ts +15 -0
  617. package/dist/reuse/reuse-match-detail.d.ts.map +1 -0
  618. package/dist/reuse/reuse-match-detail.js +1 -0
  619. package/dist/reuse/reuse-ranking.d.ts +37 -0
  620. package/dist/reuse/reuse-ranking.d.ts.map +1 -0
  621. package/dist/reuse/reuse-ranking.js +1 -0
  622. package/dist/reuse/reuse-suggestion.d.ts +19 -0
  623. package/dist/reuse/reuse-suggestion.d.ts.map +1 -0
  624. package/dist/reuse/reuse-suggestion.js +1 -0
  625. package/dist/reuse/reuse-symbol-lookup.d.ts +28 -0
  626. package/dist/reuse/reuse-symbol-lookup.d.ts.map +1 -0
  627. package/dist/reuse/reuse-symbol-lookup.js +1 -0
  628. package/dist/reuse/reuse-tokenize.d.ts +11 -0
  629. package/dist/reuse/reuse-tokenize.d.ts.map +1 -0
  630. package/dist/reuse/reuse-tokenize.js +26 -0
  631. package/dist/reuse/score-reuse-name.d.ts +16 -0
  632. package/dist/reuse/score-reuse-name.d.ts.map +1 -0
  633. package/dist/reuse/score-reuse-name.js +35 -0
  634. package/dist/reuse/score-reuse-primitive.d.ts +33 -0
  635. package/dist/reuse/score-reuse-primitive.d.ts.map +1 -0
  636. package/dist/reuse/score-reuse-primitive.js +92 -0
  637. package/dist/review-packet.d.ts +2 -0
  638. package/dist/review-packet.d.ts.map +1 -1
  639. package/dist/review-packet.js +13 -6
  640. package/dist/role-views.d.ts.map +1 -1
  641. package/dist/role-views.js +16 -16
  642. package/dist/routing-recommends-channels.d.ts +24 -0
  643. package/dist/routing-recommends-channels.d.ts.map +1 -0
  644. package/dist/routing-recommends-channels.js +19 -0
  645. package/dist/run-boundary-check.d.ts +118 -0
  646. package/dist/run-boundary-check.d.ts.map +1 -0
  647. package/dist/run-boundary-check.js +592 -0
  648. package/dist/safety-audit.js +1 -1
  649. package/dist/scaffold-coverage.js +1 -1
  650. package/dist/scaffold-pattern-doctor-report.d.ts +19 -0
  651. package/dist/scaffold-pattern-doctor-report.d.ts.map +1 -0
  652. package/dist/scaffold-pattern-doctor-report.js +54 -0
  653. package/dist/scaffold-patterns.d.ts +75 -1
  654. package/dist/scaffold-patterns.d.ts.map +1 -1
  655. package/dist/scaffold-patterns.js +375 -84
  656. package/dist/schema-inventory.d.ts.map +1 -1
  657. package/dist/schema-inventory.js +4 -3
  658. package/dist/search-document-id.d.ts +52 -0
  659. package/dist/search-document-id.d.ts.map +1 -0
  660. package/dist/search-document-id.js +72 -0
  661. package/dist/search-document-prefix.d.ts +7 -0
  662. package/dist/search-document-prefix.d.ts.map +1 -0
  663. package/dist/search-document-prefix.js +1 -0
  664. package/dist/search-index.d.ts.map +1 -1
  665. package/dist/search-index.js +20 -23
  666. package/dist/search-tuning-explain.d.ts +6 -0
  667. package/dist/search-tuning-explain.d.ts.map +1 -1
  668. package/dist/search-tuning-explain.js +19 -17
  669. package/dist/search-tuning-key-probes.d.ts +16 -0
  670. package/dist/search-tuning-key-probes.d.ts.map +1 -0
  671. package/dist/search-tuning-key-probes.js +65 -0
  672. package/dist/search-tuning-key-resolution.d.ts +25 -0
  673. package/dist/search-tuning-key-resolution.d.ts.map +1 -0
  674. package/dist/search-tuning-key-resolution.js +1 -0
  675. package/dist/search-tuning-key-resolver.d.ts +4 -0
  676. package/dist/search-tuning-key-resolver.d.ts.map +1 -0
  677. package/dist/search-tuning-key-resolver.js +107 -0
  678. package/dist/search-tuning-key-status.d.ts +24 -0
  679. package/dist/search-tuning-key-status.d.ts.map +1 -0
  680. package/dist/search-tuning-key-status.js +24 -0
  681. package/dist/search-tuning-lint.d.ts +9 -0
  682. package/dist/search-tuning-lint.d.ts.map +1 -0
  683. package/dist/search-tuning-lint.js +468 -0
  684. package/dist/search-tuning-registry.d.ts +43 -0
  685. package/dist/search-tuning-registry.d.ts.map +1 -1
  686. package/dist/search-tuning-registry.js +214 -49
  687. package/dist/self-audit.d.ts +12 -0
  688. package/dist/self-audit.d.ts.map +1 -1
  689. package/dist/self-audit.js +36 -10
  690. package/dist/self-config-doctor-v2.d.ts +145 -3
  691. package/dist/self-config-doctor-v2.d.ts.map +1 -1
  692. package/dist/self-config-doctor-v2.js +1369 -182
  693. package/dist/self-config-doctor.d.ts +20 -1
  694. package/dist/self-config-doctor.d.ts.map +1 -1
  695. package/dist/self-config-doctor.js +55 -281
  696. package/dist/settled-unit-states.d.ts +9 -0
  697. package/dist/settled-unit-states.d.ts.map +1 -0
  698. package/dist/settled-unit-states.js +14 -0
  699. package/dist/sharkcraft-inspector.d.ts +34 -0
  700. package/dist/sharkcraft-inspector.d.ts.map +1 -1
  701. package/dist/sharkcraft-inspector.js +314 -27
  702. package/dist/spec/spec-evidence.d.ts.map +1 -1
  703. package/dist/spec/spec-evidence.js +14 -20
  704. package/dist/split-identifier.d.ts +21 -0
  705. package/dist/split-identifier.d.ts.map +1 -0
  706. package/dist/split-identifier.js +27 -0
  707. package/dist/stale-path-hint.d.ts +3 -0
  708. package/dist/stale-path-hint.d.ts.map +1 -0
  709. package/dist/stale-path-hint.js +47 -0
  710. package/dist/start-here.d.ts.map +1 -1
  711. package/dist/start-here.js +1 -2
  712. package/dist/substitute-placeholders.d.ts +8 -0
  713. package/dist/substitute-placeholders.d.ts.map +1 -0
  714. package/dist/substitute-placeholders.js +9 -0
  715. package/dist/symbol-index.d.ts +33 -0
  716. package/dist/symbol-index.d.ts.map +1 -1
  717. package/dist/symbol-index.js +241 -3
  718. package/dist/symbol-member-entry.d.ts +26 -0
  719. package/dist/symbol-member-entry.d.ts.map +1 -0
  720. package/dist/symbol-member-entry.js +1 -0
  721. package/dist/symbol-member-kind.d.ts +14 -0
  722. package/dist/symbol-member-kind.d.ts.map +1 -0
  723. package/dist/symbol-member-kind.js +14 -0
  724. package/dist/task-packet.d.ts.map +1 -1
  725. package/dist/task-packet.js +52 -9
  726. package/dist/task-ranker.d.ts +8 -0
  727. package/dist/task-ranker.d.ts.map +1 -1
  728. package/dist/task-ranker.js +25 -13
  729. package/dist/task-risk.js +1 -1
  730. package/dist/task-routing-hint-registry.d.ts +20 -1
  731. package/dist/task-routing-hint-registry.d.ts.map +1 -1
  732. package/dist/task-routing-hint-registry.js +186 -42
  733. package/dist/template-authoring.d.ts +1 -1
  734. package/dist/template-authoring.d.ts.map +1 -1
  735. package/dist/template-authoring.js +2 -1
  736. package/dist/template-drift.d.ts.map +1 -1
  737. package/dist/template-drift.js +30 -9
  738. package/dist/template-lint.d.ts.map +1 -1
  739. package/dist/template-lint.js +160 -2
  740. package/dist/term-query.d.ts +10 -0
  741. package/dist/term-query.d.ts.map +1 -0
  742. package/dist/term-query.js +1 -0
  743. package/dist/test-definitions.d.ts +6 -3
  744. package/dist/test-definitions.d.ts.map +1 -1
  745. package/dist/test-runner.d.ts +95 -10
  746. package/dist/test-runner.d.ts.map +1 -1
  747. package/dist/test-runner.js +309 -308
  748. package/dist/tuning-query-tokens.d.ts +29 -0
  749. package/dist/tuning-query-tokens.d.ts.map +1 -0
  750. package/dist/tuning-query-tokens.js +51 -0
  751. package/dist/typecheck-files.d.ts +36 -0
  752. package/dist/typecheck-files.d.ts.map +1 -0
  753. package/dist/typecheck-files.js +158 -0
  754. package/dist/uncertainty.js +1 -1
  755. package/dist/universal-search.d.ts.map +1 -1
  756. package/dist/universal-search.js +5 -3
  757. package/dist/unregistered-exports.d.ts +19 -0
  758. package/dist/unregistered-exports.d.ts.map +1 -0
  759. package/dist/unregistered-exports.js +141 -0
  760. package/dist/unresolvable-reason.d.ts +11 -0
  761. package/dist/unresolvable-reason.d.ts.map +1 -0
  762. package/dist/unresolvable-reason.js +11 -0
  763. package/dist/upgrade-advisor.d.ts.map +1 -1
  764. package/dist/upgrade-advisor.js +16 -9
  765. package/dist/validate-contribution-file.d.ts +4 -0
  766. package/dist/validate-contribution-file.d.ts.map +1 -0
  767. package/dist/validate-contribution-file.js +233 -0
  768. package/dist/why-file.d.ts +3 -0
  769. package/dist/why-file.d.ts.map +1 -1
  770. package/dist/why-file.js +12 -7
  771. package/package.json +17 -17
@@ -1,4 +1,6 @@
1
+ import type { IVerdictCoverage } from '@shrkcrft/core';
1
2
  import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
3
+ import { type ISelfConfigDoctorReportV2 } from './self-config-doctor-v2.js';
2
4
  export declare const SELF_CONFIG_DOCTOR_SCHEMA = "sharkcraft.self-config-doctor/v1";
3
5
  export declare enum SelfConfigSeverity {
4
6
  Info = "info",
@@ -14,6 +16,8 @@ export interface ISelfConfigFinding {
14
16
  readonly referencedId?: string;
15
17
  readonly referencedKind?: string;
16
18
  readonly nextCommand?: string;
19
+ /** How many times v2 found this same finding (omitted when once). */
20
+ readonly occurrences?: number;
17
21
  }
18
22
  export interface ISelfConfigDoctorReport {
19
23
  readonly schema: typeof SELF_CONFIG_DOCTOR_SCHEMA;
@@ -21,8 +25,17 @@ export interface ISelfConfigDoctorReport {
21
25
  readonly projectRoot: string;
22
26
  readonly findings: readonly ISelfConfigFinding[];
23
27
  readonly totals: Readonly<Record<string, number>>;
24
- readonly verdict: 'ok' | 'warnings' | 'errors';
28
+ /**
29
+ * v2's verdict. `unverified` (round 11): no errors, but a coverage record has
30
+ * a shortfall — a dead or unverifiable unit, e.g. command strings over MCP,
31
+ * which cannot inject the CLI's command index. See `coverage`.
32
+ */
33
+ readonly verdict: 'ok' | 'warnings' | 'errors' | 'unverified';
25
34
  readonly nextCommands: readonly string[];
35
+ /** v2's per-unit coverage — what each probe family examined. */
36
+ readonly coverage?: readonly IVerdictCoverage[];
37
+ /** v2's dead units (selectors that match nothing, boosts that never fire). */
38
+ readonly deadUnits?: readonly string[];
26
39
  }
27
40
  export interface ISelfConfigGraphNode {
28
41
  readonly id: string;
@@ -40,6 +53,12 @@ export interface ISelfConfigGraph {
40
53
  readonly edges: readonly ISelfConfigGraphEdge[];
41
54
  readonly brokenEdges: readonly ISelfConfigGraphEdge[];
42
55
  }
56
+ /** The v1 shape of a v2 report — field renames only; no check of its own. */
57
+ export declare function projectSelfConfigDoctorV2ToV1(report: ISelfConfigDoctorReportV2): ISelfConfigDoctorReport;
58
+ /**
59
+ * The v1 report: {@link projectSelfConfigDoctorV2ToV1} of THE doctor. Kept
60
+ * for the MCP `get_self_config_doctor` default and v1 JSON consumers.
61
+ */
43
62
  export declare function buildSelfConfigDoctorReport(inspection: ISharkcraftInspection): Promise<ISelfConfigDoctorReport>;
44
63
  export declare function buildSelfConfigGraph(inspection: ISharkcraftInspection): Promise<ISelfConfigGraph>;
45
64
  export declare function renderSelfConfigDoctorText(report: ISelfConfigDoctorReport): string;
@@ -1 +1 @@
1
- {"version":3,"file":"self-config-doctor.d.ts","sourceRoot":"","sources":["../src/self-config-doctor.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOvE,eAAO,MAAM,yBAAyB,qCAAqC,CAAC;AAE5E,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,yBAAyB,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,iCAAiC,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD;AA2TD,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAsClC;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAuC3B;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAyBlF;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAoBtF"}
1
+ {"version":3,"file":"self-config-doctor.d.ts","sourceRoot":"","sources":["../src/self-config-doctor.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,26 @@
1
1
  /**
2
- * Self-config doctor.
2
+ * Self-config doctor — the v1 schema (`sharkcraft.self-config-doctor/v1`).
3
3
  *
4
- * Cross-reference walker over the workspace's loaded contributions. Validates
5
- * the *graph* of references between knowledge, rules, paths, conventions,
6
- * templates, playbooks, helpers, profiles, agent-tests, search tuning,
7
- * feedback rules, decisions, contract templates, migration profiles, plugin
8
- * lifecycle profiles, MCP tool names, and CLI command catalog entries.
4
+ * v1 is a PROJECTION of v2 (`buildSelfConfigDoctorReportV2`). It used to be a
5
+ * second doctor with its own private checks: the CLI (v2) and the MCP tool /
6
+ * `fix preview --self-config` (v1) answered "is my config healthy?" with
7
+ * different check sets, and v1 still carried the hand-written `lookups.x.has`
8
+ * chain that reported correct ids as unknown. Now there is one set of checks;
9
+ * v1 only renames fields for back-compat (`sourceId` → `referencingId`,
10
+ * `targetId` → `referencedId`, `targetKind` → `referencedKind`, `file` →
11
+ * `sourceFile`) and maps the v2 `pack-signature-stale` code back to its v1
12
+ * spelling `pack-conflict:stale-signature`.
13
+ *
14
+ * `buildSelfConfigGraph` keeps its own lookup (a node list, not a check).
9
15
  *
10
16
  * Read-only. Never imports executable pack code beyond the loaders that
11
17
  * already do.
12
18
  */
13
19
  import { existsSync } from 'node:fs';
14
20
  import * as nodePath from 'node:path';
15
- import { buildPackContributionsInventory } from "./pack-contributions-inventory.js";
16
- import { listTaskRoutingHints } from "./task-routing-hint-registry.js";
21
+ import { knowledgeReferences } from '@shrkcrft/knowledge';
17
22
  import { referenceIdsFor, warmReferenceRegistries, } from "./reference-registry.js";
23
+ import { buildSelfConfigDoctorReportV2, } from "./self-config-doctor-v2.js";
18
24
  export const SELF_CONFIG_DOCTOR_SCHEMA = 'sharkcraft.self-config-doctor/v1';
19
25
  export var SelfConfigSeverity;
20
26
  (function (SelfConfigSeverity) {
@@ -23,12 +29,8 @@ export var SelfConfigSeverity;
23
29
  SelfConfigSeverity["Error"] = "error";
24
30
  })(SelfConfigSeverity || (SelfConfigSeverity = {}));
25
31
  /**
26
- * Every set is a projection of the SHARED reference registry.
27
- *
28
- * This used to build its own sets from its own sources, and carried eleven more
29
- * fields that nothing read — nine of them hardcoded `new Set()`, so any check
30
- * that had started using one would have reported every correct id as unknown.
31
- * The v2 doctor made exactly that mistake with `policies` and `commands`.
32
+ * The graph's node sets — every set a projection of the SHARED reference
33
+ * registry (no check reads them; the checks are v2's).
32
34
  */
33
35
  async function buildLookups(inspection) {
34
36
  await warmReferenceRegistries(inspection);
@@ -41,278 +43,49 @@ async function buildLookups(inspection) {
41
43
  conventions: ids('convention'),
42
44
  contractTemplates: ids('contract-template'),
43
45
  migrationProfiles: ids('migration-profile'),
44
- helpers: ids('helper'),
45
- registrationHints: ids('registration-hint'),
46
46
  };
47
47
  }
48
- function addFinding(out, finding) {
49
- out.push(finding);
50
- }
51
- async function checkKnowledgeReferences(inspection, lookups, findings) {
52
- for (const k of inspection.knowledgeEntries) {
53
- for (const ref of k.references ?? []) {
54
- if (ref.kind === 'file' && ref.path) {
55
- const abs = nodePath.isAbsolute(ref.path)
56
- ? ref.path
57
- : nodePath.join(inspection.projectRoot, ref.path);
58
- if (!existsSync(abs)) {
59
- findings.push({
60
- severity: ref.required ? SelfConfigSeverity.Error : SelfConfigSeverity.Warning,
61
- code: 'knowledge-ref-missing-file',
62
- message: `Knowledge "${k.id}" references missing file "${ref.path}".`,
63
- referencingId: k.id,
64
- referencedId: ref.path,
65
- referencedKind: 'file',
66
- sourceFile: k.source?.origin ?? undefined,
67
- nextCommand: 'shrk knowledge stale-check --ci',
68
- });
69
- }
70
- }
71
- // Anchors / symbols / commands left to dedicated checkers
72
- // (existing `shrk knowledge stale-check`).
73
- }
74
- }
75
- // Touch lookups so the param isn't unused — future expansions may reference it.
76
- void lookups;
77
- }
78
- async function checkSearchTuningTargets(inspection, lookups, findings) {
79
- const { listSearchTuning } = await import("./search-tuning-registry.js");
80
- const entries = listSearchTuning(inspection);
81
- for (const entry of entries) {
82
- for (const idMap of [entry.boostIds, ...(entry.taskHints ?? []).map((h) => h.boostIds)]) {
83
- if (!idMap)
84
- continue;
85
- for (const targetId of Object.keys(idMap)) {
86
- const exists = lookups.knowledge.has(targetId) ||
87
- lookups.rules.has(targetId) ||
88
- lookups.templates.has(targetId) ||
89
- lookups.pipelines.has(targetId) ||
90
- lookups.contractTemplates.has(targetId) ||
91
- lookups.conventions.has(targetId);
92
- if (!exists) {
93
- findings.push({
94
- severity: SelfConfigSeverity.Warning,
95
- code: 'search-tuning-target-missing',
96
- message: `Search tuning "${entry.id}" boosts unknown id "${targetId}".`,
97
- referencingId: entry.id,
98
- referencedId: targetId,
99
- referencedKind: 'unknown',
100
- sourceFile: entry.sourceFile,
101
- });
102
- }
103
- }
104
- }
105
- }
48
+ /** v2's `pack-signature-stale` is v1's `pack-conflict:stale-signature`. */
49
+ function v1Code(code) {
50
+ return code === 'pack-signature-stale' ? 'pack-conflict:stale-signature' : code;
106
51
  }
107
- async function checkAgentTestExpectations(inspection, lookups, findings) {
108
- let agentTests = [];
109
- try {
110
- const { loadAgentContractTests } = await import("./test-runner.js");
111
- agentTests = (await loadAgentContractTests(inspection));
112
- }
113
- catch {
114
- return;
115
- }
116
- for (const t of agentTests) {
117
- for (const id of t.expectedKnowledge ?? []) {
118
- if (!lookups.knowledge.has(id)) {
119
- findings.push({
120
- severity: SelfConfigSeverity.Error,
121
- code: 'agent-test-knowledge-missing',
122
- message: `Agent test "${t.id}" expects unknown knowledge id "${id}".`,
123
- referencingId: t.id,
124
- referencedId: id,
125
- referencedKind: 'knowledge',
126
- });
127
- }
128
- }
129
- for (const id of t.expectedTemplates ?? []) {
130
- if (!lookups.templates.has(id)) {
131
- findings.push({
132
- severity: SelfConfigSeverity.Error,
133
- code: 'agent-test-template-missing',
134
- message: `Agent test "${t.id}" expects unknown template id "${id}".`,
135
- referencingId: t.id,
136
- referencedId: id,
137
- referencedKind: 'template',
138
- });
139
- }
140
- }
141
- }
142
- }
143
- async function checkPackContributionConflicts(inspection, findings) {
144
- const inv = buildPackContributionsInventory(inspection);
145
- for (const c of inv.conflicts) {
146
- findings.push({
147
- severity: c.severity === 'error'
148
- ? SelfConfigSeverity.Error
149
- : c.severity === 'warning'
150
- ? SelfConfigSeverity.Warning
151
- : SelfConfigSeverity.Info,
152
- code: `pack-conflict:${c.kind}`,
153
- message: c.message,
154
- referencingId: c.id,
155
- referencedKind: c.contributionKind,
156
- ...(c.nextCommand ? { nextCommand: c.nextCommand } : {}),
157
- });
158
- }
52
+ function projectFinding(f) {
53
+ return {
54
+ severity: f.severity === 'error'
55
+ ? SelfConfigSeverity.Error
56
+ : f.severity === 'warning'
57
+ ? SelfConfigSeverity.Warning
58
+ : SelfConfigSeverity.Info,
59
+ code: v1Code(f.code),
60
+ message: f.message,
61
+ ...(f.file !== undefined ? { sourceFile: f.file } : {}),
62
+ referencingId: f.sourceId,
63
+ referencedId: f.targetId,
64
+ referencedKind: f.targetKind,
65
+ ...(f.nextCommand !== undefined ? { nextCommand: f.nextCommand } : {}),
66
+ ...(f.occurrences !== undefined ? { occurrences: f.occurrences } : {}),
67
+ };
159
68
  }
160
- /**
161
- * Verify template metadata cross-references resolve:
162
- * - `metadata.requiredConventionIds` → conventions registry
163
- * - `metadata.requiredHelperIds` → helpers registry
164
- * - `metadata.registrationHintIds` → registration-hints registry
165
- * - `metadata.requiredProfileIds` → profile registry
166
- */
167
- async function checkTemplateMetadataReferences(inspection, lookups, findings) {
168
- const templates = (inspection.templates ?? []);
169
- for (const t of templates) {
170
- const m = t.metadata;
171
- if (!m)
172
- continue;
173
- for (const id of m.requiredConventionIds ?? []) {
174
- if (!lookups.conventions.has(id)) {
175
- findings.push({
176
- severity: SelfConfigSeverity.Warning,
177
- code: 'template-convention-missing',
178
- message: `Template "${t.id}" requires convention "${id}" but it is not registered.`,
179
- referencingId: t.id,
180
- referencedId: id,
181
- referencedKind: 'convention',
182
- nextCommand: `shrk conventions list --source pack`,
183
- });
184
- }
185
- }
186
- for (const id of m.requiredHelperIds ?? []) {
187
- if (!lookups.helpers.has(id)) {
188
- findings.push({
189
- severity: SelfConfigSeverity.Warning,
190
- code: 'template-helper-missing',
191
- message: `Template "${t.id}" requires helper "${id}" but it is not registered.`,
192
- referencingId: t.id,
193
- referencedId: id,
194
- referencedKind: 'helper',
195
- nextCommand: `shrk helper list --source pack`,
196
- });
197
- }
198
- }
199
- for (const id of m.requiredProfileIds ?? []) {
200
- if (!lookups.migrationProfiles.has(id)) {
201
- findings.push({
202
- severity: SelfConfigSeverity.Warning,
203
- code: 'template-profile-missing',
204
- message: `Template "${t.id}" requires profile "${id}" but it is not registered.`,
205
- referencingId: t.id,
206
- referencedId: id,
207
- referencedKind: 'profile',
208
- nextCommand: `shrk profiles list`,
209
- });
210
- }
211
- }
212
- for (const id of m.registrationHintIds ?? []) {
213
- if (!lookups.registrationHints.has(id)) {
214
- findings.push({
215
- severity: SelfConfigSeverity.Warning,
216
- code: 'template-registration-hint-missing',
217
- message: `Template "${t.id}" references registration hint "${id}" but it is not registered.`,
218
- referencingId: t.id,
219
- referencedId: id,
220
- referencedKind: 'registration-hint',
221
- nextCommand: `shrk registrations list`,
222
- });
223
- }
224
- }
225
- }
69
+ /** The v1 shape of a v2 report — field renames only; no check of its own. */
70
+ export function projectSelfConfigDoctorV2ToV1(report) {
71
+ return {
72
+ schema: SELF_CONFIG_DOCTOR_SCHEMA,
73
+ generatedAt: report.generatedAt,
74
+ projectRoot: report.projectRoot,
75
+ findings: report.findings.map(projectFinding),
76
+ totals: { error: report.totals.error, warning: report.totals.warning, info: report.totals.info },
77
+ verdict: report.verdict,
78
+ nextCommands: report.nextCommands,
79
+ coverage: report.coverage,
80
+ deadUnits: report.deadUnits,
81
+ };
226
82
  }
227
83
  /**
228
- * Verify routing hint targets resolve to commands/templates/playbooks/helpers/profiles/conventions/knowledge.
84
+ * The v1 report: {@link projectSelfConfigDoctorV2ToV1} of THE doctor. Kept
85
+ * for the MCP `get_self_config_doctor` default and v1 JSON consumers.
229
86
  */
230
- async function checkRoutingHintTargets(inspection, lookups, findings) {
231
- const entries = await listTaskRoutingHints(inspection);
232
- for (const e of entries) {
233
- const rec = e.hint.recommends;
234
- for (const id of rec.templates ?? []) {
235
- if (!lookups.templates.has(id)) {
236
- findings.push({
237
- severity: SelfConfigSeverity.Info,
238
- code: 'routing-hint-template-missing',
239
- message: `Routing hint "${e.hint.id}" recommends template "${id}" but it is not registered.`,
240
- referencingId: e.hint.id,
241
- referencedId: id,
242
- referencedKind: 'template',
243
- });
244
- }
245
- }
246
- for (const id of rec.helpers ?? []) {
247
- if (!lookups.helpers.has(id)) {
248
- findings.push({
249
- severity: SelfConfigSeverity.Info,
250
- code: 'routing-hint-helper-missing',
251
- message: `Routing hint "${e.hint.id}" recommends helper "${id}" but it is not registered.`,
252
- referencingId: e.hint.id,
253
- referencedId: id,
254
- referencedKind: 'helper',
255
- });
256
- }
257
- }
258
- for (const id of rec.conventions ?? []) {
259
- if (!lookups.conventions.has(id)) {
260
- findings.push({
261
- severity: SelfConfigSeverity.Info,
262
- code: 'routing-hint-convention-missing',
263
- message: `Routing hint "${e.hint.id}" recommends convention "${id}" but it is not registered.`,
264
- referencingId: e.hint.id,
265
- referencedId: id,
266
- referencedKind: 'convention',
267
- });
268
- }
269
- }
270
- for (const id of rec.profiles ?? []) {
271
- if (!lookups.migrationProfiles.has(id)) {
272
- findings.push({
273
- severity: SelfConfigSeverity.Info,
274
- code: 'routing-hint-profile-missing',
275
- message: `Routing hint "${e.hint.id}" recommends profile "${id}" but it is not registered.`,
276
- referencingId: e.hint.id,
277
- referencedId: id,
278
- referencedKind: 'profile',
279
- });
280
- }
281
- }
282
- }
283
- }
284
87
  export async function buildSelfConfigDoctorReport(inspection) {
285
- const findings = [];
286
- const lookups = await buildLookups(inspection);
287
- await checkKnowledgeReferences(inspection, lookups, findings);
288
- await checkSearchTuningTargets(inspection, lookups, findings);
289
- await checkAgentTestExpectations(inspection, lookups, findings);
290
- await checkPackContributionConflicts(inspection, findings);
291
- // Template metadata + routing hint cross-references.
292
- await checkTemplateMetadataReferences(inspection, lookups, findings);
293
- await checkRoutingHintTargets(inspection, lookups, findings);
294
- const totals = {
295
- error: findings.filter((f) => f.severity === 'error').length,
296
- warning: findings.filter((f) => f.severity === 'warning').length,
297
- info: findings.filter((f) => f.severity === 'info').length,
298
- };
299
- const verdict = totals.error > 0 ? 'errors' : totals.warning > 0 ? 'warnings' : 'ok';
300
- const nextCommands = [];
301
- if (totals.error > 0) {
302
- nextCommands.push('Fix the listed errors — start with the most-referenced ids first.', 'shrk packs conflicts', 'shrk knowledge stale-check --ci');
303
- }
304
- else if (totals.warning > 0) {
305
- nextCommands.push('Review warnings — most can be resolved by adding the referenced id or removing the stale reference.');
306
- }
307
- return {
308
- schema: SELF_CONFIG_DOCTOR_SCHEMA,
309
- generatedAt: new Date().toISOString(),
310
- projectRoot: inspection.projectRoot,
311
- findings,
312
- totals,
313
- verdict,
314
- nextCommands,
315
- };
88
+ return projectSelfConfigDoctorV2ToV1(await buildSelfConfigDoctorReportV2(inspection));
316
89
  }
317
90
  export async function buildSelfConfigGraph(inspection) {
318
91
  const nodes = [];
@@ -336,7 +109,7 @@ export async function buildSelfConfigGraph(inspection) {
336
109
  nodes.push({ id, kind: 'migration-profile' });
337
110
  // Edges from knowledge → referenced ids (best-effort).
338
111
  for (const k of inspection.knowledgeEntries) {
339
- for (const ref of k.references ?? []) {
112
+ for (const ref of knowledgeReferences(k)) {
340
113
  const refId = ref.path ?? '';
341
114
  if (!refId)
342
115
  continue;
@@ -370,7 +143,8 @@ export function renderSelfConfigDoctorText(report) {
370
143
  lines.push(` info ${report.totals['info'] ?? 0}`);
371
144
  lines.push('');
372
145
  if (report.findings.length === 0) {
373
- lines.push(' No cross-reference issues. ✓');
146
+ // No ✓: whether this is a pass is the settled verdict's call.
147
+ lines.push(' No findings.');
374
148
  return lines.join('\n') + '\n';
375
149
  }
376
150
  for (const f of report.findings.slice(0, 100)) {
@@ -397,7 +171,7 @@ export function renderSelfConfigDoctorMarkdown(report) {
397
171
  lines.push(`- info: ${report.totals['info'] ?? 0}`);
398
172
  lines.push('');
399
173
  if (report.findings.length === 0) {
400
- lines.push('No cross-reference issues. ✓');
174
+ lines.push('No findings.');
401
175
  return lines.join('\n') + '\n';
402
176
  }
403
177
  lines.push('| Severity | Code | Message | Next |');
@@ -0,0 +1,9 @@
1
+ import { type ISettledUnitLiveness, type IUnitStateLists } from '@shrkcrft/core';
2
+ /**
3
+ * The printed unit lines (`dead` / `intendedEmpty` / `wentLive`, each THE one
4
+ * `formatUnitLiveness` line) of several settles at once — an asset doctor
5
+ * settles more than one list (scaffold globs and patterns; search-tuning keys
6
+ * and task hints) and its `--json` carries one `units` object (round 13).
7
+ */
8
+ export declare function settledUnitStates(settles: readonly Pick<ISettledUnitLiveness, 'dead' | 'intendedEmpty' | 'wentLive'>[]): IUnitStateLists;
9
+ //# sourceMappingURL=settled-unit-states.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settled-unit-states.d.ts","sourceRoot":"","sources":["../src/settled-unit-states.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjG;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC,EAAE,GACpF,eAAe,CAMjB"}
@@ -0,0 +1,14 @@
1
+ import { unitStateLists } from '@shrkcrft/core';
2
+ /**
3
+ * The printed unit lines (`dead` / `intendedEmpty` / `wentLive`, each THE one
4
+ * `formatUnitLiveness` line) of several settles at once — an asset doctor
5
+ * settles more than one list (scaffold globs and patterns; search-tuning keys
6
+ * and task hints) and its `--json` carries one `units` object (round 13).
7
+ */
8
+ export function settledUnitStates(settles) {
9
+ return unitStateLists({
10
+ dead: settles.flatMap((s) => s.dead),
11
+ intendedEmpty: settles.flatMap((s) => s.intendedEmpty),
12
+ wentLive: settles.flatMap((s) => s.wentLive),
13
+ });
14
+ }
@@ -11,6 +11,8 @@ import { BoundaryRegistry } from '@shrkcrft/boundaries';
11
11
  import { type IDoctorResult } from './doctor-result.js';
12
12
  import { type IGraphDivergence } from './code-intelligence-doctor.js';
13
13
  import { type ILoaderDiagnostic } from './loader-diagnostics.js';
14
+ import type { IBoundaryLoadIssue } from './boundary-load-issue.model.js';
15
+ import { type IPackAssetFreshness } from './pack-asset-freshness.js';
14
16
  /**
15
17
  * Find SharkCraft packs that live IN the repo but are not discovered (i.e.
16
18
  * not linked into node_modules). Discovery scans node_modules; an unlinked
@@ -32,6 +34,21 @@ export interface ISharkcraftInspection {
32
34
  sharkcraftDir: string | null;
33
35
  config: ISharkCraftConfig | null;
34
36
  configFile: string | null;
37
+ /**
38
+ * Set when a config file EXISTS but could not be loaded — a schema violation
39
+ * (e.g. an unrecognized key), an unresolved `$use`, or an import failure.
40
+ * `config` / `configFile` are then null and every config-declared setting
41
+ * and plane is dropped, so `runDoctor` reports it as an ERROR — never as
42
+ * "no config file".
43
+ */
44
+ configLoadError?: {
45
+ /** Absolute path of the config file that failed, when known. */
46
+ readonly file: string | null;
47
+ /** The loader's own message. */
48
+ readonly message: string;
49
+ /** One line per schema issue (`<path>: <message>`), or the import error. */
50
+ readonly issues: readonly string[];
51
+ };
35
52
  knowledgeEntries: IKnowledgeEntry[];
36
53
  templates: ITemplateDefinition[];
37
54
  pipelines: IPipelineDefinition[];
@@ -51,6 +68,15 @@ export interface ISharkcraftInspection {
51
68
  presetSources: ReadonlyMap<string, ISourceInfo>;
52
69
  boundaryRegistry: BoundaryRegistry;
53
70
  boundarySources: ReadonlyMap<string, ISourceInfo>;
71
+ /**
72
+ * Boundary rules / rule files that were configured but could NOT be
73
+ * evaluated (round 11): an invalid rule, a file that failed to load or
74
+ * exported no array, a `boundaryFiles` entry that does not exist. They used
75
+ * to be warning strings no boundary surface rendered — a fence vanished and
76
+ * `check boundaries` stayed green. Every boundary surface reports each one as
77
+ * an ERRORED rule. Optional so hand-built inspections keep type-checking.
78
+ */
79
+ boundaryLoadIssues?: readonly IBoundaryLoadIssue[];
54
80
  /** Per-loader timing + status diagnostics. */
55
81
  loaderDiagnostics: readonly ILoaderDiagnostic[];
56
82
  /** Total wall-clock ms spent in inspectSharkcraft. */
@@ -59,6 +85,14 @@ export interface ISharkcraftInspection {
59
85
  cacheEnabled: boolean;
60
86
  /** Directory where the persistent inspector cache lives. */
61
87
  cacheDir: string;
88
+ /**
89
+ * Freshness of every valid pack that serves COMPILED contributions
90
+ * (`.js`/`.mjs`/`.cjs`), from THE pack-asset freshness authority — content
91
+ * digests, never mtimes. Packs whose contributions are all TS sources are
92
+ * absent (nothing compiled to go stale). Optional: hand-built inspections
93
+ * omit it.
94
+ */
95
+ packAssetFreshness?: readonly IPackAssetFreshness[];
62
96
  }
63
97
  export interface ISourceInfo {
64
98
  type: 'local' | 'pack';
@@ -1 +1 @@
1
- {"version":3,"file":"sharkcraft-inspector.d.ts","sourceRoot":"","sources":["../src/sharkcraft-inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharkcraft-inspector.d.ts","sourceRoot":"","sources":["../src/sharkcraft-inspector.ts"],"names":[],"mappings":"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"}