@deftai/directive 0.126.0-beta.2 → 0.126.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/dist/agents-refresh.d.ts +11 -0
  2. package/dist/agents-refresh.js +90 -0
  3. package/dist/authz.d.ts +7 -0
  4. package/dist/authz.js +732 -0
  5. package/dist/bin.d.ts +3 -0
  6. package/dist/bin.js +3 -4333
  7. package/dist/branch-fixtures.d.ts +45 -0
  8. package/dist/branch-fixtures.js +156 -0
  9. package/dist/cache.d.ts +4 -0
  10. package/dist/cache.js +10 -0
  11. package/dist/capacity-backfill.d.ts +3 -0
  12. package/dist/capacity-backfill.js +9 -0
  13. package/dist/capacity-show.d.ts +3 -0
  14. package/dist/capacity-show.js +9 -0
  15. package/dist/change-init.d.ts +3 -0
  16. package/dist/change-init.js +59 -0
  17. package/dist/changelog-check.d.ts +3 -0
  18. package/dist/changelog-check.js +52 -0
  19. package/dist/check.d.ts +15 -0
  20. package/dist/check.js +150 -0
  21. package/dist/cli-package-version.d.ts +3 -0
  22. package/dist/cli-package-version.js +23 -0
  23. package/dist/cli-router/index.d.ts +8 -0
  24. package/dist/cli-router/index.js +44 -0
  25. package/dist/cli-router/route-argv.d.ts +40 -0
  26. package/dist/cli-router/route-argv.js +371 -0
  27. package/dist/codebase-default-extractor.d.ts +3 -0
  28. package/dist/codebase-default-extractor.js +9 -0
  29. package/dist/codebase-map-fresh.d.ts +3 -0
  30. package/dist/codebase-map-fresh.js +9 -0
  31. package/dist/codebase-map.d.ts +3 -0
  32. package/dist/codebase-map.js +9 -0
  33. package/dist/codebase-projection-registry.d.ts +3 -0
  34. package/dist/codebase-projection-registry.js +9 -0
  35. package/dist/codebase-provider.d.ts +3 -0
  36. package/dist/codebase-provider.js +9 -0
  37. package/dist/commit-lint.d.ts +3 -0
  38. package/dist/commit-lint.js +44 -0
  39. package/dist/content-validate-cli/validate-links.d.ts +11 -0
  40. package/dist/content-validate-cli/validate-links.js +37 -0
  41. package/dist/content-validate-cli/validate-strategy-output.d.ts +13 -0
  42. package/dist/content-validate-cli/validate-strategy-output.js +56 -0
  43. package/dist/content-validate-cli/verify-capacity.d.ts +12 -0
  44. package/dist/content-validate-cli/verify-capacity.js +54 -0
  45. package/dist/coverage-hotspots.d.ts +21 -0
  46. package/dist/coverage-hotspots.js +198 -0
  47. package/dist/design-critique-spend-resolve.d.ts +18 -0
  48. package/dist/design-critique-spend-resolve.js +191 -0
  49. package/dist/directive-finish-loop.d.ts +3 -0
  50. package/dist/directive-finish-loop.js +10 -0
  51. package/dist/dispatch.d.ts +193 -0
  52. package/dist/dispatch.js +3091 -0
  53. package/dist/doctor.d.ts +19 -0
  54. package/dist/doctor.js +155 -0
  55. package/dist/entrypoint.d.ts +6 -0
  56. package/dist/entrypoint.js +19 -0
  57. package/dist/escalation-cli.d.ts +4 -0
  58. package/dist/escalation-cli.js +301 -0
  59. package/dist/eval-health.d.ts +13 -0
  60. package/dist/eval-health.js +63 -0
  61. package/dist/eval-report.d.ts +15 -0
  62. package/dist/eval-report.js +97 -0
  63. package/dist/eval-run.d.ts +17 -0
  64. package/dist/eval-run.js +122 -0
  65. package/dist/eval-triggers.d.ts +12 -0
  66. package/dist/eval-triggers.js +56 -0
  67. package/dist/framework-check-updates.d.ts +10 -0
  68. package/dist/framework-check-updates.js +68 -0
  69. package/dist/gates-cli/_helpers.d.ts +24 -0
  70. package/dist/gates-cli/_helpers.js +115 -0
  71. package/dist/gates-cli/verify-bridge-drift.d.ts +11 -0
  72. package/dist/gates-cli/verify-bridge-drift.js +47 -0
  73. package/dist/gates-cli/verify-go-freeze.d.ts +11 -0
  74. package/dist/gates-cli/verify-go-freeze.js +48 -0
  75. package/dist/hook-bin.d.ts +3 -0
  76. package/dist/hook-bin.js +11 -0
  77. package/dist/hook-dispatch.d.ts +80 -0
  78. package/dist/hook-dispatch.js +186 -0
  79. package/dist/human-presence-mint.d.ts +70 -0
  80. package/dist/human-presence-mint.js +204 -0
  81. package/dist/identity-banner.d.ts +13 -0
  82. package/dist/identity-banner.js +19 -0
  83. package/dist/index.d.ts +11 -0
  84. package/dist/index.js +14 -0
  85. package/dist/init-cli/constants.d.ts +42 -0
  86. package/dist/init-cli/constants.js +42 -0
  87. package/dist/init-cli/help.d.ts +9 -0
  88. package/dist/init-cli/help.js +43 -0
  89. package/dist/init-cli/init.d.ts +26 -0
  90. package/dist/init-cli/init.js +80 -0
  91. package/dist/init-cli/migrate.d.ts +3 -0
  92. package/dist/init-cli/migrate.js +51 -0
  93. package/dist/init-cli/resolve-binary.d.ts +34 -0
  94. package/dist/init-cli/resolve-binary.js +78 -0
  95. package/dist/init-cli/run-deft-install.d.ts +23 -0
  96. package/dist/init-cli/run-deft-install.js +71 -0
  97. package/dist/init-cli/update.d.ts +5 -0
  98. package/dist/init-cli/update.js +38 -0
  99. package/dist/install-cli/coverage-map.d.ts +14 -0
  100. package/dist/install-cli/coverage-map.js +113 -0
  101. package/dist/install-uninstall.d.ts +3 -0
  102. package/dist/install-uninstall.js +44 -0
  103. package/dist/install-upgrade.d.ts +41 -0
  104. package/dist/install-upgrade.js +86 -0
  105. package/dist/lifecycle-cli/coverage-map.d.ts +16 -0
  106. package/dist/lifecycle-cli/coverage-map.js +254 -0
  107. package/dist/lifecycle-cli/helpers.d.ts +8 -0
  108. package/dist/lifecycle-cli/helpers.js +20 -0
  109. package/dist/lifecycle-event.d.ts +11 -0
  110. package/dist/lifecycle-event.js +45 -0
  111. package/dist/lifecycle-stats.d.ts +12 -0
  112. package/dist/lifecycle-stats.js +100 -0
  113. package/dist/migrate-category-b.d.ts +9 -0
  114. package/dist/migrate-category-b.js +52 -0
  115. package/dist/migrate-preflight.d.ts +10 -0
  116. package/dist/migrate-preflight.js +85 -0
  117. package/dist/migrate-xbrief.d.ts +11 -0
  118. package/dist/migrate-xbrief.js +88 -0
  119. package/dist/occupancy-grant.d.ts +18 -0
  120. package/dist/occupancy-grant.js +121 -0
  121. package/dist/occupancy-heartbeat.d.ts +8 -0
  122. package/dist/occupancy-heartbeat.js +63 -0
  123. package/dist/occupancy-release.d.ts +23 -0
  124. package/dist/occupancy-release.js +102 -0
  125. package/dist/occupancy-steal.d.ts +10 -0
  126. package/dist/occupancy-steal.js +83 -0
  127. package/dist/occupancy-unrecognized.d.ts +3 -0
  128. package/dist/occupancy-unrecognized.js +5 -0
  129. package/dist/orchestration-cli/coverage-map.d.ts +21 -0
  130. package/dist/orchestration-cli/coverage-map.js +225 -0
  131. package/dist/orchestration-cli/helpers.d.ts +11 -0
  132. package/dist/orchestration-cli/helpers.js +35 -0
  133. package/dist/ownership-doctor.d.ts +10 -0
  134. package/dist/ownership-doctor.js +96 -0
  135. package/dist/ownership-fix.d.ts +10 -0
  136. package/dist/ownership-fix.js +93 -0
  137. package/dist/plan-sequence.d.ts +14 -0
  138. package/dist/plan-sequence.js +258 -0
  139. package/dist/policy-fixtures.d.ts +33 -0
  140. package/dist/policy-fixtures.js +118 -0
  141. package/dist/policy.d.ts +37 -0
  142. package/dist/policy.js +744 -0
  143. package/dist/pr-closing-keywords.d.ts +3 -0
  144. package/dist/pr-closing-keywords.js +10 -0
  145. package/dist/pr-finish-loop.d.ts +3 -0
  146. package/dist/pr-finish-loop.js +10 -0
  147. package/dist/pr-merge-readiness.d.ts +3 -0
  148. package/dist/pr-merge-readiness.js +10 -0
  149. package/dist/pr-monitor.d.ts +3 -0
  150. package/dist/pr-monitor.js +10 -0
  151. package/dist/pr-protected-issues.d.ts +3 -0
  152. package/dist/pr-protected-issues.js +10 -0
  153. package/dist/pr-wait-mergeable.d.ts +3 -0
  154. package/dist/pr-wait-mergeable.js +10 -0
  155. package/dist/pr-watch.d.ts +3 -0
  156. package/dist/pr-watch.js +10 -0
  157. package/dist/pre-pr-run.d.ts +39 -0
  158. package/dist/pre-pr-run.js +514 -0
  159. package/dist/preflight-cache.d.ts +18 -0
  160. package/dist/preflight-cache.js +113 -0
  161. package/dist/preflight-gh.d.ts +15 -0
  162. package/dist/preflight-gh.js +143 -0
  163. package/dist/probe-session.d.ts +3 -0
  164. package/dist/probe-session.js +10 -0
  165. package/dist/release-e2e-fixtures.d.ts +29 -0
  166. package/dist/release-e2e-fixtures.js +38 -0
  167. package/dist/release-e2e.d.ts +3 -0
  168. package/dist/release-e2e.js +10 -0
  169. package/dist/release-publish.d.ts +3 -0
  170. package/dist/release-publish.js +10 -0
  171. package/dist/release-rollback.d.ts +3 -0
  172. package/dist/release-rollback.js +10 -0
  173. package/dist/release-wait-npm.d.ts +3 -0
  174. package/dist/release-wait-npm.js +10 -0
  175. package/dist/release.d.ts +3 -0
  176. package/dist/release.js +10 -0
  177. package/dist/render-cli/deft-ts-runner.d.ts +17 -0
  178. package/dist/render-cli/deft-ts-runner.js +19 -0
  179. package/dist/render-cli/export-spec-cli.d.ts +2 -0
  180. package/dist/render-cli/export-spec-cli.js +6 -0
  181. package/dist/render-cli/prd-render-cli.d.ts +2 -0
  182. package/dist/render-cli/prd-render-cli.js +37 -0
  183. package/dist/render-cli/project-render-cli.d.ts +2 -0
  184. package/dist/render-cli/project-render-cli.js +6 -0
  185. package/dist/render-cli/rule-map-cli.d.ts +2 -0
  186. package/dist/render-cli/rule-map-cli.js +5 -0
  187. package/dist/render-cli/spec-reconstruct-cli.d.ts +3 -0
  188. package/dist/render-cli/spec-reconstruct-cli.js +15 -0
  189. package/dist/render-cli/spec-render-cli.d.ts +2 -0
  190. package/dist/render-cli/spec-render-cli.js +39 -0
  191. package/dist/render-cli/spec-validate-cli.d.ts +2 -0
  192. package/dist/render-cli/spec-validate-cli.js +38 -0
  193. package/dist/review-monitor-register.d.ts +19 -0
  194. package/dist/review-monitor-register.js +183 -0
  195. package/dist/review-monitor-release.d.ts +14 -0
  196. package/dist/review-monitor-release.js +123 -0
  197. package/dist/scm-sync-default.d.ts +34 -0
  198. package/dist/scm-sync-default.js +210 -0
  199. package/dist/scope-lifecycle.d.ts +4 -0
  200. package/dist/scope-lifecycle.js +34 -0
  201. package/dist/scope-record-approved-scope.d.ts +29 -0
  202. package/dist/scope-record-approved-scope.js +319 -0
  203. package/dist/scope-record-intent-constraint.d.ts +16 -0
  204. package/dist/scope-record-intent-constraint.js +202 -0
  205. package/dist/scope-record-observable-scope.d.ts +16 -0
  206. package/dist/scope-record-observable-scope.js +204 -0
  207. package/dist/session-ready.d.ts +15 -0
  208. package/dist/session-ready.js +144 -0
  209. package/dist/session-start.d.ts +56 -0
  210. package/dist/session-start.js +581 -0
  211. package/dist/slice.d.ts +4 -0
  212. package/dist/slice.js +34 -0
  213. package/dist/story-ready-fixtures.d.ts +47 -0
  214. package/dist/story-ready-fixtures.js +137 -0
  215. package/dist/subagent-monitor.d.ts +3 -0
  216. package/dist/subagent-monitor.js +10 -0
  217. package/dist/subagent-pre-cancel.d.ts +21 -0
  218. package/dist/subagent-pre-cancel.js +240 -0
  219. package/dist/subagent-steer-write.d.ts +41 -0
  220. package/dist/subagent-steer-write.js +333 -0
  221. package/dist/toolchain-check.d.ts +8 -0
  222. package/dist/toolchain-check.js +54 -0
  223. package/dist/triage-actions.d.ts +23 -0
  224. package/dist/triage-actions.js +233 -0
  225. package/dist/triage-aux-a-fixtures.d.ts +33 -0
  226. package/dist/triage-aux-a-fixtures.js +107 -0
  227. package/dist/triage-aux-b-fixtures.d.ts +30 -0
  228. package/dist/triage-aux-b-fixtures.js +167 -0
  229. package/dist/triage-bootstrap-fixtures.d.ts +42 -0
  230. package/dist/triage-bootstrap-fixtures.js +139 -0
  231. package/dist/triage-bootstrap.d.ts +24 -0
  232. package/dist/triage-bootstrap.js +175 -0
  233. package/dist/triage-bulk.d.ts +17 -0
  234. package/dist/triage-bulk.js +154 -0
  235. package/dist/triage-classify-fixtures.d.ts +38 -0
  236. package/dist/triage-classify-fixtures.js +137 -0
  237. package/dist/triage-classify.d.ts +45 -0
  238. package/dist/triage-classify.js +287 -0
  239. package/dist/triage-evaluate.d.ts +14 -0
  240. package/dist/triage-evaluate.js +153 -0
  241. package/dist/triage-help.d.ts +3 -0
  242. package/dist/triage-help.js +10 -0
  243. package/dist/triage-queue-fixtures.d.ts +59 -0
  244. package/dist/triage-queue-fixtures.js +284 -0
  245. package/dist/triage-queue.d.ts +38 -0
  246. package/dist/triage-queue.js +391 -0
  247. package/dist/triage-reconcile.d.ts +11 -0
  248. package/dist/triage-reconcile.js +76 -0
  249. package/dist/triage-refresh.d.ts +7 -0
  250. package/dist/triage-refresh.js +37 -0
  251. package/dist/triage-scope-drift.d.ts +12 -0
  252. package/dist/triage-scope-drift.js +117 -0
  253. package/dist/triage-scope-fixtures.d.ts +32 -0
  254. package/dist/triage-scope-fixtures.js +131 -0
  255. package/dist/triage-scope.d.ts +4 -0
  256. package/dist/triage-scope.js +34 -0
  257. package/dist/triage-smoketest.d.ts +3 -0
  258. package/dist/triage-smoketest.js +43 -0
  259. package/dist/triage-strip-withdrawn.d.ts +21 -0
  260. package/dist/triage-strip-withdrawn.js +102 -0
  261. package/dist/triage-subscribe.d.ts +15 -0
  262. package/dist/triage-subscribe.js +157 -0
  263. package/dist/triage-summary.d.ts +14 -0
  264. package/dist/triage-summary.js +83 -0
  265. package/dist/triage-welcome.d.ts +14 -0
  266. package/dist/triage-welcome.js +121 -0
  267. package/dist/ts-check-lane.d.ts +9 -0
  268. package/dist/ts-check-lane.js +49 -0
  269. package/dist/umbrella-current-shape.d.ts +9 -0
  270. package/dist/umbrella-current-shape.js +56 -0
  271. package/dist/vbrief-activate.d.ts +3 -0
  272. package/dist/vbrief-activate.js +7 -0
  273. package/dist/vbrief-build.d.ts +3 -0
  274. package/dist/vbrief-build.js +8 -0
  275. package/dist/vbrief-preflight-fixtures.d.ts +32 -0
  276. package/dist/vbrief-preflight-fixtures.js +79 -0
  277. package/dist/vbrief-preflight.d.ts +13 -0
  278. package/dist/vbrief-preflight.js +141 -0
  279. package/dist/vbrief-reconcile.d.ts +3 -0
  280. package/dist/vbrief-reconcile.js +7 -0
  281. package/dist/vbrief-validate.d.ts +3 -0
  282. package/dist/vbrief-validate.js +8 -0
  283. package/dist/vbrief-validation.d.ts +3 -0
  284. package/dist/vbrief-validation.js +8 -0
  285. package/dist/verify-ac.d.ts +28 -0
  286. package/dist/verify-ac.js +439 -0
  287. package/dist/verify-agents-md-advisory.d.ts +19 -0
  288. package/dist/verify-agents-md-advisory.js +65 -0
  289. package/dist/verify-agents-md-budget.d.ts +12 -0
  290. package/dist/verify-agents-md-budget.js +71 -0
  291. package/dist/verify-branch.d.ts +14 -0
  292. package/dist/verify-branch.js +81 -0
  293. package/dist/verify-class-checks.d.ts +11 -0
  294. package/dist/verify-class-checks.js +71 -0
  295. package/dist/verify-cohort-review-monitors.d.ts +5 -0
  296. package/dist/verify-cohort-review-monitors.js +11 -0
  297. package/dist/verify-completed-tracked.d.ts +19 -0
  298. package/dist/verify-completed-tracked.js +202 -0
  299. package/dist/verify-completed-write-guard.d.ts +13 -0
  300. package/dist/verify-completed-write-guard.js +84 -0
  301. package/dist/verify-consumer-check-contract.d.ts +12 -0
  302. package/dist/verify-consumer-check-contract.js +70 -0
  303. package/dist/verify-consumer-header-placeholder.d.ts +12 -0
  304. package/dist/verify-consumer-header-placeholder.js +73 -0
  305. package/dist/verify-consumer-test-lane.d.ts +12 -0
  306. package/dist/verify-consumer-test-lane.js +57 -0
  307. package/dist/verify-durable-effect-acquisition.d.ts +13 -0
  308. package/dist/verify-durable-effect-acquisition.js +70 -0
  309. package/dist/verify-encoding.d.ts +15 -0
  310. package/dist/verify-encoding.js +83 -0
  311. package/dist/verify-eval-health-relocation.d.ts +16 -0
  312. package/dist/verify-eval-health-relocation.js +93 -0
  313. package/dist/verify-eval-triggers-relocation.d.ts +14 -0
  314. package/dist/verify-eval-triggers-relocation.js +74 -0
  315. package/dist/verify-evaluator-surface.d.ts +15 -0
  316. package/dist/verify-evaluator-surface.js +87 -0
  317. package/dist/verify-forward-coverage.d.ts +19 -0
  318. package/dist/verify-forward-coverage.js +144 -0
  319. package/dist/verify-hooks-installed.d.ts +24 -0
  320. package/dist/verify-hooks-installed.js +140 -0
  321. package/dist/verify-intent-constraint.d.ts +15 -0
  322. package/dist/verify-intent-constraint.js +86 -0
  323. package/dist/verify-investigation.d.ts +3 -0
  324. package/dist/verify-investigation.js +10 -0
  325. package/dist/verify-judgment-gates.d.ts +3 -0
  326. package/dist/verify-judgment-gates.js +10 -0
  327. package/dist/verify-l4-owner.d.ts +15 -0
  328. package/dist/verify-l4-owner.js +132 -0
  329. package/dist/verify-lifecycle-visible.d.ts +13 -0
  330. package/dist/verify-lifecycle-visible.js +68 -0
  331. package/dist/verify-literal-ac.d.ts +14 -0
  332. package/dist/verify-literal-ac.js +168 -0
  333. package/dist/verify-no-task-runtime.d.ts +3 -0
  334. package/dist/verify-no-task-runtime.js +16 -0
  335. package/dist/verify-observable-scope.d.ts +15 -0
  336. package/dist/verify-observable-scope.js +86 -0
  337. package/dist/verify-operator-scope-limit.d.ts +17 -0
  338. package/dist/verify-operator-scope-limit.js +285 -0
  339. package/dist/verify-orphan-active.d.ts +17 -0
  340. package/dist/verify-orphan-active.js +135 -0
  341. package/dist/verify-ownership.d.ts +10 -0
  342. package/dist/verify-ownership.js +90 -0
  343. package/dist/verify-persisted-planning-narratives.d.ts +12 -0
  344. package/dist/verify-persisted-planning-narratives.js +82 -0
  345. package/dist/verify-plan-sequence.d.ts +14 -0
  346. package/dist/verify-plan-sequence.js +138 -0
  347. package/dist/verify-pr-closeout-attestable.d.ts +15 -0
  348. package/dist/verify-pr-closeout-attestable.js +114 -0
  349. package/dist/verify-presentation-ceiling.d.ts +11 -0
  350. package/dist/verify-presentation-ceiling.js +71 -0
  351. package/dist/verify-presentation-coverage.d.ts +14 -0
  352. package/dist/verify-presentation-coverage.js +90 -0
  353. package/dist/verify-review-monitor.d.ts +32 -0
  354. package/dist/verify-review-monitor.js +362 -0
  355. package/dist/verify-scope-provenance.d.ts +16 -0
  356. package/dist/verify-scope-provenance.js +91 -0
  357. package/dist/verify-session-ritual.d.ts +23 -0
  358. package/dist/verify-session-ritual.js +144 -0
  359. package/dist/verify-source-cli/rule-ownership-lint.d.ts +12 -0
  360. package/dist/verify-source-cli/rule-ownership-lint.js +61 -0
  361. package/dist/verify-source-cli/verify-biome-config.d.ts +11 -0
  362. package/dist/verify-source-cli/verify-biome-config.js +46 -0
  363. package/dist/verify-source-cli/verify-closing-keywords.d.ts +35 -0
  364. package/dist/verify-source-cli/verify-closing-keywords.js +139 -0
  365. package/dist/verify-source-cli/verify-consumer-hard-stops.d.ts +16 -0
  366. package/dist/verify-source-cli/verify-consumer-hard-stops.js +99 -0
  367. package/dist/verify-source-cli/verify-contained-writes.d.ts +13 -0
  368. package/dist/verify-source-cli/verify-contained-writes.js +67 -0
  369. package/dist/verify-source-cli/verify-content-manifest.d.ts +12 -0
  370. package/dist/verify-source-cli/verify-content-manifest.js +61 -0
  371. package/dist/verify-source-cli/verify-contract-drift.d.ts +11 -0
  372. package/dist/verify-source-cli/verify-contract-drift.js +47 -0
  373. package/dist/verify-source-cli/verify-cursor-tier1.d.ts +12 -0
  374. package/dist/verify-source-cli/verify-cursor-tier1.js +51 -0
  375. package/dist/verify-source-cli/verify-deposit-closure.d.ts +12 -0
  376. package/dist/verify-source-cli/verify-deposit-closure.js +52 -0
  377. package/dist/verify-source-cli/verify-openclaw-tier1.d.ts +12 -0
  378. package/dist/verify-source-cli/verify-openclaw-tier1.js +51 -0
  379. package/dist/verify-source-cli/verify-scm-boundary.d.ts +13 -0
  380. package/dist/verify-source-cli/verify-scm-boundary.js +66 -0
  381. package/dist/verify-source-cli/verify-semantic-single-source.d.ts +11 -0
  382. package/dist/verify-source-cli/verify-semantic-single-source.js +49 -0
  383. package/dist/verify-source-cli/verify-skill-external-fetch-gate.d.ts +11 -0
  384. package/dist/verify-source-cli/verify-skill-external-fetch-gate.js +46 -0
  385. package/dist/verify-source-cli/verify-spec-drift.d.ts +3 -0
  386. package/dist/verify-source-cli/verify-spec-drift.js +15 -0
  387. package/dist/verify-source-cli/verify-spec-prd-fresh.d.ts +3 -0
  388. package/dist/verify-source-cli/verify-spec-prd-fresh.js +15 -0
  389. package/dist/verify-source-cli/verify-stubs.d.ts +11 -0
  390. package/dist/verify-source-cli/verify-stubs.js +27 -0
  391. package/dist/verify-source-cli/verify-telemetry-coverage.d.ts +13 -0
  392. package/dist/verify-source-cli/verify-telemetry-coverage.js +67 -0
  393. package/dist/verify-source-cli/verify-xbrief-drift.d.ts +15 -0
  394. package/dist/verify-source-cli/verify-xbrief-drift.js +80 -0
  395. package/dist/verify-story-ready.d.ts +18 -0
  396. package/dist/verify-story-ready.js +190 -0
  397. package/dist/verify-subagent-alive.d.ts +21 -0
  398. package/dist/verify-subagent-alive.js +219 -0
  399. package/dist/verify-subagent-steer.d.ts +19 -0
  400. package/dist/verify-subagent-steer.js +136 -0
  401. package/dist/verify-test-boundary.d.ts +12 -0
  402. package/dist/verify-test-boundary.js +80 -0
  403. package/dist/verify-tools.d.ts +13 -0
  404. package/dist/verify-tools.js +67 -0
  405. package/dist/verify-wip-cap.d.ts +13 -0
  406. package/dist/verify-wip-cap.js +62 -0
  407. package/dist/windows-bin-ps1.d.ts +39 -0
  408. package/dist/windows-bin-ps1.js +226 -0
  409. package/dist/wip-cap-fixtures.d.ts +37 -0
  410. package/dist/wip-cap-fixtures.js +122 -0
  411. package/dist/wsl-ownership-guard.d.ts +2 -0
  412. package/dist/wsl-ownership-guard.js +15 -0
  413. package/dist/xbrief-create.d.ts +3 -0
  414. package/dist/xbrief-create.js +9 -0
  415. package/dist/xbrief-verify.d.ts +3 -0
  416. package/dist/xbrief-verify.js +9 -0
  417. package/package.json +23 -12
  418. package/scripts/remove-windows-ps1-shims.mjs +26 -0
  419. package/bin/deft-hook +0 -14
  420. package/bin/deft-hook.cmd +0 -14
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env node
2
+ import { statSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { interceptHelp } from "@deftai/directive-core/dist/triage/help/index.js";
6
+ import { runDefaultMode } from "@deftai/directive-core/dist/triage/welcome/default-mode.js";
7
+ import { runOnboardMode } from "@deftai/directive-core/dist/triage/welcome/onboard.js";
8
+ export function parseArgs(argv) {
9
+ const parsed = {
10
+ projectRoot: process.env.DEFT_PROJECT_ROOT ?? ".",
11
+ onboard: false,
12
+ noHistory: false,
13
+ taskPrefix: process.env.DEFT_TASK_PREFIX ?? "",
14
+ preset: null,
15
+ wipCap: null,
16
+ };
17
+ for (let i = 0; i < argv.length; i += 1) {
18
+ const arg = argv[i];
19
+ if (arg === "--onboard")
20
+ parsed.onboard = true;
21
+ else if (arg === "--no-history")
22
+ parsed.noHistory = true;
23
+ else if (arg === "--preset") {
24
+ const value = argv[i + 1];
25
+ if (value === undefined)
26
+ return { ...parsed, error: "argument --preset: expected one argument" };
27
+ parsed.preset = value;
28
+ i += 1;
29
+ }
30
+ else if (arg?.startsWith("--preset=")) {
31
+ const value = arg.slice("--preset=".length);
32
+ if (value === "")
33
+ return { ...parsed, error: "argument --preset: expected one argument" };
34
+ parsed.preset = value;
35
+ }
36
+ else if (arg === "--wip-cap") {
37
+ const value = argv[i + 1];
38
+ if (value === undefined)
39
+ return { ...parsed, error: "argument --wip-cap: expected one argument" };
40
+ const parsedCap = Number(value);
41
+ if (!Number.isInteger(parsedCap))
42
+ return { ...parsed, error: `argument --wip-cap: expected an integer, got ${value}` };
43
+ parsed.wipCap = parsedCap;
44
+ i += 1;
45
+ }
46
+ else if (arg?.startsWith("--wip-cap=")) {
47
+ const value = arg.slice("--wip-cap=".length);
48
+ const parsedCap = Number(value);
49
+ if (!Number.isInteger(parsedCap))
50
+ return { ...parsed, error: `argument --wip-cap: expected an integer, got ${value}` };
51
+ parsed.wipCap = parsedCap;
52
+ }
53
+ else if (arg === "--project-root") {
54
+ const value = argv[i + 1];
55
+ if (value === undefined)
56
+ return { ...parsed, error: "argument --project-root: expected one argument" };
57
+ parsed.projectRoot = value;
58
+ i += 1;
59
+ }
60
+ else if (arg?.startsWith("--project-root=")) {
61
+ parsed.projectRoot = arg.slice("--project-root=".length);
62
+ }
63
+ else if (arg === "--task-prefix") {
64
+ const value = argv[i + 1];
65
+ if (value === undefined)
66
+ return { ...parsed, error: "argument --task-prefix: expected one argument" };
67
+ parsed.taskPrefix = value;
68
+ i += 1;
69
+ }
70
+ else if (arg?.startsWith("--task-prefix=")) {
71
+ parsed.taskPrefix = arg.slice("--task-prefix=".length);
72
+ }
73
+ else if (arg === "--no-subprocess" || arg === "--skip-bootstrap") {
74
+ // accepted for argparse parity; default mode ignores them
75
+ }
76
+ else {
77
+ return { ...parsed, error: `unrecognized argument: ${arg}` };
78
+ }
79
+ }
80
+ return parsed;
81
+ }
82
+ export function run(argv) {
83
+ const helpRc = interceptHelp("triage_welcome", argv);
84
+ if (helpRc !== null) {
85
+ return helpRc;
86
+ }
87
+ const args = parseArgs(argv);
88
+ if (args.error !== undefined) {
89
+ process.stderr.write(`triage:welcome: ${args.error}\n`);
90
+ return 2;
91
+ }
92
+ const projectRoot = resolve(args.projectRoot);
93
+ try {
94
+ if (!statSync(projectRoot).isDirectory()) {
95
+ process.stderr.write(`triage:welcome: --project-root ${projectRoot} is not a directory.\n`);
96
+ return 2;
97
+ }
98
+ }
99
+ catch {
100
+ process.stderr.write(`triage:welcome: --project-root ${projectRoot} is not a directory.\n`);
101
+ return 2;
102
+ }
103
+ if (args.onboard) {
104
+ const onboardOutcome = runOnboardMode(projectRoot, {
105
+ preset: args.preset,
106
+ wipCap: args.wipCap,
107
+ writeHistory: !args.noHistory,
108
+ taskPrefix: args.taskPrefix || null,
109
+ });
110
+ return onboardOutcome.exitCode;
111
+ }
112
+ const outcome = runDefaultMode(projectRoot, {
113
+ writeHistory: !args.noHistory,
114
+ taskPrefix: args.taskPrefix || null,
115
+ });
116
+ return outcome.exitCode;
117
+ }
118
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
119
+ process.exit(run(process.argv.slice(2)));
120
+ }
121
+ //# sourceMappingURL=triage-welcome.js.map
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ interface ParsedArgs {
3
+ projectRoot?: string;
4
+ error?: string;
5
+ }
6
+ export declare function parseArgs(argv: string[]): ParsedArgs;
7
+ export declare function run(argv: string[]): number;
8
+ export {};
9
+ //# sourceMappingURL=ts-check-lane.d.ts.map
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ts-check-lane.ts -- CLI for the Node-toolchain-aware TS lane (#1530, #1790).
4
+ *
5
+ * Usage:
6
+ * deft-ts ts-check-lane --project-root <path>
7
+ *
8
+ * Thin shim -- delegates to @deftai/directive-core/ts-check-lane.
9
+ */
10
+ import { fileURLToPath } from "node:url";
11
+ import { resolvePnpm, runTsLane } from "@deftai/directive-core/ts-check-lane";
12
+ export function parseArgs(argv) {
13
+ const parsed = {};
14
+ for (let i = 0; i < argv.length; i++) {
15
+ const arg = argv[i] ?? "";
16
+ if (arg === "--project-root") {
17
+ const next = argv[i + 1];
18
+ if (next === undefined)
19
+ return { ...parsed, error: "argument --project-root: expected one argument" };
20
+ parsed.projectRoot = next;
21
+ i++;
22
+ }
23
+ else if (arg.startsWith("--project-root=")) {
24
+ const value = arg.slice("--project-root=".length);
25
+ if (value === "")
26
+ return { ...parsed, error: "argument --project-root: expected one argument" };
27
+ parsed.projectRoot = value;
28
+ }
29
+ else {
30
+ return { ...parsed, error: `unrecognized argument: ${arg}` };
31
+ }
32
+ }
33
+ return parsed;
34
+ }
35
+ export function run(argv) {
36
+ const args = parseArgs(argv);
37
+ if (args.error !== undefined) {
38
+ process.stderr.write(`ts-check-lane: ${args.error}\n`);
39
+ return 2;
40
+ }
41
+ const projectRoot = args.projectRoot ?? ".";
42
+ return runTsLane(projectRoot, { pnpm: resolvePnpm() });
43
+ }
44
+ /* v8 ignore start -- entry guard */
45
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
46
+ process.exit(run(process.argv.slice(2)));
47
+ }
48
+ /* v8 ignore stop */
49
+ //# sourceMappingURL=ts-check-lane.js.map
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ export interface ParsedUmbrellaCurrentShapeArgs {
3
+ projectRoot: string;
4
+ passthrough: string[];
5
+ error?: string;
6
+ }
7
+ export declare function parseArgs(argv: readonly string[]): ParsedUmbrellaCurrentShapeArgs;
8
+ export declare function run(argv: readonly string[]): number;
9
+ //# sourceMappingURL=umbrella-current-shape.d.ts.map
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env node
2
+ import { fileURLToPath } from "node:url";
3
+ import { parseCurrentShapeArgv, runCurrentShape, } from "@deftai/directive-core/umbrella-current-shape";
4
+ export function parseArgs(argv) {
5
+ let projectRoot = process.cwd();
6
+ const passthrough = [];
7
+ for (let i = 0; i < argv.length; i += 1) {
8
+ const arg = argv[i] ?? "";
9
+ if (arg === "--project-root") {
10
+ const value = argv[i + 1];
11
+ if (value === undefined) {
12
+ return {
13
+ projectRoot,
14
+ passthrough,
15
+ error: "argument --project-root: expected one argument",
16
+ };
17
+ }
18
+ projectRoot = value;
19
+ i += 1;
20
+ }
21
+ else if (arg.startsWith("--project-root=")) {
22
+ projectRoot = arg.slice("--project-root=".length);
23
+ }
24
+ else {
25
+ passthrough.push(arg);
26
+ }
27
+ }
28
+ return { projectRoot, passthrough };
29
+ }
30
+ export function run(argv) {
31
+ const args = parseArgs(argv);
32
+ if (args.error !== undefined) {
33
+ process.stderr.write(`umbrella:current-shape: ${args.error}\n`);
34
+ return 2;
35
+ }
36
+ const parsed = parseCurrentShapeArgv(args.passthrough);
37
+ if (parsed.passthroughError !== undefined) {
38
+ process.stderr.write(`umbrella:current-shape: ${parsed.passthroughError}\n`);
39
+ return 2;
40
+ }
41
+ if (parsed.issueNumber === null) {
42
+ process.stderr.write("umbrella:current-shape: issue number required\n");
43
+ return 2;
44
+ }
45
+ return runCurrentShape({
46
+ issueNumber: parsed.issueNumber,
47
+ projectRoot: args.projectRoot,
48
+ repo: parsed.repo,
49
+ jsonMode: parsed.jsonMode,
50
+ strict: parsed.strict,
51
+ });
52
+ }
53
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
54
+ process.exit(run(process.argv.slice(2)));
55
+ }
56
+ //# sourceMappingURL=umbrella-current-shape.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=vbrief-activate.d.ts.map
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import { fileURLToPath } from "node:url";
3
+ import { run } from "@deftai/directive-core/vbrief-activate";
4
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
5
+ process.exit(run(process.argv.slice(2)));
6
+ }
7
+ //# sourceMappingURL=vbrief-activate.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=vbrief-build.d.ts.map
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /** Thin CLI seam for vbrief-build parity scenarios (#1782 s1). */
3
+ import { fileURLToPath } from "node:url";
4
+ import { cmdVbriefBuild } from "@deftai/directive-core/vbrief-build";
5
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
6
+ process.exit(cmdVbriefBuild(process.argv.slice(2)));
7
+ }
8
+ //# sourceMappingURL=vbrief-build.js.map
@@ -0,0 +1,32 @@
1
+ export interface JsonGateOutput {
2
+ readonly exitCode: number;
3
+ readonly ready: boolean;
4
+ readonly vbriefPath: string;
5
+ readonly message: string;
6
+ readonly rawJson: string;
7
+ }
8
+ export interface ParityCaseResult {
9
+ readonly name: string;
10
+ readonly ok: boolean;
11
+ readonly pythonExit: number;
12
+ readonly tsExit: number;
13
+ readonly exitMismatch: boolean;
14
+ readonly messageMismatch: boolean;
15
+ readonly readyMismatch: boolean;
16
+ }
17
+ export interface ParityResult {
18
+ readonly ok: boolean;
19
+ readonly cases: ParityCaseResult[];
20
+ }
21
+ /** Fixture corpus: [label, folder, file content]. */
22
+ export declare const PARITY_FIXTURES: ReadonlyArray<readonly [string, string, string]>;
23
+ /** Parse the structured `--json` stdout payload. */
24
+ export declare function parseJsonOutput(stdout: string, exitCode: number): JsonGateOutput;
25
+ /** Diff two gate JSON outputs for one fixture case. */
26
+ export declare function diffOutputs(name: string, python: JsonGateOutput, ts: JsonGateOutput): ParityCaseResult;
27
+ /** Build temp fixture files; returns map of label -> absolute path. */
28
+ export declare function buildFixtures(root: string): Map<string, string>;
29
+ /** Run both gates against all fixtures and diff them. */
30
+ /** Render a human-readable parity report (exported for unit tests). */
31
+ export declare function renderReport(result: ParityResult): string;
32
+ //# sourceMappingURL=vbrief-preflight-fixtures.d.ts.map
@@ -0,0 +1,79 @@
1
+ /** Test fixtures extracted from legacy parity harness (#2083). */
2
+ import { mkdirSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ /** Fixture corpus: [label, folder, file content]. */
5
+ export const PARITY_FIXTURES = [
6
+ ["active_running", "active", JSON.stringify({ plan: { status: "running" } })],
7
+ ["pending", "pending", JSON.stringify({ plan: { status: "running" } })],
8
+ ["proposed", "proposed", JSON.stringify({ plan: { status: "running" } })],
9
+ ["malformed_json", "active", "{bad json"],
10
+ ["wrong_status", "active", JSON.stringify({ plan: { status: "pending" } })],
11
+ ["missing_plan_status", "active", JSON.stringify({ plan: {} })],
12
+ ];
13
+ /** Parse the structured `--json` stdout payload. */
14
+ export function parseJsonOutput(stdout, exitCode) {
15
+ const trimmed = stdout.trim();
16
+ let payload;
17
+ try {
18
+ payload = JSON.parse(trimmed);
19
+ }
20
+ catch {
21
+ throw new Error(`Expected JSON output but got: ${trimmed.length > 0 ? trimmed : "(empty)"}`);
22
+ }
23
+ return {
24
+ exitCode,
25
+ ready: payload.ready,
26
+ vbriefPath: payload.vbrief_path,
27
+ message: payload.message,
28
+ rawJson: trimmed,
29
+ };
30
+ }
31
+ /** Diff two gate JSON outputs for one fixture case. */
32
+ export function diffOutputs(name, python, ts) {
33
+ const exitMismatch = python.exitCode !== ts.exitCode;
34
+ const readyMismatch = python.ready !== ts.ready;
35
+ const messageMismatch = python.message !== ts.message;
36
+ return {
37
+ name,
38
+ ok: !exitMismatch && !readyMismatch && !messageMismatch,
39
+ pythonExit: python.exitCode,
40
+ tsExit: ts.exitCode,
41
+ exitMismatch,
42
+ readyMismatch,
43
+ messageMismatch,
44
+ };
45
+ }
46
+ /** Build temp fixture files; returns map of label -> absolute path. */
47
+ export function buildFixtures(root) {
48
+ const paths = new Map();
49
+ for (const [label, folder, content] of PARITY_FIXTURES) {
50
+ const dir = join(root, folder);
51
+ mkdirSync(dir, { recursive: true });
52
+ const file = join(dir, `${label}.xbrief.json`);
53
+ writeFileSync(file, content, { encoding: "utf8" });
54
+ paths.set(label, file);
55
+ }
56
+ return paths;
57
+ }
58
+ /** Run both gates against all fixtures and diff them. */
59
+ /** Render a human-readable parity report (exported for unit tests). */
60
+ export function renderReport(result) {
61
+ if (result.ok) {
62
+ return `vbrief_preflight parity: CLEAN -- Python and TS agree on ${result.cases.length} fixture(s).`;
63
+ }
64
+ const lines = ["vbrief_preflight parity: DIVERGENCE"];
65
+ for (const c of result.cases.filter((x) => !x.ok)) {
66
+ lines.push(` case ${c.name}:`);
67
+ if (c.exitMismatch) {
68
+ lines.push(` exit mismatch: python=${c.pythonExit} ts=${c.tsExit}`);
69
+ }
70
+ if (c.readyMismatch) {
71
+ lines.push(" ready mismatch");
72
+ }
73
+ if (c.messageMismatch) {
74
+ lines.push(" message mismatch");
75
+ }
76
+ }
77
+ return lines.join("\n");
78
+ }
79
+ //# sourceMappingURL=vbrief-preflight-fixtures.js.map
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ interface ParsedArgs {
3
+ vbriefPath: string | null;
4
+ emitJson: boolean;
5
+ help?: boolean;
6
+ error?: string;
7
+ }
8
+ /** Parse vbrief-preflight / xbrief:preflight CLI args (#810 / #2449). */
9
+ export declare function parseArgs(argv: string[]): ParsedArgs;
10
+ /** Run the gate and return the process exit code (parse errors -> 2). */
11
+ export declare function run(argv: string[], scan?: (briefPath: string) => readonly string[]): number;
12
+ export {};
13
+ //# sourceMappingURL=vbrief-preflight.d.ts.map
@@ -0,0 +1,141 @@
1
+ #!/usr/bin/env node
2
+ import { dirname, resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { emitJson, evaluate, PREFLIGHT_USAGE_HINT } from "@deftai/directive-core/preflight";
5
+ import { scanWorkClaimForBriefPath } from "@deftai/directive-core/scm";
6
+ import { refuseIfWslOwnershipBlocked } from "./wsl-ownership-guard.js";
7
+ const HELP_TEXT = `usage: xbrief:preflight [--vbrief-path PATH | PATH] [--json] [--help]
8
+
9
+ Implementation-intent gate (#810): exits 0 only when the xBRIEF is in
10
+ xbrief/active/ (or legacy vbrief/active/) AND plan.status == 'running'.
11
+
12
+ Examples:
13
+ deft xbrief:preflight -- xbrief/active/<story>.xbrief.json
14
+ deft xbrief:preflight --vbrief-path xbrief/active/<story>.xbrief.json
15
+ `;
16
+ const PATH_FLAG_NAMES = ["--vbrief-path", "--brief-path", "--xbrief-path"];
17
+ function assignPathFlag(parsed, value) {
18
+ if (value === undefined || value.length === 0) {
19
+ return { ...parsed, error: "argument --vbrief-path: expected one argument" };
20
+ }
21
+ if (parsed.vbriefPath !== null) {
22
+ return { ...parsed, error: "multiple path arguments are not allowed" };
23
+ }
24
+ return { ...parsed, vbriefPath: value };
25
+ }
26
+ /** Parse vbrief-preflight / xbrief:preflight CLI args (#810 / #2449). */
27
+ export function parseArgs(argv) {
28
+ const parsed = {
29
+ vbriefPath: null,
30
+ emitJson: false,
31
+ };
32
+ for (let i = 0; i < argv.length; i += 1) {
33
+ const arg = argv[i];
34
+ if (arg === "--") {
35
+ continue;
36
+ }
37
+ if (arg === "--json") {
38
+ parsed.emitJson = true;
39
+ continue;
40
+ }
41
+ if (arg === "--help" || arg === "-h") {
42
+ return { ...parsed, help: true };
43
+ }
44
+ if (PATH_FLAG_NAMES.includes(arg)) {
45
+ // Task wrappers bake `--vbrief-path {{.CLI_ARGS}}`, so
46
+ // `task xbrief:preflight -- --help` arrives as `--vbrief-path --help`.
47
+ const nextToken = argv[i + 1];
48
+ if (nextToken === "--help" || nextToken === "-h") {
49
+ return { ...parsed, help: true };
50
+ }
51
+ if (nextToken?.startsWith("-")) {
52
+ return {
53
+ ...parsed,
54
+ error: "argument --vbrief-path: expected one argument",
55
+ };
56
+ }
57
+ const next = assignPathFlag(parsed, nextToken);
58
+ if (next?.error !== undefined)
59
+ return next;
60
+ parsed.vbriefPath = next?.vbriefPath ?? null;
61
+ i += 1;
62
+ continue;
63
+ }
64
+ let matchedEqualsForm = false;
65
+ for (const flag of PATH_FLAG_NAMES) {
66
+ if (arg?.startsWith(`${flag}=`)) {
67
+ const next = assignPathFlag(parsed, arg.slice(flag.length + 1));
68
+ if (next?.error !== undefined)
69
+ return next;
70
+ parsed.vbriefPath = next?.vbriefPath ?? null;
71
+ matchedEqualsForm = true;
72
+ break;
73
+ }
74
+ }
75
+ if (matchedEqualsForm)
76
+ continue;
77
+ if (arg?.startsWith("-")) {
78
+ return { ...parsed, error: `unrecognized argument: ${arg}` };
79
+ }
80
+ const next = assignPathFlag(parsed, arg);
81
+ if (next?.error !== undefined)
82
+ return next;
83
+ parsed.vbriefPath = next?.vbriefPath ?? null;
84
+ }
85
+ if (parsed.vbriefPath === null) {
86
+ return {
87
+ ...parsed,
88
+ error: `the following arguments are required: --vbrief-path (or positional path). ${PREFLIGHT_USAGE_HINT}`,
89
+ };
90
+ }
91
+ return parsed;
92
+ }
93
+ /** Run the gate and return the process exit code (parse errors -> 2). */
94
+ export function run(argv, scan = scanWorkClaimForBriefPath) {
95
+ const args = parseArgs(argv);
96
+ if (args.help) {
97
+ process.stdout.write(HELP_TEXT);
98
+ return 0;
99
+ }
100
+ if (args.error !== undefined) {
101
+ process.stderr.write(`preflight_implementation: ${args.error}\n`);
102
+ return 2;
103
+ }
104
+ const vbriefPath = args.vbriefPath;
105
+ // #1617: gate the brief's tree, not process.cwd() (cross-directory callers).
106
+ const blocked = refuseIfWslOwnershipBlocked(dirname(resolve(vbriefPath)));
107
+ if (blocked !== null)
108
+ return blocked;
109
+ const result = evaluate(vbriefPath);
110
+ let scanLines = [];
111
+ try {
112
+ scanLines = [...scan(vbriefPath)];
113
+ }
114
+ catch (err) {
115
+ const message = err instanceof Error ? err.message : String(err);
116
+ scanLines = [
117
+ `[deft work-claim] warning: scan failed (${message}). Warn is success; this is not a GitHub lock.`,
118
+ ];
119
+ }
120
+ if (args.emitJson) {
121
+ const message = scanLines.length > 0 ? `${result.message}\n${scanLines.join("\n")}` : result.message;
122
+ process.stdout.write(`${emitJson(vbriefPath, result.exitCode, message)}\n`);
123
+ }
124
+ else if (result.exitCode === 0) {
125
+ process.stdout.write(`${result.message}\n`);
126
+ for (const line of scanLines) {
127
+ process.stdout.write(`${line}\n`);
128
+ }
129
+ }
130
+ else {
131
+ process.stderr.write(`${result.message}\n`);
132
+ for (const line of scanLines) {
133
+ process.stderr.write(`${line}\n`);
134
+ }
135
+ }
136
+ return result.exitCode;
137
+ }
138
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
139
+ process.exit(run(process.argv.slice(2)));
140
+ }
141
+ //# sourceMappingURL=vbrief-preflight.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=vbrief-reconcile.d.ts.map
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import { fileURLToPath } from "node:url";
3
+ import { cmdVbriefReconcile } from "@deftai/directive-core/vbrief-reconcile";
4
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
5
+ process.exit(cmdVbriefReconcile(process.argv.slice(2)));
6
+ }
7
+ //# sourceMappingURL=vbrief-reconcile.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=vbrief-validate.d.ts.map
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /** Thin CLI seam for vbrief:validate + verify:vbrief-conformance (#1782 s3). */
3
+ import { fileURLToPath } from "node:url";
4
+ import { cmdVbriefValidate } from "@deftai/directive-core/vbrief-validate";
5
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
6
+ process.exit(cmdVbriefValidate(process.argv.slice(2)));
7
+ }
8
+ //# sourceMappingURL=vbrief-validate.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=vbrief-validation.d.ts.map
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /** Thin CLI seam for vbrief-validation parity scenarios (#1782 s2). */
3
+ import { fileURLToPath } from "node:url";
4
+ import { cmdVbriefValidation } from "@deftai/directive-core/vbrief-validation";
5
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
6
+ process.exit(cmdVbriefValidation(process.argv.slice(2)));
7
+ }
8
+ //# sourceMappingURL=vbrief-validation.js.map
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env node
2
+ interface ParsedArgs {
3
+ projectRoot: string;
4
+ xbriefPath: string | null;
5
+ quiet: boolean;
6
+ captureOnly: boolean;
7
+ softMissingXbrief: boolean;
8
+ error?: string;
9
+ }
10
+ /** Parse verify:ac CLI args. */
11
+ export declare function parseArgs(argv: string[]): ParsedArgs;
12
+ /** Result of scanning lifecycle active/ for scope artifacts. */
13
+ export type FindActiveXbriefResult = {
14
+ readonly kind: "one";
15
+ readonly path: string;
16
+ } | {
17
+ readonly kind: "none";
18
+ } | {
19
+ readonly kind: "many";
20
+ readonly paths: readonly string[];
21
+ readonly dir: string;
22
+ };
23
+ /** Three-state exit: pass=0, fail=1, config=2. A printed pass must not leak 201. */
24
+ export declare function clampVerifyAcExit(ok: boolean, code: number): number;
25
+ /** Run the gate and return the process exit code. */
26
+ export declare function run(argv: string[]): number;
27
+ export {};
28
+ //# sourceMappingURL=verify-ac.d.ts.map