@shrkcrft/cli 0.1.0-alpha.29 → 0.1.0-alpha.31

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 (510) hide show
  1. package/dist/asset-preview/apply-asset-preview.js +1 -1
  2. package/dist/authoring/authoring-kit.d.ts +9 -1
  3. package/dist/authoring/authoring-kit.d.ts.map +1 -1
  4. package/dist/authoring/authoring-kit.js +26 -13
  5. package/dist/bootstrap/unlinked-workspace-dependency.d.ts +11 -0
  6. package/dist/bootstrap/unlinked-workspace-dependency.d.ts.map +1 -0
  7. package/dist/bootstrap/unlinked-workspace-dependency.js +99 -0
  8. package/dist/command-registry.d.ts +100 -1
  9. package/dist/command-registry.d.ts.map +1 -1
  10. package/dist/command-registry.js +130 -3
  11. package/dist/commands/api-diff.command.d.ts.map +1 -1
  12. package/dist/commands/api-diff.command.js +12 -0
  13. package/dist/commands/apply.command.d.ts.map +1 -1
  14. package/dist/commands/apply.command.js +3 -0
  15. package/dist/commands/arch.command.d.ts.map +1 -1
  16. package/dist/commands/arch.command.js +26 -7
  17. package/dist/commands/architecture.command.d.ts.map +1 -1
  18. package/dist/commands/architecture.command.js +8 -2
  19. package/dist/commands/baseline.command.d.ts +76 -0
  20. package/dist/commands/baseline.command.d.ts.map +1 -1
  21. package/dist/commands/baseline.command.js +599 -75
  22. package/dist/commands/biome.command.d.ts.map +1 -1
  23. package/dist/commands/biome.command.js +20 -0
  24. package/dist/commands/boundaries.command.d.ts +9 -1
  25. package/dist/commands/boundaries.command.d.ts.map +1 -1
  26. package/dist/commands/boundaries.command.js +88 -20
  27. package/dist/commands/bundle.command.d.ts.map +1 -1
  28. package/dist/commands/bundle.command.js +57 -11
  29. package/dist/commands/cache-align.command.d.ts.map +1 -1
  30. package/dist/commands/cache-align.command.js +3 -1
  31. package/dist/commands/changelog-data.d.ts.map +1 -1
  32. package/dist/commands/changelog-data.js +164 -0
  33. package/dist/commands/changes.command.d.ts.map +1 -1
  34. package/dist/commands/changes.command.js +15 -0
  35. package/dist/commands/check.command.d.ts.map +1 -1
  36. package/dist/commands/check.command.js +1260 -324
  37. package/dist/commands/checks.command.d.ts.map +1 -1
  38. package/dist/commands/checks.command.js +188 -40
  39. package/dist/commands/ci.command.d.ts.map +1 -1
  40. package/dist/commands/ci.command.js +35 -2
  41. package/dist/commands/code-intel.command.d.ts.map +1 -1
  42. package/dist/commands/code-intel.command.js +8 -1
  43. package/dist/commands/command-catalog.d.ts +23 -1
  44. package/dist/commands/command-catalog.d.ts.map +1 -1
  45. package/dist/commands/command-catalog.js +152 -35
  46. package/dist/commands/commands.command.d.ts +21 -3
  47. package/dist/commands/commands.command.d.ts.map +1 -1
  48. package/dist/commands/commands.command.js +172 -27
  49. package/dist/commands/compress.command.d.ts.map +1 -1
  50. package/dist/commands/compress.command.js +4 -0
  51. package/dist/commands/constructs.command.d.ts.map +1 -1
  52. package/dist/commands/constructs.command.js +50 -12
  53. package/dist/commands/context.command.d.ts.map +1 -1
  54. package/dist/commands/context.command.js +40 -5
  55. package/dist/commands/contract-templates.command.d.ts.map +1 -1
  56. package/dist/commands/contract-templates.command.js +9 -1
  57. package/dist/commands/contract.command.d.ts.map +1 -1
  58. package/dist/commands/contract.command.js +35 -0
  59. package/dist/commands/conventions.command.d.ts.map +1 -1
  60. package/dist/commands/conventions.command.js +189 -29
  61. package/dist/commands/coverage.command.d.ts.map +1 -1
  62. package/dist/commands/coverage.command.js +9 -0
  63. package/dist/commands/daily.commands.d.ts +0 -1
  64. package/dist/commands/daily.commands.d.ts.map +1 -1
  65. package/dist/commands/daily.commands.js +12 -76
  66. package/dist/commands/dashboard.command.d.ts.map +1 -1
  67. package/dist/commands/dashboard.command.js +10 -0
  68. package/dist/commands/dev.command.d.ts.map +1 -1
  69. package/dist/commands/dev.command.js +45 -2
  70. package/dist/commands/diagnostics.command.d.ts +0 -2
  71. package/dist/commands/diagnostics.command.d.ts.map +1 -1
  72. package/dist/commands/diagnostics.command.js +5 -78
  73. package/dist/commands/diff-check.command.d.ts +6 -4
  74. package/dist/commands/diff-check.command.d.ts.map +1 -1
  75. package/dist/commands/diff-check.command.js +190 -103
  76. package/dist/commands/docs-references.command.d.ts +20 -0
  77. package/dist/commands/docs-references.command.d.ts.map +1 -0
  78. package/dist/commands/docs-references.command.js +520 -0
  79. package/dist/commands/doctor.command.d.ts.map +1 -1
  80. package/dist/commands/doctor.command.js +60 -5
  81. package/dist/commands/drift.command.d.ts.map +1 -1
  82. package/dist/commands/drift.command.js +17 -4
  83. package/dist/commands/eslint.command.d.ts.map +1 -1
  84. package/dist/commands/eslint.command.js +20 -0
  85. package/dist/commands/export.command.d.ts.map +1 -1
  86. package/dist/commands/export.command.js +23 -1
  87. package/dist/commands/feedback-dispatch.command.d.ts.map +1 -1
  88. package/dist/commands/feedback-dispatch.command.js +29 -0
  89. package/dist/commands/feedback.command.d.ts.map +1 -1
  90. package/dist/commands/feedback.command.js +6 -1
  91. package/dist/commands/finish.command.d.ts.map +1 -1
  92. package/dist/commands/finish.command.js +32 -8
  93. package/dist/commands/fix.command.d.ts.map +1 -1
  94. package/dist/commands/fix.command.js +19 -0
  95. package/dist/commands/gate.command.d.ts +6 -1
  96. package/dist/commands/gate.command.d.ts.map +1 -1
  97. package/dist/commands/gate.command.js +50 -124
  98. package/dist/commands/gates.command.d.ts +54 -0
  99. package/dist/commands/gates.command.d.ts.map +1 -1
  100. package/dist/commands/gates.command.js +1314 -64
  101. package/dist/commands/gen.command.d.ts.map +1 -1
  102. package/dist/commands/gen.command.js +4 -0
  103. package/dist/commands/generated.command.d.ts +62 -0
  104. package/dist/commands/generated.command.d.ts.map +1 -1
  105. package/dist/commands/generated.command.js +639 -156
  106. package/dist/commands/graph-code-subverbs.d.ts +15 -0
  107. package/dist/commands/graph-code-subverbs.d.ts.map +1 -1
  108. package/dist/commands/graph-code-subverbs.js +203 -25
  109. package/dist/commands/graph.command.d.ts.map +1 -1
  110. package/dist/commands/graph.command.js +79 -37
  111. package/dist/commands/help.command.d.ts +30 -6
  112. package/dist/commands/help.command.d.ts.map +1 -1
  113. package/dist/commands/help.command.js +323 -199
  114. package/dist/commands/helper.command.d.ts +1 -0
  115. package/dist/commands/helper.command.d.ts.map +1 -1
  116. package/dist/commands/helper.command.js +195 -56
  117. package/dist/commands/impact.command.d.ts.map +1 -1
  118. package/dist/commands/impact.command.js +115 -12
  119. package/dist/commands/infer.command.d.ts.map +1 -1
  120. package/dist/commands/infer.command.js +20 -45
  121. package/dist/commands/ingest.command.d.ts +0 -1
  122. package/dist/commands/ingest.command.d.ts.map +1 -1
  123. package/dist/commands/ingest.command.js +25 -41
  124. package/dist/commands/knowledge-author.command.d.ts +0 -3
  125. package/dist/commands/knowledge-author.command.d.ts.map +1 -1
  126. package/dist/commands/knowledge-author.command.js +10 -23
  127. package/dist/commands/knowledge.command.d.ts.map +1 -1
  128. package/dist/commands/knowledge.command.js +469 -129
  129. package/dist/commands/languages.command.d.ts.map +1 -1
  130. package/dist/commands/languages.command.js +27 -0
  131. package/dist/commands/lint.command.d.ts.map +1 -1
  132. package/dist/commands/lint.command.js +3 -0
  133. package/dist/commands/mcp.command.d.ts +18 -0
  134. package/dist/commands/mcp.command.d.ts.map +1 -1
  135. package/dist/commands/mcp.command.js +33 -8
  136. package/dist/commands/onboard.command.d.ts.map +1 -1
  137. package/dist/commands/onboard.command.js +20 -0
  138. package/dist/commands/owners.command.d.ts.map +1 -1
  139. package/dist/commands/owners.command.js +14 -2
  140. package/dist/commands/packs-new.d.ts +13 -1
  141. package/dist/commands/packs-new.d.ts.map +1 -1
  142. package/dist/commands/packs-new.js +500 -335
  143. package/dist/commands/packs.command.d.ts.map +1 -1
  144. package/dist/commands/packs.command.js +378 -36
  145. package/dist/commands/paths.command.d.ts.map +1 -1
  146. package/dist/commands/paths.command.js +9 -1
  147. package/dist/commands/pipelines.command.d.ts.map +1 -1
  148. package/dist/commands/pipelines.command.js +7 -1
  149. package/dist/commands/plan-check.command.d.ts.map +1 -1
  150. package/dist/commands/plan-check.command.js +3 -0
  151. package/dist/commands/plan.command.d.ts.map +1 -1
  152. package/dist/commands/plan.command.js +3 -0
  153. package/dist/commands/playbooks.command.d.ts.map +1 -1
  154. package/dist/commands/playbooks.command.js +7 -2
  155. package/dist/commands/policy-lint.command.d.ts +19 -2
  156. package/dist/commands/policy-lint.command.d.ts.map +1 -1
  157. package/dist/commands/policy-lint.command.js +224 -65
  158. package/dist/commands/policy.command.d.ts.map +1 -1
  159. package/dist/commands/policy.command.js +6 -1
  160. package/dist/commands/pr.command.d.ts.map +1 -1
  161. package/dist/commands/pr.command.js +14 -0
  162. package/dist/commands/presets.command.d.ts.map +1 -1
  163. package/dist/commands/presets.command.js +12 -27
  164. package/dist/commands/profiles.command.d.ts.map +1 -1
  165. package/dist/commands/profiles.command.js +94 -26
  166. package/dist/commands/provenance.command.js +1 -1
  167. package/dist/commands/quality.command.d.ts.map +1 -1
  168. package/dist/commands/quality.command.js +129 -33
  169. package/dist/commands/recommend.command.d.ts +20 -4
  170. package/dist/commands/recommend.command.d.ts.map +1 -1
  171. package/dist/commands/recommend.command.js +172 -278
  172. package/dist/commands/registrations.command.d.ts.map +1 -1
  173. package/dist/commands/registrations.command.js +138 -13
  174. package/dist/commands/registry-lifecycle-run.d.ts +14 -0
  175. package/dist/commands/registry-lifecycle-run.d.ts.map +1 -0
  176. package/dist/commands/registry-lifecycle-run.js +336 -0
  177. package/dist/commands/registry.command.d.ts.map +1 -1
  178. package/dist/commands/registry.command.js +235 -62
  179. package/dist/commands/release.command.d.ts.map +1 -1
  180. package/dist/commands/release.command.js +99 -20
  181. package/dist/commands/report.command.d.ts.map +1 -1
  182. package/dist/commands/report.command.js +38 -2
  183. package/dist/commands/reuse-coverage.command.d.ts +23 -0
  184. package/dist/commands/reuse-coverage.command.d.ts.map +1 -0
  185. package/dist/commands/reuse-coverage.command.js +536 -0
  186. package/dist/commands/reuse.command.d.ts +3 -18
  187. package/dist/commands/reuse.command.d.ts.map +1 -1
  188. package/dist/commands/reuse.command.js +395 -244
  189. package/dist/commands/review.command.d.ts.map +1 -1
  190. package/dist/commands/review.command.js +33 -1
  191. package/dist/commands/rounds.command.d.ts.map +1 -1
  192. package/dist/commands/rounds.command.js +5 -0
  193. package/dist/commands/safety.command.d.ts.map +1 -1
  194. package/dist/commands/safety.command.js +9 -0
  195. package/dist/commands/scaffolds.command.d.ts.map +1 -1
  196. package/dist/commands/scaffolds.command.js +97 -25
  197. package/dist/commands/search.command.d.ts +0 -8
  198. package/dist/commands/search.command.d.ts.map +1 -1
  199. package/dist/commands/search.command.js +136 -28
  200. package/dist/commands/self-config-xrefs.command.d.ts +24 -0
  201. package/dist/commands/self-config-xrefs.command.d.ts.map +1 -0
  202. package/dist/commands/self-config-xrefs.command.js +170 -0
  203. package/dist/commands/self-config.command.d.ts.map +1 -1
  204. package/dist/commands/self-config.command.js +261 -65
  205. package/dist/commands/smart-context.command.d.ts.map +1 -1
  206. package/dist/commands/smart-context.command.js +39 -3
  207. package/dist/commands/spec.command.d.ts.map +1 -1
  208. package/dist/commands/spec.command.js +3 -0
  209. package/dist/commands/stats.command.d.ts.map +1 -1
  210. package/dist/commands/stats.command.js +3 -0
  211. package/dist/commands/surface.command.d.ts +6 -1
  212. package/dist/commands/surface.command.d.ts.map +1 -1
  213. package/dist/commands/surface.command.js +256 -54
  214. package/dist/commands/task-context.command.js +1 -1
  215. package/dist/commands/task.command.d.ts.map +1 -1
  216. package/dist/commands/task.command.js +22 -1
  217. package/dist/commands/templates.command.d.ts +4 -0
  218. package/dist/commands/templates.command.d.ts.map +1 -1
  219. package/dist/commands/templates.command.js +109 -22
  220. package/dist/commands/test.command.d.ts.map +1 -1
  221. package/dist/commands/test.command.js +161 -33
  222. package/dist/commands/tests.command.d.ts.map +1 -1
  223. package/dist/commands/tests.command.js +29 -3
  224. package/dist/commands/trace.command.d.ts.map +1 -1
  225. package/dist/commands/trace.command.js +29 -4
  226. package/dist/commands/watch.command.d.ts.map +1 -1
  227. package/dist/commands/watch.command.js +3 -0
  228. package/dist/commands/why.command.d.ts.map +1 -1
  229. package/dist/commands/why.command.js +3 -0
  230. package/dist/commands/wiring.command.d.ts +18 -4
  231. package/dist/commands/wiring.command.d.ts.map +1 -1
  232. package/dist/commands/wiring.command.js +362 -74
  233. package/dist/dashboard/code-intelligence-data.js +4 -4
  234. package/dist/diff/deleted-orphan-coverage.d.ts +32 -0
  235. package/dist/diff/deleted-orphan-coverage.d.ts.map +1 -0
  236. package/dist/diff/deleted-orphan-coverage.js +107 -0
  237. package/dist/diff/deleted-orphan-scope-notes.d.ts +23 -0
  238. package/dist/diff/deleted-orphan-scope-notes.d.ts.map +1 -0
  239. package/dist/diff/deleted-orphan-scope-notes.js +49 -0
  240. package/dist/diff/deleted-orphans.d.ts +32 -0
  241. package/dist/diff/deleted-orphans.d.ts.map +1 -1
  242. package/dist/diff/deleted-orphans.js +42 -2
  243. package/dist/dispatch/closest-match.d.ts +15 -0
  244. package/dist/dispatch/closest-match.d.ts.map +1 -0
  245. package/dist/dispatch/closest-match.js +47 -0
  246. package/dist/dispatch/global-flags.d.ts +94 -0
  247. package/dist/dispatch/global-flags.d.ts.map +1 -0
  248. package/dist/dispatch/global-flags.js +123 -0
  249. package/dist/dispatch/guard-invocation-input.d.ts +24 -0
  250. package/dist/dispatch/guard-invocation-input.d.ts.map +1 -0
  251. package/dist/dispatch/guard-invocation-input.js +1 -0
  252. package/dist/dispatch/guard-invocation.d.ts +33 -0
  253. package/dist/dispatch/guard-invocation.d.ts.map +1 -0
  254. package/dist/dispatch/guard-invocation.js +183 -0
  255. package/dist/dispatch/help-intercept.d.ts +22 -0
  256. package/dist/dispatch/help-intercept.d.ts.map +1 -0
  257. package/dist/dispatch/help-intercept.js +42 -0
  258. package/dist/dispatch/i-declared-invocation.d.ts +17 -0
  259. package/dist/dispatch/i-declared-invocation.d.ts.map +1 -0
  260. package/dist/dispatch/i-declared-invocation.js +1 -0
  261. package/dist/dispatch/i-unknown-flag-refusal-input.d.ts +28 -0
  262. package/dist/dispatch/i-unknown-flag-refusal-input.d.ts.map +1 -0
  263. package/dist/dispatch/i-unknown-flag-refusal-input.js +1 -0
  264. package/dist/dispatch/invocation-rejection-kind.d.ts +15 -0
  265. package/dist/dispatch/invocation-rejection-kind.d.ts.map +1 -0
  266. package/dist/dispatch/invocation-rejection-kind.js +15 -0
  267. package/dist/dispatch/invocation-rejection.d.ts +18 -0
  268. package/dist/dispatch/invocation-rejection.d.ts.map +1 -0
  269. package/dist/dispatch/invocation-rejection.js +1 -0
  270. package/dist/dispatch/judge-invocation.d.ts +24 -0
  271. package/dist/dispatch/judge-invocation.d.ts.map +1 -0
  272. package/dist/dispatch/judge-invocation.js +50 -0
  273. package/dist/dispatch/positional-mode.d.ts +18 -0
  274. package/dist/dispatch/positional-mode.d.ts.map +1 -0
  275. package/dist/dispatch/positional-mode.js +18 -0
  276. package/dist/dispatch/read-tracking-map.d.ts +28 -0
  277. package/dist/dispatch/read-tracking-map.d.ts.map +1 -0
  278. package/dist/dispatch/read-tracking-map.js +58 -0
  279. package/dist/dispatch/refuse-sibling-valve-flags.d.ts +30 -0
  280. package/dist/dispatch/refuse-sibling-valve-flags.d.ts.map +1 -0
  281. package/dist/dispatch/refuse-sibling-valve-flags.js +65 -0
  282. package/dist/dispatch/subverb-spec.d.ts +26 -0
  283. package/dist/dispatch/subverb-spec.d.ts.map +1 -0
  284. package/dist/dispatch/subverb-spec.js +1 -0
  285. package/dist/dispatch/undocumented-flag-reads.d.ts +22 -0
  286. package/dist/dispatch/undocumented-flag-reads.d.ts.map +1 -0
  287. package/dist/dispatch/undocumented-flag-reads.js +283 -0
  288. package/dist/dispatch/unknown-flag-refusal-mode.d.ts +13 -0
  289. package/dist/dispatch/unknown-flag-refusal-mode.d.ts.map +1 -0
  290. package/dist/dispatch/unknown-flag-refusal-mode.js +13 -0
  291. package/dist/dispatch/unknown-flag-refusal.d.ts +22 -0
  292. package/dist/dispatch/unknown-flag-refusal.d.ts.map +1 -0
  293. package/dist/dispatch/unknown-flag-refusal.js +57 -0
  294. package/dist/dispatch/unread-flags.d.ts +152 -0
  295. package/dist/dispatch/unread-flags.d.ts.map +1 -0
  296. package/dist/dispatch/unread-flags.js +295 -0
  297. package/dist/dispatch/verdict-valve-flag.d.ts +21 -0
  298. package/dist/dispatch/verdict-valve-flag.d.ts.map +1 -0
  299. package/dist/dispatch/verdict-valve-flag.js +21 -0
  300. package/dist/dispatch/walk-declared-subverbs.d.ts +14 -0
  301. package/dist/dispatch/walk-declared-subverbs.d.ts.map +1 -0
  302. package/dist/dispatch/walk-declared-subverbs.js +28 -0
  303. package/dist/exit-codes.d.ts +41 -3
  304. package/dist/exit-codes.d.ts.map +1 -1
  305. package/dist/exit-codes.js +153 -14
  306. package/dist/finish/run-finish.d.ts +72 -5
  307. package/dist/finish/run-finish.d.ts.map +1 -1
  308. package/dist/finish/run-finish.js +453 -104
  309. package/dist/gates/accepted-empty-note.d.ts +10 -0
  310. package/dist/gates/accepted-empty-note.d.ts.map +1 -0
  311. package/dist/gates/accepted-empty-note.js +11 -0
  312. package/dist/gates/allow-empty.d.ts +25 -0
  313. package/dist/gates/allow-empty.d.ts.map +1 -0
  314. package/dist/gates/allow-empty.js +27 -0
  315. package/dist/gates/asset-doctor-failing-units.d.ts +16 -0
  316. package/dist/gates/asset-doctor-failing-units.d.ts.map +1 -0
  317. package/dist/gates/asset-doctor-failing-units.js +14 -0
  318. package/dist/gates/asset-doctor-failure-line.d.ts +16 -0
  319. package/dist/gates/asset-doctor-failure-line.d.ts.map +1 -0
  320. package/dist/gates/asset-doctor-failure-line.js +28 -0
  321. package/dist/gates/empty-rule-advice-lines.d.ts +15 -0
  322. package/dist/gates/empty-rule-advice-lines.d.ts.map +1 -0
  323. package/dist/gates/empty-rule-advice-lines.js +20 -0
  324. package/dist/gates/gate-envelope.d.ts +85 -8
  325. package/dist/gates/gate-envelope.d.ts.map +1 -1
  326. package/dist/gates/gate-envelope.js +56 -7
  327. package/dist/gates/gate-rule-globs.d.ts +67 -0
  328. package/dist/gates/gate-rule-globs.d.ts.map +1 -0
  329. package/dist/gates/gate-rule-globs.js +139 -0
  330. package/dist/gates/gate-rule-view.d.ts +25 -6
  331. package/dist/gates/gate-rule-view.d.ts.map +1 -1
  332. package/dist/gates/gate-rule-view.js +105 -77
  333. package/dist/gates/i-coverage-dead-glob.d.ts +19 -0
  334. package/dist/gates/i-coverage-dead-glob.d.ts.map +1 -0
  335. package/dist/gates/i-coverage-dead-glob.js +1 -0
  336. package/dist/gates/i-coverage-negation.d.ts +13 -0
  337. package/dist/gates/i-coverage-negation.d.ts.map +1 -0
  338. package/dist/gates/i-coverage-negation.js +1 -0
  339. package/dist/gates/i-registration-query-settle-input.d.ts +18 -0
  340. package/dist/gates/i-registration-query-settle-input.d.ts.map +1 -0
  341. package/dist/gates/i-registration-query-settle-input.js +1 -0
  342. package/dist/gates/i-unit-state-note-row.d.ts +16 -0
  343. package/dist/gates/i-unit-state-note-row.d.ts.map +1 -0
  344. package/dist/gates/i-unit-state-note-row.js +1 -0
  345. package/dist/gates/i-unit-state-notes.d.ts +32 -0
  346. package/dist/gates/i-unit-state-notes.d.ts.map +1 -0
  347. package/dist/gates/i-unit-state-notes.js +1 -0
  348. package/dist/gates/incomplete-registry-inventory.d.ts +19 -0
  349. package/dist/gates/incomplete-registry-inventory.d.ts.map +1 -0
  350. package/dist/gates/incomplete-registry-inventory.js +63 -0
  351. package/dist/gates/measure-registration-roles.d.ts +10 -0
  352. package/dist/gates/measure-registration-roles.d.ts.map +1 -0
  353. package/dist/gates/measure-registration-roles.js +9 -0
  354. package/dist/gates/plane-verdict.d.ts +14 -0
  355. package/dist/gates/plane-verdict.d.ts.map +1 -0
  356. package/dist/gates/plane-verdict.js +22 -0
  357. package/dist/gates/qualify-clean-for-units.d.ts +12 -0
  358. package/dist/gates/qualify-clean-for-units.d.ts.map +1 -0
  359. package/dist/gates/qualify-clean-for-units.js +18 -0
  360. package/dist/gates/registration-graph-verdict.d.ts +34 -0
  361. package/dist/gates/registration-graph-verdict.d.ts.map +1 -0
  362. package/dist/gates/registration-graph-verdict.js +70 -0
  363. package/dist/gates/registration-roles.d.ts +9 -0
  364. package/dist/gates/registration-roles.d.ts.map +1 -0
  365. package/dist/gates/registration-roles.js +1 -0
  366. package/dist/gates/registry-liveness.d.ts +11 -0
  367. package/dist/gates/registry-liveness.d.ts.map +1 -0
  368. package/dist/gates/registry-liveness.js +13 -0
  369. package/dist/gates/rule-coverage.d.ts +225 -4
  370. package/dist/gates/rule-coverage.d.ts.map +1 -1
  371. package/dist/gates/rule-coverage.js +610 -43
  372. package/dist/gates/run-gate-planes.d.ts +58 -0
  373. package/dist/gates/run-gate-planes.d.ts.map +1 -0
  374. package/dist/gates/run-gate-planes.js +403 -0
  375. package/dist/gates/scaffold-selftest.d.ts +56 -0
  376. package/dist/gates/scaffold-selftest.d.ts.map +1 -0
  377. package/dist/gates/scaffold-selftest.js +119 -0
  378. package/dist/gates/seam-rejected-rules.d.ts +28 -0
  379. package/dist/gates/seam-rejected-rules.d.ts.map +1 -0
  380. package/dist/gates/seam-rejected-rules.js +95 -0
  381. package/dist/gates/self-test-check.d.ts +29 -0
  382. package/dist/gates/self-test-check.d.ts.map +1 -0
  383. package/dist/gates/self-test-check.js +1 -0
  384. package/dist/gates/self-test-subject.d.ts +28 -0
  385. package/dist/gates/self-test-subject.d.ts.map +1 -0
  386. package/dist/gates/self-test-subject.js +1 -0
  387. package/dist/gates/self-test.d.ts +20 -0
  388. package/dist/gates/self-test.d.ts.map +1 -0
  389. package/dist/gates/self-test.js +82 -0
  390. package/dist/gates/settle-verdict.d.ts +14 -0
  391. package/dist/gates/settle-verdict.d.ts.map +1 -0
  392. package/dist/gates/settle-verdict.js +13 -0
  393. package/dist/gates/settled-verdict.d.ts +8 -0
  394. package/dist/gates/settled-verdict.d.ts.map +1 -0
  395. package/dist/gates/settled-verdict.js +1 -0
  396. package/dist/gates/template-registry-coverage.d.ts +18 -0
  397. package/dist/gates/template-registry-coverage.d.ts.map +1 -0
  398. package/dist/gates/template-registry-coverage.js +24 -0
  399. package/dist/gates/unit-state-notes.d.ts +40 -0
  400. package/dist/gates/unit-state-notes.d.ts.map +1 -0
  401. package/dist/gates/unit-state-notes.js +71 -0
  402. package/dist/gates/verdict-line.d.ts +18 -0
  403. package/dist/gates/verdict-line.d.ts.map +1 -0
  404. package/dist/gates/verdict-line.js +40 -0
  405. package/dist/graph/graph-reuse-lookup.d.ts +10 -0
  406. package/dist/graph/graph-reuse-lookup.d.ts.map +1 -0
  407. package/dist/graph/graph-reuse-lookup.js +41 -0
  408. package/dist/graph/index-behind-hint.d.ts +11 -0
  409. package/dist/graph/index-behind-hint.d.ts.map +1 -0
  410. package/dist/graph/index-behind-hint.js +27 -0
  411. package/dist/knowledge/knowledge-stale-gate-flags.d.ts +3 -0
  412. package/dist/knowledge/knowledge-stale-gate-flags.d.ts.map +1 -0
  413. package/dist/knowledge/knowledge-stale-gate-flags.js +1 -0
  414. package/dist/knowledge/knowledge-stale-gate-input.d.ts +3 -0
  415. package/dist/knowledge/knowledge-stale-gate-input.d.ts.map +1 -0
  416. package/dist/knowledge/knowledge-stale-gate-input.js +1 -0
  417. package/dist/knowledge/knowledge-stale-gate-result.d.ts +3 -0
  418. package/dist/knowledge/knowledge-stale-gate-result.d.ts.map +1 -0
  419. package/dist/knowledge/knowledge-stale-gate-result.js +1 -0
  420. package/dist/knowledge/knowledge-stale-gate.d.ts +10 -0
  421. package/dist/knowledge/knowledge-stale-gate.d.ts.map +1 -0
  422. package/dist/knowledge/knowledge-stale-gate.js +9 -0
  423. package/dist/main.d.ts.map +1 -1
  424. package/dist/main.js +204 -83
  425. package/dist/output/failure-hints.d.ts.map +1 -1
  426. package/dist/output/failure-hints.js +11 -9
  427. package/dist/output/rejected-entries-note.d.ts +57 -0
  428. package/dist/output/rejected-entries-note.d.ts.map +1 -0
  429. package/dist/output/rejected-entries-note.js +103 -0
  430. package/dist/output/stdout-is-pipe.d.ts +13 -0
  431. package/dist/output/stdout-is-pipe.d.ts.map +1 -0
  432. package/dist/output/stdout-is-pipe.js +21 -0
  433. package/dist/packs/stale-build-warning.d.ts +11 -0
  434. package/dist/packs/stale-build-warning.d.ts.map +1 -0
  435. package/dist/packs/stale-build-warning.js +23 -0
  436. package/dist/quality/run-quality.d.ts +123 -0
  437. package/dist/quality/run-quality.d.ts.map +1 -0
  438. package/dist/quality/run-quality.js +442 -0
  439. package/dist/schemas/json-schemas.d.ts +184 -3
  440. package/dist/schemas/json-schemas.d.ts.map +1 -1
  441. package/dist/schemas/json-schemas.js +113 -2
  442. package/dist/shrk.d.ts +3 -0
  443. package/dist/shrk.d.ts.map +1 -0
  444. package/dist/shrk.js +30 -0
  445. package/dist/surface/audience-applicability.d.ts +26 -0
  446. package/dist/surface/audience-applicability.d.ts.map +1 -0
  447. package/dist/surface/audience-applicability.js +60 -0
  448. package/dist/surface/catalog-command-safety.d.ts +18 -0
  449. package/dist/surface/catalog-command-safety.d.ts.map +1 -0
  450. package/dist/surface/catalog-command-safety.js +62 -0
  451. package/dist/surface/cli-command-resolver.d.ts +21 -0
  452. package/dist/surface/cli-command-resolver.d.ts.map +1 -0
  453. package/dist/surface/cli-command-resolver.js +87 -0
  454. package/dist/surface/command-dispatch-kind.d.ts +20 -0
  455. package/dist/surface/command-dispatch-kind.d.ts.map +1 -0
  456. package/dist/surface/command-dispatch-kind.js +20 -0
  457. package/dist/surface/command-index-entry.d.ts +40 -0
  458. package/dist/surface/command-index-entry.d.ts.map +1 -0
  459. package/dist/surface/command-index-entry.js +1 -0
  460. package/dist/surface/command-index.d.ts +77 -0
  461. package/dist/surface/command-index.d.ts.map +1 -0
  462. package/dist/surface/command-index.js +323 -0
  463. package/dist/surface/i-command-index.d.ts +22 -0
  464. package/dist/surface/i-command-index.d.ts.map +1 -0
  465. package/dist/surface/i-command-index.js +1 -0
  466. package/dist/surface/i-command-string-context.d.ts +20 -0
  467. package/dist/surface/i-command-string-context.d.ts.map +1 -0
  468. package/dist/surface/i-command-string-context.js +1 -0
  469. package/dist/surface/i-surface-denial.d.ts +13 -0
  470. package/dist/surface/i-surface-denial.d.ts.map +1 -0
  471. package/dist/surface/i-surface-denial.js +1 -0
  472. package/dist/surface/load-surface-context.d.ts +17 -1
  473. package/dist/surface/load-surface-context.d.ts.map +1 -1
  474. package/dist/surface/load-surface-context.js +48 -10
  475. package/dist/surface/not-enabled-error.d.ts +38 -4
  476. package/dist/surface/not-enabled-error.d.ts.map +1 -1
  477. package/dist/surface/not-enabled-error.js +96 -6
  478. package/dist/surface/profiles.d.ts +7 -0
  479. package/dist/surface/profiles.d.ts.map +1 -1
  480. package/dist/surface/resolve-command-string.d.ts +10 -0
  481. package/dist/surface/resolve-command-string.d.ts.map +1 -0
  482. package/dist/surface/resolve-command-string.js +572 -0
  483. package/dist/surface/surface-config-writer.d.ts +7 -2
  484. package/dist/surface/surface-config-writer.d.ts.map +1 -1
  485. package/dist/surface/surface-config-writer.js +25 -6
  486. package/dist/surface/surface-layer.d.ts +11 -0
  487. package/dist/surface/surface-layer.d.ts.map +1 -0
  488. package/dist/surface/surface-layer.js +11 -0
  489. package/dist/surface/surface-refusal-reason.d.ts +16 -0
  490. package/dist/surface/surface-refusal-reason.d.ts.map +1 -0
  491. package/dist/surface/surface-refusal-reason.js +16 -0
  492. package/dist/surface/surface-selector.d.ts +26 -0
  493. package/dist/surface/surface-selector.d.ts.map +1 -0
  494. package/dist/surface/surface-selector.js +42 -0
  495. package/dist/surface/surface-summary.d.ts +61 -18
  496. package/dist/surface/surface-summary.d.ts.map +1 -1
  497. package/dist/surface/surface-summary.js +147 -60
  498. package/dist/surface/tier.d.ts +85 -22
  499. package/dist/surface/tier.d.ts.map +1 -1
  500. package/dist/surface/tier.js +132 -30
  501. package/dist/usage/usage-log.d.ts +6 -1
  502. package/dist/usage/usage-log.d.ts.map +1 -1
  503. package/dist/usage/usage-log.js +7 -2
  504. package/dist/validation/run-validation-loop.d.ts +9 -0
  505. package/dist/validation/run-validation-loop.d.ts.map +1 -1
  506. package/dist/validation/run-validation-loop.js +14 -11
  507. package/dist/validation/typecheck-emitted.d.ts +8 -9
  508. package/dist/validation/typecheck-emitted.d.ts.map +1 -1
  509. package/dist/validation/typecheck-emitted.js +17 -97
  510. package/package.json +34 -34
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration-graph-verdict.d.ts","sourceRoot":"","sources":["../../src/gates/registration-graph-verdict.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAG5F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC1E,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC,GACtC;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B,CA6CA"}
@@ -0,0 +1,70 @@
1
+ import { ExitCode } from "../exit-codes.js";
2
+ import { buildGateEnvelope } from "./gate-envelope.js";
3
+ import { verdictLine } from "./verdict-line.js";
4
+ /**
5
+ * Settle a registration-graph absence query (`wiring unprovided` / `wiring
6
+ * orphans`) against what the graph read AND what every idiom's roles examined.
7
+ *
8
+ * The coverage comes from ONE place, @shrkcrft/boundaries
9
+ * `registrationUnprovidedVerdict` / `registrationOrphansVerdict`: the idiom
10
+ * files the reader could not read (over the read cap), named; every absence
11
+ * such a file could refute, demoted from a finding to `unproven`; and — round
12
+ * 13 (P4) — every idiom's ROLE record from THE role authority
13
+ * (`measureRegistrationRoles`), so a declared role that matched no file is a
14
+ * shortfall here exactly as on `gates check`. finish's unprovided sub-gate and
15
+ * MCP `get_wiring_graph` read the same records, so the verb and its siblings
16
+ * cannot disagree.
17
+ *
18
+ * The settle runs through the shared gate envelope (one row per record, the
19
+ * query's own row carrying its findings): a proposed 0 over a shortfall is NOT
20
+ * VERIFIED (2), a 1 keeps its exit and gains the `(also not verified: …)`
21
+ * line, an expectEmpty acceptance is printed at 0, and a fully-examined graph
22
+ * settles exactly as proposed, with the clean line. `--json` ALWAYS carries
23
+ * `gate`, `coverage`, `exitCode`, `verdict`, `shortfalls` and `accepted` — it
24
+ * carried them only when a file was unread, so a dead declared role printed
25
+ * `{"total":0,"unprovided":[]}` at exit 0 with nothing to say it proved nothing.
26
+ */
27
+ export function settleRegistrationGraph(input) {
28
+ const { verdict } = input;
29
+ const own = verdict.coverage.find((c) => c.subject === input.subject);
30
+ const all = { unit: 'registration idioms', expected: input.idioms, examined: input.idioms };
31
+ const fails = input.proposed === ExitCode.Failure;
32
+ const rows = [
33
+ ...verdict.coverage
34
+ .filter((c) => c !== own)
35
+ .map((c) => ({
36
+ id: `${c.subject ?? 'registration graph'}${c.acceptedBy !== undefined ? ' (expectEmpty)' : ''}`,
37
+ type: 'registration',
38
+ status: 'passed',
39
+ severity: 'warning',
40
+ counts: {},
41
+ violations: [],
42
+ coverage: c,
43
+ })),
44
+ {
45
+ id: input.subject,
46
+ type: 'registration',
47
+ status: fails ? 'failed' : 'passed',
48
+ severity: fails ? 'error' : 'warning',
49
+ counts: { findings: verdict.findings.length, unproven: verdict.unproven.length },
50
+ violations: fails ? verdict.findings.map((t) => ({ id: t.token })) : [],
51
+ coverage: own ?? all,
52
+ },
53
+ ];
54
+ const gate = buildGateEnvelope(input.verb, input.proposed, rows, all);
55
+ return {
56
+ exit: gate.exit,
57
+ line: verdictLine(gate, input.clean),
58
+ json: {
59
+ coverage: verdict.coverage,
60
+ ...(verdict.unread.length > 0 ? { unread: verdict.unread } : {}),
61
+ ...(verdict.unproven.length > 0 ? { unproven: verdict.unproven } : {}),
62
+ exitCode: gate.exit,
63
+ verdict: gate.verdict,
64
+ shortfalls: gate.shortfalls,
65
+ accepted: gate.accepted,
66
+ gate,
67
+ },
68
+ gate,
69
+ };
70
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * THE registration-role measurement's shape — re-exported. Round 13 (P4): it
3
+ * moved to `@shrkcrft/boundaries`
4
+ * (`packages/boundaries/src/wiring/i-registration-roles.ts`) with
5
+ * `measureRegistrationRoles`, and gained the `unitAcceptance?` carrier (settle
6
+ * record B). Edit it there.
7
+ */
8
+ export type { IRegistrationRoles } from '@shrkcrft/boundaries';
9
+ //# sourceMappingURL=registration-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration-roles.d.ts","sourceRoot":"","sources":["../../src/gates/registration-roles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { IRegistryDeclaration, ISettledUnitLiveness } from '@shrkcrft/core';
2
+ /**
3
+ * A registry's `source` / `consumer` glob units settled with their
4
+ * `expectEmpty` markers (round 13) — THE per-source request `gates coverage`
5
+ * builds too (`sourceLivenessRequest` over `registryLabeledSources`). The
6
+ * registry verbs (`registry <name> list|exists|where|duplicates`) and `gates
7
+ * check` both decide an empty inventory from it, so they cannot disagree about
8
+ * a registry over a planned directory.
9
+ */
10
+ export declare function registryLiveness(cwd: string, decl: IRegistryDeclaration, excludeDirs: readonly string[]): ISettledUnitLiveness;
11
+ //# sourceMappingURL=registry-liveness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-liveness.d.ts","sourceRoot":"","sources":["../../src/gates/registry-liveness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIjF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,oBAAoB,CAEtB"}
@@ -0,0 +1,13 @@
1
+ import { settleGlobLists, sourceLivenessRequest } from '@shrkcrft/boundaries';
2
+ import { registryLabeledSources } from "./gate-rule-globs.js";
3
+ /**
4
+ * A registry's `source` / `consumer` glob units settled with their
5
+ * `expectEmpty` markers (round 13) — THE per-source request `gates coverage`
6
+ * builds too (`sourceLivenessRequest` over `registryLabeledSources`). The
7
+ * registry verbs (`registry <name> list|exists|where|duplicates`) and `gates
8
+ * check` both decide an empty inventory from it, so they cannot disagree about
9
+ * a registry over a planned directory.
10
+ */
11
+ export function registryLiveness(cwd, decl, excludeDirs) {
12
+ return settleGlobLists(sourceLivenessRequest(cwd, registryLabeledSources(decl), excludeDirs, decl.name));
13
+ }
@@ -1,4 +1,11 @@
1
+ import type { IWiringSource, ISelectorUnitFailOptions, IUnitLiveness, IUnitStateLists, IVerdictCoverage } from '@shrkcrft/core';
2
+ import { RuleEmptiness } from '@shrkcrft/core';
3
+ import type { ICoverageDeadGlob } from './i-coverage-dead-glob.js';
4
+ import type { ICoverageNegation } from './i-coverage-negation.js';
5
+ import { type ISharkcraftInspection } from '@shrkcrft/inspector';
1
6
  import type { IGateRuleView } from './gate-rule-view.js';
7
+ import { type IGateEnvelope, type IGateRuleResult } from './gate-envelope.js';
8
+ import type { ISelfTestCheck } from './self-test-check.js';
2
9
  export declare const GATE_COVERAGE_SCHEMA: "sharkcraft.gate-coverage/v1";
3
10
  /**
4
11
  * Whether a rule is connected to anything at all.
@@ -7,7 +14,9 @@ export declare const GATE_COVERAGE_SCHEMA: "sharkcraft.gate-coverage/v1";
7
14
  * matches nothing passes every gate forever, so the ONLY way to notice is to
8
15
  * report the match count itself and flag zero. `failed-expectation` is the
9
16
  * stronger form — the author wrote down what the rule should match, and it
10
- * doesn't.
17
+ * doesn't. A rule whose empty result is the INTENDED one (round 13: a fence's
18
+ * asserted empty set, or every primary input glob marked `expectEmpty`) is
19
+ * `ok` — its acceptance is printed.
11
20
  */
12
21
  export type GateCoverageStatus = 'ok' | 'empty' | 'error' | 'failed-expectation';
13
22
  export interface IGateCoverage {
@@ -17,17 +26,151 @@ export interface IGateCoverage {
17
26
  readonly status: GateCoverageStatus;
18
27
  /** Files the rule's primary selector matched. */
19
28
  readonly filesMatched: number;
20
- /** Ids/units the rule extracted (findings scanned, for the policy plane). */
29
+ /** Ids/units the rule extracted (content units scanned, for the policy plane). */
21
30
  readonly unitsMatched: number;
22
31
  /** What "units" means for this plane, for honest reporting. */
23
32
  readonly unitLabel: string;
33
+ /** What one extracted "id" is on this plane — what `expectIds` is checked against. */
34
+ readonly idLabel: string;
35
+ /**
36
+ * The selector coverage (and the selfTest) consulted, e.g.
37
+ * `registry "mcp-tools" — source packages/…/*.tool.ts (regex-capture)`.
38
+ */
39
+ readonly consulted: string;
24
40
  /** A few of the extracted ids, so the author can eyeball correctness. */
25
41
  readonly sampleIds: readonly string[];
42
+ /**
43
+ * Every extracted id. Populated only when the caller asks (`includeAllIds`),
44
+ * because a full set on every rule would bloat `gates coverage --json` for a
45
+ * fact almost no consumer of it needs — `gates try --full` does.
46
+ */
47
+ readonly allIds?: readonly string[];
48
+ /**
49
+ * The extracted ids a `selfTest` may safely PIN, when that is narrower than
50
+ * the whole set. Present only on the policy plane. It holds the distinct hits
51
+ * an `exemptFiles` / `exemptLines` exemption let through (a fixture proving
52
+ * the forbidden pattern still bites). A live finding is debt the author will
53
+ * pay down, so `gates scaffold-selftest` never pins one: the gate would go
54
+ * red on the day the violation is fixed.
55
+ */
56
+ readonly pinIds?: readonly string[];
57
+ /**
58
+ * `false` when coverage cannot inspect this rule without a side effect: a
59
+ * `command` baseline with no `watchFiles`, or a doc-reference rule whose
60
+ * registries were not loaded. Such a rule's `coverage` records nothing
61
+ * examined. A caller that ran the rule's own check (`shrk quality`) settles
62
+ * it on that check's coverage instead. Absent when the rule was inspected.
63
+ */
64
+ readonly inspectable?: boolean;
26
65
  /** True when a zero match is a hard failure for this rule. */
27
66
  readonly failOnEmpty: boolean;
28
67
  readonly error?: string;
29
- /** Unmet `selfTest` expectations, each a human-readable sentence. */
68
+ /**
69
+ * A diagnosis for a zero-match that is correct but probably not intended —
70
+ * e.g. an `import-edges` rule targeting `to.files` against barrel imports.
71
+ * Never set on a rule whose empty result is the intended one (a verified
72
+ * fence, an intended-empty rule): it would invite the author to "fix" it.
73
+ */
74
+ readonly hint?: string;
75
+ /** Unmet `selfTest` expectations, each a sentence naming the selector consulted. */
30
76
  readonly expectationFailures: readonly string[];
77
+ /**
78
+ * EVERY declared `selfTest` expectation with its result — held, failed, or
79
+ * not-evaluable — from the one evaluator (`gates/self-test.ts`). Present only
80
+ * when the rule declares a selfTest.
81
+ */
82
+ readonly selfTestChecks?: readonly ISelfTestCheck[];
83
+ /**
84
+ * Globs inside this rule that do nothing — a dead unit a connected rule
85
+ * hides, because its sibling globs keep it matching: an inclusion glob that
86
+ * selects nothing, or a negation that excludes nothing. Prefixed with the
87
+ * side (`declared: src/moved/*.ts`) when the rule reads more than one source.
88
+ * UNMARKED dead units only (round 13): a glob marked `expectEmpty` is
89
+ * intended-empty (accepted) or went-live, never here. Advisory unless
90
+ * `gates coverage --fail-on-dead-units`.
91
+ */
92
+ readonly deadGlobs: readonly string[];
93
+ /**
94
+ * The units behind {@link deadGlobs}, in the same order, each with the
95
+ * reason it is dead (`matched 0 files`, `matches only files the list's
96
+ * negations exclude (N)`, `excludes nothing — …`). Always set by
97
+ * {@link buildGateCoverage}; read it through {@link coverageDeadUnits}.
98
+ */
99
+ readonly deadGlobUnits?: readonly ICoverageDeadGlob[];
100
+ /**
101
+ * The LIVE negations inside this rule (`!` entries that exclude at least one
102
+ * file from their own list), each with what it excludes — the narrowing a
103
+ * `!` performs, made visible. Always set by {@link buildGateCoverage}.
104
+ */
105
+ readonly negations?: readonly ICoverageNegation[];
106
+ /**
107
+ * Present only when the rule's PRIMARY selector list was emptied by its own
108
+ * negations: its inclusion globs matched files and these negations (each
109
+ * with what it excluded) removed every one. A zero match here is the
110
+ * author's `!` at work, not a stale selector — the text line, the `gate`
111
+ * envelope's `skipReason` and `shrk quality` say so. Exits are unchanged.
112
+ */
113
+ readonly excludedByNegations?: readonly ICoverageNegation[];
114
+ /** How many distinct globs the dead-glob check examined (0 = not checked on this plane). */
115
+ readonly globsChecked: number;
116
+ /**
117
+ * Named extractor this rule's primary selector came from. Present only for a
118
+ * `$use` consumer — the answer to "is this rule looking at the shared set, or
119
+ * a copy of it that has since drifted?".
120
+ */
121
+ readonly viaExtractor?: string;
122
+ /**
123
+ * How much of the rule's scope this coverage run could see: every unit it
124
+ * matched; for a subset wiring rule, the registered tokens its declared
125
+ * selector produced (from the engine `check wiring` runs, so the two agree);
126
+ * for a fence, the asserted empty set (accepted by `expectEmpty: true`); for
127
+ * an intended-empty rule, the acceptance of its marked inputs; for a rule
128
+ * that could not be inspected, nothing. The `gate` envelope turns a gap here
129
+ * into a `partial` rule.
130
+ */
131
+ readonly coverage: IVerdictCoverage;
132
+ /**
133
+ * The rule's `expectEmpty` acceptance — settle record B
134
+ * (`settleUnitLiveness(...).acceptance`, `@shrkcrft/core`) over every glob
135
+ * list the rule reads — carried beside the primary {@link coverage} so
136
+ * `settleGateCoverage` hands it to the envelope rule's `unitAcceptance`;
137
+ * without a carrier an acceptance would be dropped silently. Absent when no
138
+ * unit of the rule is intended-empty.
139
+ */
140
+ readonly unitAcceptance?: IVerdictCoverage;
141
+ /** The rule's dead / intended-empty / went-live glob units as printed lines (`unitStateLists`). */
142
+ readonly units?: IUnitStateLists;
143
+ /**
144
+ * The rule's non-live glob units (dead, intended-empty, went-live, unproven),
145
+ * as the settle judged them — what `--fail-on-dead-units` decides through
146
+ * (`selectorUnitFails`) and what the ⚠ `expectEmpty is stale` rows print.
147
+ */
148
+ readonly unitLiveness?: readonly IUnitLiveness[];
149
+ /**
150
+ * Set when the rule matched nothing: THE rule-emptiness settle's state
151
+ * (`settleRuleEmptiness`) — `intended-empty` and `asserted-empty-output`
152
+ * read `ok` (accepted), `stale` / `emptied-by-negations` read `empty`.
153
+ */
154
+ readonly emptiness?: RuleEmptiness;
155
+ /** The skip reason of an `empty` rule, when it is more than "matched 0 units" (a fence over a dead input). */
156
+ readonly emptyReason?: string;
157
+ }
158
+ /**
159
+ * One named extractor, reported ONCE with the rules that share it.
160
+ *
161
+ * The point of a shared extractor is that its consumers cannot disagree about
162
+ * which set they check. Reporting it once — with its match count and its
163
+ * consumer list — makes that guarantee visible: one line proves N rules are
164
+ * pointed at the same, live, non-empty set.
165
+ */
166
+ export interface ISharedExtractorCoverage {
167
+ readonly id: string;
168
+ /** Rule ids (plane-qualified) that resolve their primary selector from it. */
169
+ readonly consumers: readonly string[];
170
+ readonly filesMatched: number;
171
+ readonly idsMatched: number;
172
+ readonly sampleIds: readonly string[];
173
+ readonly error?: string;
31
174
  }
32
175
  export interface IGateCoverageReport {
33
176
  readonly schema: typeof GATE_COVERAGE_SCHEMA;
@@ -36,9 +179,14 @@ export interface IGateCoverageReport {
36
179
  readonly empty: number;
37
180
  readonly errored: number;
38
181
  readonly expectationFailures: number;
182
+ /** Dead globs across every rule (the sum of each rule's `deadGlobs`). */
183
+ readonly deadGlobCount: number;
184
+ /** Named extractors referenced by at least one rule, each reported once. */
185
+ readonly extractors: readonly ISharedExtractorCoverage[];
39
186
  /**
40
187
  * `pass` — every rule matched something and met its expectations.
41
188
  * `stale` — at least one rule matched nothing (or broke an expectation).
189
+ * Dead globs inside connected rules are advisory and do not change it.
42
190
  */
43
191
  readonly verdict: 'pass' | 'stale';
44
192
  }
@@ -49,5 +197,78 @@ export interface IGateCoverageReport {
49
197
  * without side effects; it is reported as un-inspected (never as `empty`), so
50
198
  * the report never claims a fact it did not check.
51
199
  */
52
- export declare function buildGateCoverage(cwd: string, rules: readonly IGateRuleView[], excludeDirs?: readonly string[]): IGateCoverageReport;
200
+ export declare function buildGateCoverage(cwd: string, rules: readonly IGateRuleView[], excludeDirs?: readonly string[], extractors?: Readonly<Record<string, IWiringSource>>, includeAllIds?: boolean, inspection?: ISharkcraftInspection): IGateCoverageReport;
201
+ /**
202
+ * The coverage report with every pack rule the merge seam REJECTED folded in as
203
+ * a misconfigured (`error`) row (round 12 review, R12-X1) — from THE rows
204
+ * `seamRejectedRules` builds for `gates check`, so the coverage verb and the
205
+ * check cannot disagree about a rule that never ran. It counts in `total` and
206
+ * `errored`, so `settleGateCoverage` fails it (exit 1) and names it unexamined.
207
+ */
208
+ export declare function withRejectedRules(report: IGateCoverageReport, rejected: readonly (IGateRuleResult & {
209
+ readonly type: IGateRuleView['plane'];
210
+ })[]): IGateCoverageReport;
211
+ /**
212
+ * Whether a rule's dead globs are a finding of their OWN: the rule is connected
213
+ * (it matched something, or it is an inspected fence / clean rule reported
214
+ * `ok`), so sibling globs can hide the dead ones.
215
+ *
216
+ * A rule already reported as matching nothing has no live sibling to hide
217
+ * behind. Its "matched nothing" verdict (skip, or failOnEmpty failure) already
218
+ * says it, so its dead globs are not counted, drawn or failed a second time.
219
+ * `--fail-on-dead-units` must never turn a soft-empty rule's `2` into a `1`.
220
+ * The report count, the ⚠ lines, the settle and the quality notes all read
221
+ * this one predicate.
222
+ */
223
+ export declare function reportsDeadGlobs(r: IGateCoverage): boolean;
224
+ /**
225
+ * THE dead units of a coverage row, each with its reason — what the ⚠ line,
226
+ * the `--fail-on-dead-units` violation and the `shrk quality` note all print,
227
+ * so the three cannot word one unit differently. A row built without
228
+ * `deadGlobUnits` (a hand-built report) falls back to its `deadGlobs` labels,
229
+ * read as inclusion globs that matched nothing.
230
+ */
231
+ export declare function coverageDeadUnits(r: IGateCoverage): readonly ICoverageDeadGlob[];
232
+ /**
233
+ * THE went-live units of a coverage row (round 13): each glob marked
234
+ * `expectEmpty` whose target now exists — the fence went live. What the ⚠
235
+ * `expectEmpty is stale` rows, the `--fail-on-dead-units` violation and the
236
+ * `shrk quality` note print.
237
+ */
238
+ export declare function coverageWentLiveUnits(r: IGateCoverage): readonly IUnitLiveness[];
239
+ /**
240
+ * The selector units that FAIL a coverage row under the given flags — decided
241
+ * by THE predicate every `--fail-on-dead-units` consumer calls
242
+ * (`selectorUnitFails`, core): an unmarked dead glob of a connected rule
243
+ * ({@link reportsDeadGlobs}), and a LOCAL went-live marker. A pack marker that
244
+ * went live is INFO, never a failure; an intended-empty unit never fails.
245
+ */
246
+ export declare function coverageUnitFailures(r: IGateCoverage, flags: ISelectorUnitFailOptions): readonly {
247
+ readonly selector: string;
248
+ readonly message: string;
249
+ }[];
250
+ /** `declared: src/moved/*.ts (matched 0 files), !src/nowhere/** (excludes nothing — …)`. */
251
+ export declare function formatDeadUnits(units: readonly ICoverageDeadGlob[]): string;
252
+ /** `declared: !src/**\/*.spec.ts (1 file), !docs/drafts/** (3 files)`. */
253
+ export declare function formatNegations(negations: readonly ICoverageNegation[]): string;
254
+ /** Options for {@link settleGateCoverage}. */
255
+ interface ISettleGateCoverageOptions {
256
+ /** `--fail-on-dead-units`: a dead glob inside a connected rule, or a local went-live marker, fails the run. */
257
+ readonly failOnDeadUnits?: boolean;
258
+ }
259
+ /**
260
+ * Settle a coverage report into the shared `gate` envelope — THE derivation of
261
+ * what `gates coverage` concludes.
262
+ *
263
+ * `gates coverage` and `shrk quality`'s coverage item both call this, so the
264
+ * pre-push bundle cannot pass a rule set the verb itself reports broken (a
265
+ * failed selfTest, a stale failOnEmpty selector, a partial rule). A rule that
266
+ * matched nothing is not-verified (2) by default; `failOnEmpty` on the rule
267
+ * makes it a failure (1); `failOnDeadUnits` makes a dead glob inside a
268
+ * connected rule — or a local marker whose target went live — a failure too
269
+ * (`selectorUnitFails`). Each rule's `expectEmpty` acceptance rides on its
270
+ * envelope rule (`unitAcceptance`) into the one settle.
271
+ */
272
+ export declare function settleGateCoverage(report: IGateCoverageReport, options?: ISettleGateCoverageOptions): IGateEnvelope;
273
+ export {};
53
274
  //# sourceMappingURL=rule-coverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-coverage.d.ts","sourceRoot":"","sources":["../../src/gates/rule-coverage.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,oBAAoB,EAAG,6BAAsC,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,oBAAoB,CAAC;AAEjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAsHD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,WAAW,GAAE,SAAS,MAAM,EAAO,GAClC,mBAAmB,CA4DrB"}
1
+ {"version":3,"file":"rule-coverage.d.ts","sourceRoot":"","sources":["../../src/gates/rule-coverage.ts"],"names":[],"mappings":"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"}