@deftai/directive-runtime 0.126.0-beta.3 → 0.128.0

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 (430) hide show
  1. package/.agents/skills/deft-directive-release/SKILL.md +428 -7
  2. package/.githooks/_directive-run.sh +30 -0
  3. package/.githooks/pre-commit +4 -24
  4. package/.githooks/pre-push +11 -17
  5. package/Taskfile.yml +17 -16
  6. package/contracts/design-critique.md +5 -0
  7. package/dist/cli-router/route-argv.js +1 -0
  8. package/dist/contract-entry.js +2 -4
  9. package/dist/coverage-hotspots.js +2 -2
  10. package/dist/dispatch.d.ts +1 -1
  11. package/dist/dispatch.js +8 -6
  12. package/dist/doctor-diagnose.js +10 -7
  13. package/dist/hook-dispatch.d.ts +1 -1
  14. package/dist/hook-dispatch.js +1 -1
  15. package/dist/install-cli/coverage-map.d.ts +1 -5
  16. package/dist/install-cli/coverage-map.js +28 -22
  17. package/dist/installer-output-inventory.js +1 -4
  18. package/dist/lifecycle-cli/coverage-map.js +37 -35
  19. package/dist/migrate.js +12 -7
  20. package/dist/policy.d.ts +4 -2
  21. package/dist/policy.js +101 -2
  22. package/dist/pre-pr-run.d.ts +2 -0
  23. package/dist/pre-pr-run.js +40 -0
  24. package/dist/removal-steps/index.d.ts +2 -2
  25. package/dist/removal-steps/steps.js +6 -9
  26. package/dist/removal-steps/strategies.js +1 -1
  27. package/dist/render-cli/capability-map-cli.d.ts +3 -0
  28. package/dist/render-cli/capability-map-cli.js +6 -0
  29. package/dist/setup-wiring.d.ts +6 -0
  30. package/dist/setup-wiring.js +20 -7
  31. package/dist/setup.js +12 -14
  32. package/dist/uninstall.js +1 -1
  33. package/dist/vbrief-preflight-fixtures.js +1 -1
  34. package/dist/verify-intent-constraint.d.ts +2 -0
  35. package/dist/verify-intent-constraint.js +24 -0
  36. package/dist/verify-observable-scope.d.ts +2 -0
  37. package/dist/verify-observable-scope.js +24 -0
  38. package/docs/getting-started.md +2 -0
  39. package/docs/intent-constraint.md +7 -1
  40. package/docs/known-limitations.md +1 -0
  41. package/docs/launcher.md +10 -0
  42. package/docs/observable-scope.md +6 -0
  43. package/package.json +1 -1
  44. package/packs/skills/skills-pack-0.1.json +3 -3
  45. package/scm/github.md +1 -0
  46. package/skills/deft-directive-feedback/SKILL.md +9 -20
  47. package/skills/deft-directive-pre-pr/SKILL.md +13 -3
  48. package/skills/deft-directive-release/SKILL.md +4 -4
  49. package/skills/deft-directive-review-cycle/SKILL.md +2 -2
  50. package/skills/deft-directive-setup/SKILL.md +17 -41
  51. package/skills/deft-directive-swarm/references/host-cursor.md +18 -1
  52. package/skills/deft-directive-swarm/references/host-grok-build.md +3 -3
  53. package/skills/deft-directive-sync/SKILL.md +2 -2
  54. package/skills/deft-directive-tutorial/SKILL.md +1 -1
  55. package/tasks/agent.yml +0 -2
  56. package/tasks/cache.yml +0 -16
  57. package/tasks/capacity.yml +0 -4
  58. package/tasks/change.yml +0 -4
  59. package/tasks/codebase.yml +0 -10
  60. package/tasks/commit.yml +0 -2
  61. package/tasks/coverage.yml +0 -2
  62. package/tasks/decision.yml +0 -4
  63. package/tasks/directive.yml +0 -1
  64. package/tasks/docs.yml +6 -10
  65. package/tasks/engine-invoke.cjs +79 -0
  66. package/tasks/engine-invoke.test.cjs +84 -0
  67. package/tasks/engine.yml +27 -81
  68. package/tasks/eval.yml +0 -8
  69. package/tasks/feedback.yml +0 -2
  70. package/tasks/install.yml +0 -4
  71. package/tasks/issue.yml +0 -3
  72. package/tasks/lifecycle.yml +0 -1
  73. package/tasks/materialize.cjs +246 -0
  74. package/tasks/materialize.test.cjs +103 -0
  75. package/tasks/materialize.yml +13 -0
  76. package/tasks/migrate.yml +0 -6
  77. package/tasks/packs.yml +0 -16
  78. package/tasks/plan-sequence.yml +0 -8
  79. package/tasks/policy.yml +0 -24
  80. package/tasks/pr.yml +0 -6
  81. package/tasks/prd.yml +0 -2
  82. package/tasks/product-signal.yml +0 -10
  83. package/tasks/project.yml +0 -8
  84. package/tasks/reconcile.yml +0 -2
  85. package/tasks/review-monitor.yml +0 -4
  86. package/tasks/roadmap.yml +0 -4
  87. package/tasks/scm.yml +0 -32
  88. package/tasks/scope.yml +0 -30
  89. package/tasks/slice.yml +0 -4
  90. package/tasks/spec.yml +0 -6
  91. package/tasks/subagent.yml +0 -4
  92. package/tasks/swarm.yml +0 -7
  93. package/tasks/toolchain.yml +0 -4
  94. package/tasks/triage-actions.yml +0 -8
  95. package/tasks/triage-bootstrap.yml +0 -1
  96. package/tasks/triage-bulk.yml +0 -5
  97. package/tasks/triage-classify.yml +0 -2
  98. package/tasks/triage-evaluate.yml +0 -1
  99. package/tasks/triage-metrics.yml +0 -2
  100. package/tasks/triage-queue.yml +0 -3
  101. package/tasks/triage-reconcile.yml +0 -1
  102. package/tasks/triage-scope-drift.yml +0 -1
  103. package/tasks/triage-scope.yml +0 -1
  104. package/tasks/triage-smoketest.yml +0 -1
  105. package/tasks/triage-subscribe.yml +0 -2
  106. package/tasks/tutorial.yml +0 -20
  107. package/tasks/umbrella.yml +0 -2
  108. package/tasks/value.yml +0 -2
  109. package/tasks/vbrief.yml +0 -12
  110. package/tasks/verify.yml +0 -140
  111. package/tasks/xbrief.yml +0 -6
  112. package/templates/agents-entry.md +1 -0
  113. package/templates/design-critique-brief.md +3 -0
  114. package/vendor/directive-content/.agents/skills/deft-directive-release/SKILL.md +428 -7
  115. package/vendor/directive-content/.githooks/_directive-run.sh +30 -0
  116. package/vendor/directive-content/.githooks/pre-commit +4 -24
  117. package/vendor/directive-content/.githooks/pre-push +11 -17
  118. package/vendor/directive-content/Taskfile.yml +17 -16
  119. package/vendor/directive-content/contracts/design-critique.md +5 -0
  120. package/vendor/directive-content/docs/getting-started.md +2 -0
  121. package/vendor/directive-content/docs/intent-constraint.md +7 -1
  122. package/vendor/directive-content/docs/known-limitations.md +1 -0
  123. package/vendor/directive-content/docs/launcher.md +10 -0
  124. package/vendor/directive-content/docs/observable-scope.md +6 -0
  125. package/vendor/directive-content/packs/skills/skills-pack-0.1.json +3 -3
  126. package/vendor/directive-content/scm/github.md +1 -0
  127. package/vendor/directive-content/skills/deft-directive-feedback/SKILL.md +9 -20
  128. package/vendor/directive-content/skills/deft-directive-pre-pr/SKILL.md +13 -3
  129. package/vendor/directive-content/skills/deft-directive-release/SKILL.md +4 -4
  130. package/vendor/directive-content/skills/deft-directive-review-cycle/SKILL.md +2 -2
  131. package/vendor/directive-content/skills/deft-directive-setup/SKILL.md +17 -41
  132. package/vendor/directive-content/skills/deft-directive-swarm/references/host-cursor.md +18 -1
  133. package/vendor/directive-content/skills/deft-directive-swarm/references/host-grok-build.md +3 -3
  134. package/vendor/directive-content/skills/deft-directive-sync/SKILL.md +2 -2
  135. package/vendor/directive-content/skills/deft-directive-tutorial/SKILL.md +1 -1
  136. package/vendor/directive-content/tasks/agent.yml +0 -2
  137. package/vendor/directive-content/tasks/cache.yml +0 -16
  138. package/vendor/directive-content/tasks/capacity.yml +0 -4
  139. package/vendor/directive-content/tasks/change.yml +0 -4
  140. package/vendor/directive-content/tasks/codebase.yml +0 -10
  141. package/vendor/directive-content/tasks/commit.yml +0 -2
  142. package/vendor/directive-content/tasks/coverage.yml +0 -2
  143. package/vendor/directive-content/tasks/decision.yml +0 -4
  144. package/vendor/directive-content/tasks/directive.yml +0 -1
  145. package/vendor/directive-content/tasks/docs.yml +6 -10
  146. package/vendor/directive-content/tasks/engine-invoke.cjs +79 -0
  147. package/vendor/directive-content/tasks/engine-invoke.test.cjs +84 -0
  148. package/vendor/directive-content/tasks/engine.yml +27 -81
  149. package/vendor/directive-content/tasks/eval.yml +0 -8
  150. package/vendor/directive-content/tasks/feedback.yml +0 -2
  151. package/vendor/directive-content/tasks/install.yml +0 -4
  152. package/vendor/directive-content/tasks/issue.yml +0 -3
  153. package/vendor/directive-content/tasks/lifecycle.yml +0 -1
  154. package/vendor/directive-content/tasks/materialize.cjs +246 -0
  155. package/vendor/directive-content/tasks/materialize.test.cjs +103 -0
  156. package/vendor/directive-content/tasks/materialize.yml +13 -0
  157. package/vendor/directive-content/tasks/migrate.yml +0 -6
  158. package/vendor/directive-content/tasks/packs.yml +0 -16
  159. package/vendor/directive-content/tasks/plan-sequence.yml +0 -8
  160. package/vendor/directive-content/tasks/policy.yml +0 -24
  161. package/vendor/directive-content/tasks/pr.yml +0 -6
  162. package/vendor/directive-content/tasks/prd.yml +0 -2
  163. package/vendor/directive-content/tasks/product-signal.yml +0 -10
  164. package/vendor/directive-content/tasks/project.yml +0 -8
  165. package/vendor/directive-content/tasks/reconcile.yml +0 -2
  166. package/vendor/directive-content/tasks/review-monitor.yml +0 -4
  167. package/vendor/directive-content/tasks/roadmap.yml +0 -4
  168. package/vendor/directive-content/tasks/scm.yml +0 -32
  169. package/vendor/directive-content/tasks/scope.yml +0 -30
  170. package/vendor/directive-content/tasks/slice.yml +0 -4
  171. package/vendor/directive-content/tasks/spec.yml +0 -6
  172. package/vendor/directive-content/tasks/subagent.yml +0 -4
  173. package/vendor/directive-content/tasks/swarm.yml +0 -7
  174. package/vendor/directive-content/tasks/toolchain.yml +0 -4
  175. package/vendor/directive-content/tasks/triage-actions.yml +0 -8
  176. package/vendor/directive-content/tasks/triage-bootstrap.yml +0 -1
  177. package/vendor/directive-content/tasks/triage-bulk.yml +0 -5
  178. package/vendor/directive-content/tasks/triage-classify.yml +0 -2
  179. package/vendor/directive-content/tasks/triage-evaluate.yml +0 -1
  180. package/vendor/directive-content/tasks/triage-metrics.yml +0 -2
  181. package/vendor/directive-content/tasks/triage-queue.yml +0 -3
  182. package/vendor/directive-content/tasks/triage-reconcile.yml +0 -1
  183. package/vendor/directive-content/tasks/triage-scope-drift.yml +0 -1
  184. package/vendor/directive-content/tasks/triage-scope.yml +0 -1
  185. package/vendor/directive-content/tasks/triage-smoketest.yml +0 -1
  186. package/vendor/directive-content/tasks/triage-subscribe.yml +0 -2
  187. package/vendor/directive-content/tasks/tutorial.yml +0 -20
  188. package/vendor/directive-content/tasks/umbrella.yml +0 -2
  189. package/vendor/directive-content/tasks/value.yml +0 -2
  190. package/vendor/directive-content/tasks/vbrief.yml +0 -12
  191. package/vendor/directive-content/tasks/verify.yml +0 -140
  192. package/vendor/directive-content/tasks/xbrief.yml +0 -6
  193. package/vendor/directive-content/templates/agents-entry.md +1 -0
  194. package/vendor/directive-content/templates/design-critique-brief.md +3 -0
  195. package/vendor/directive-core/dist/.tsbuildinfo +1 -1
  196. package/vendor/directive-core/dist/consumer-check-contract/evaluate.d.ts +3 -2
  197. package/vendor/directive-core/dist/consumer-check-contract/evaluate.d.ts.map +1 -1
  198. package/vendor/directive-core/dist/consumer-check-contract/evaluate.js +7 -6
  199. package/vendor/directive-core/dist/consumer-check-contract/evaluate.js.map +1 -1
  200. package/vendor/directive-core/dist/content-contracts/skills/greptile-detector.d.ts +6 -0
  201. package/vendor/directive-core/dist/content-contracts/skills/greptile-detector.d.ts.map +1 -1
  202. package/vendor/directive-core/dist/content-contracts/skills/greptile-detector.js +97 -3
  203. package/vendor/directive-core/dist/content-contracts/skills/greptile-detector.js.map +1 -1
  204. package/vendor/directive-core/dist/content-root.d.ts.map +1 -1
  205. package/vendor/directive-core/dist/content-root.js +8 -1
  206. package/vendor/directive-core/dist/content-root.js.map +1 -1
  207. package/vendor/directive-core/dist/coverage-applicability/evaluate.d.ts.map +1 -1
  208. package/vendor/directive-core/dist/coverage-applicability/evaluate.js +406 -11
  209. package/vendor/directive-core/dist/coverage-applicability/evaluate.js.map +1 -1
  210. package/vendor/directive-core/dist/coverage-hotspots/evaluate.d.ts +13 -5
  211. package/vendor/directive-core/dist/coverage-hotspots/evaluate.d.ts.map +1 -1
  212. package/vendor/directive-core/dist/coverage-hotspots/evaluate.js +60 -2
  213. package/vendor/directive-core/dist/coverage-hotspots/evaluate.js.map +1 -1
  214. package/vendor/directive-core/dist/deposit/live-procedure-targets.d.ts.map +1 -1
  215. package/vendor/directive-core/dist/deposit/live-procedure-targets.js.map +1 -1
  216. package/vendor/directive-core/dist/deposit/python-free.d.ts +2 -0
  217. package/vendor/directive-core/dist/deposit/python-free.d.ts.map +1 -1
  218. package/vendor/directive-core/dist/deposit/python-free.js +5 -1
  219. package/vendor/directive-core/dist/deposit/python-free.js.map +1 -1
  220. package/vendor/directive-core/dist/doctor/checks.d.ts.map +1 -1
  221. package/vendor/directive-core/dist/doctor/checks.js +8 -10
  222. package/vendor/directive-core/dist/doctor/checks.js.map +1 -1
  223. package/vendor/directive-core/dist/doctor/main.d.ts.map +1 -1
  224. package/vendor/directive-core/dist/doctor/main.js +6 -0
  225. package/vendor/directive-core/dist/doctor/main.js.map +1 -1
  226. package/vendor/directive-core/dist/doctor/manifest.d.ts.map +1 -1
  227. package/vendor/directive-core/dist/doctor/manifest.js +3 -2
  228. package/vendor/directive-core/dist/doctor/manifest.js.map +1 -1
  229. package/vendor/directive-core/dist/doctor/paths.d.ts.map +1 -1
  230. package/vendor/directive-core/dist/doctor/paths.js +11 -0
  231. package/vendor/directive-core/dist/doctor/paths.js.map +1 -1
  232. package/vendor/directive-core/dist/engine-version.d.ts.map +1 -1
  233. package/vendor/directive-core/dist/engine-version.js +1 -4
  234. package/vendor/directive-core/dist/engine-version.js.map +1 -1
  235. package/vendor/directive-core/dist/hooks/dispatcher.d.ts +2 -0
  236. package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
  237. package/vendor/directive-core/dist/hooks/dispatcher.js +5 -1
  238. package/vendor/directive-core/dist/hooks/dispatcher.js.map +1 -1
  239. package/vendor/directive-core/dist/index.d.ts +1 -0
  240. package/vendor/directive-core/dist/index.d.ts.map +1 -1
  241. package/vendor/directive-core/dist/index.js +1 -0
  242. package/vendor/directive-core/dist/index.js.map +1 -1
  243. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts.map +1 -1
  244. package/vendor/directive-core/dist/init-deposit/agent-hooks.js.map +1 -1
  245. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts +4 -0
  246. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts.map +1 -1
  247. package/vendor/directive-core/dist/init-deposit/scaffold.js +4 -2
  248. package/vendor/directive-core/dist/init-deposit/scaffold.js.map +1 -1
  249. package/vendor/directive-core/dist/install-contract/constants.d.ts.map +1 -1
  250. package/vendor/directive-core/dist/install-contract/constants.js +9 -1
  251. package/vendor/directive-core/dist/install-contract/constants.js.map +1 -1
  252. package/vendor/directive-core/dist/install-contract/data-status.d.ts.map +1 -1
  253. package/vendor/directive-core/dist/install-contract/data-status.js.map +1 -1
  254. package/vendor/directive-core/dist/install-contract/index.d.ts +1 -1
  255. package/vendor/directive-core/dist/install-contract/index.d.ts.map +1 -1
  256. package/vendor/directive-core/dist/install-contract/index.js.map +1 -1
  257. package/vendor/directive-core/dist/install-contract/package-meta.d.ts.map +1 -1
  258. package/vendor/directive-core/dist/install-contract/package-meta.js.map +1 -1
  259. package/vendor/directive-core/dist/install-health/cheap.d.ts.map +1 -1
  260. package/vendor/directive-core/dist/install-health/cheap.js +2 -6
  261. package/vendor/directive-core/dist/install-health/cheap.js.map +1 -1
  262. package/vendor/directive-core/dist/install-health/in-sync.d.ts.map +1 -1
  263. package/vendor/directive-core/dist/install-health/in-sync.js.map +1 -1
  264. package/vendor/directive-core/dist/install-health/index.d.ts +6 -6
  265. package/vendor/directive-core/dist/install-health/index.d.ts.map +1 -1
  266. package/vendor/directive-core/dist/install-health/index.js +3 -3
  267. package/vendor/directive-core/dist/install-health/index.js.map +1 -1
  268. package/vendor/directive-core/dist/install-health/ownership.d.ts.map +1 -1
  269. package/vendor/directive-core/dist/install-health/ownership.js +2 -6
  270. package/vendor/directive-core/dist/install-health/ownership.js.map +1 -1
  271. package/vendor/directive-core/dist/install-health/readers.d.ts.map +1 -1
  272. package/vendor/directive-core/dist/install-health/readers.js.map +1 -1
  273. package/vendor/directive-core/dist/install-health/wiring.d.ts.map +1 -1
  274. package/vendor/directive-core/dist/install-health/wiring.js +2 -3
  275. package/vendor/directive-core/dist/install-health/wiring.js.map +1 -1
  276. package/vendor/directive-core/dist/intent-constraint/evaluate.d.ts +7 -0
  277. package/vendor/directive-core/dist/intent-constraint/evaluate.d.ts.map +1 -1
  278. package/vendor/directive-core/dist/intent-constraint/evaluate.js +26 -5
  279. package/vendor/directive-core/dist/intent-constraint/evaluate.js.map +1 -1
  280. package/vendor/directive-core/dist/intent-constraint/plan-id-adopter.d.ts +76 -0
  281. package/vendor/directive-core/dist/intent-constraint/plan-id-adopter.d.ts.map +1 -0
  282. package/vendor/directive-core/dist/intent-constraint/plan-id-adopter.js +239 -0
  283. package/vendor/directive-core/dist/intent-constraint/plan-id-adopter.js.map +1 -0
  284. package/vendor/directive-core/dist/observable-scope/evaluate.d.ts +7 -0
  285. package/vendor/directive-core/dist/observable-scope/evaluate.d.ts.map +1 -1
  286. package/vendor/directive-core/dist/observable-scope/evaluate.js +51 -7
  287. package/vendor/directive-core/dist/observable-scope/evaluate.js.map +1 -1
  288. package/vendor/directive-core/dist/policy/coverage-mode.d.ts +84 -0
  289. package/vendor/directive-core/dist/policy/coverage-mode.d.ts.map +1 -0
  290. package/vendor/directive-core/dist/policy/coverage-mode.js +226 -0
  291. package/vendor/directive-core/dist/policy/coverage-mode.js.map +1 -0
  292. package/vendor/directive-core/dist/policy/index.d.ts +2 -0
  293. package/vendor/directive-core/dist/policy/index.d.ts.map +1 -1
  294. package/vendor/directive-core/dist/policy/index.js +60 -40
  295. package/vendor/directive-core/dist/policy/index.js.map +1 -1
  296. package/vendor/directive-core/dist/pr-closing-keywords/main.d.ts +2 -0
  297. package/vendor/directive-core/dist/pr-closing-keywords/main.d.ts.map +1 -1
  298. package/vendor/directive-core/dist/pr-closing-keywords/main.js +143 -9
  299. package/vendor/directive-core/dist/pr-closing-keywords/main.js.map +1 -1
  300. package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts +2 -0
  301. package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts.map +1 -1
  302. package/vendor/directive-core/dist/pre-pr-controller/controller.js +109 -14
  303. package/vendor/directive-core/dist/pre-pr-controller/controller.js.map +1 -1
  304. package/vendor/directive-core/dist/pre-pr-controller/evaluate.d.ts +2 -0
  305. package/vendor/directive-core/dist/pre-pr-controller/evaluate.d.ts.map +1 -1
  306. package/vendor/directive-core/dist/pre-pr-controller/evaluate.js +11 -1
  307. package/vendor/directive-core/dist/pre-pr-controller/evaluate.js.map +1 -1
  308. package/vendor/directive-core/dist/pre-pr-controller/index.d.ts +1 -1
  309. package/vendor/directive-core/dist/pre-pr-controller/index.d.ts.map +1 -1
  310. package/vendor/directive-core/dist/pre-pr-controller/index.js +1 -1
  311. package/vendor/directive-core/dist/pre-pr-controller/index.js.map +1 -1
  312. package/vendor/directive-core/dist/pre-pr-controller/phases.d.ts +10 -0
  313. package/vendor/directive-core/dist/pre-pr-controller/phases.d.ts.map +1 -1
  314. package/vendor/directive-core/dist/pre-pr-controller/phases.js +15 -1
  315. package/vendor/directive-core/dist/pre-pr-controller/phases.js.map +1 -1
  316. package/vendor/directive-core/dist/pre-pr-controller/types.d.ts +20 -1
  317. package/vendor/directive-core/dist/pre-pr-controller/types.d.ts.map +1 -1
  318. package/vendor/directive-core/dist/pre-pr-controller/types.js +2 -0
  319. package/vendor/directive-core/dist/pre-pr-controller/types.js.map +1 -1
  320. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts +40 -3
  321. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts.map +1 -1
  322. package/vendor/directive-core/dist/preflight-gh/pre-push.js +340 -27
  323. package/vendor/directive-core/dist/preflight-gh/pre-push.js.map +1 -1
  324. package/vendor/directive-core/dist/release/cli-drift-report.d.ts +4 -4
  325. package/vendor/directive-core/dist/release/cli-drift-report.d.ts.map +1 -1
  326. package/vendor/directive-core/dist/release/cli-drift-report.js +6 -11
  327. package/vendor/directive-core/dist/release/cli-drift-report.js.map +1 -1
  328. package/vendor/directive-core/dist/release-e2e/constants.d.ts +4 -3
  329. package/vendor/directive-core/dist/release-e2e/constants.d.ts.map +1 -1
  330. package/vendor/directive-core/dist/release-e2e/constants.js +4 -3
  331. package/vendor/directive-core/dist/release-e2e/constants.js.map +1 -1
  332. package/vendor/directive-core/dist/release-e2e/greenfield-python-free-smoke.d.ts.map +1 -1
  333. package/vendor/directive-core/dist/release-e2e/greenfield-python-free-smoke.js +87 -28
  334. package/vendor/directive-core/dist/release-e2e/greenfield-python-free-smoke.js.map +1 -1
  335. package/vendor/directive-core/dist/release-e2e/legacy-bridge-leg.d.ts.map +1 -1
  336. package/vendor/directive-core/dist/release-e2e/legacy-bridge-leg.js +13 -2
  337. package/vendor/directive-core/dist/release-e2e/legacy-bridge-leg.js.map +1 -1
  338. package/vendor/directive-core/dist/release-e2e/main.js +1 -1
  339. package/vendor/directive-core/dist/release-e2e/npm-ops.d.ts +11 -5
  340. package/vendor/directive-core/dist/release-e2e/npm-ops.d.ts.map +1 -1
  341. package/vendor/directive-core/dist/release-e2e/npm-ops.js +90 -45
  342. package/vendor/directive-core/dist/release-e2e/npm-ops.js.map +1 -1
  343. package/vendor/directive-core/dist/render/project-render.d.ts.map +1 -1
  344. package/vendor/directive-core/dist/render/project-render.js +1 -0
  345. package/vendor/directive-core/dist/render/project-render.js.map +1 -1
  346. package/vendor/directive-core/dist/resolution/engine-resolve.d.ts.map +1 -1
  347. package/vendor/directive-core/dist/resolution/engine-resolve.js.map +1 -1
  348. package/vendor/directive-core/dist/resolution/pin.d.ts +11 -5
  349. package/vendor/directive-core/dist/resolution/pin.d.ts.map +1 -1
  350. package/vendor/directive-core/dist/resolution/pin.js +20 -11
  351. package/vendor/directive-core/dist/resolution/pin.js.map +1 -1
  352. package/vendor/directive-core/dist/resolution/plan.d.ts.map +1 -1
  353. package/vendor/directive-core/dist/resolution/plan.js +5 -3
  354. package/vendor/directive-core/dist/resolution/plan.js.map +1 -1
  355. package/vendor/directive-core/dist/review-monitor/bounded-pr-watch-deny.d.ts +54 -3
  356. package/vendor/directive-core/dist/review-monitor/bounded-pr-watch-deny.d.ts.map +1 -1
  357. package/vendor/directive-core/dist/review-monitor/bounded-pr-watch-deny.js +142 -0
  358. package/vendor/directive-core/dist/review-monitor/bounded-pr-watch-deny.js.map +1 -1
  359. package/vendor/directive-core/dist/scope/file-scope-coverage-warn.d.ts +21 -0
  360. package/vendor/directive-core/dist/scope/file-scope-coverage-warn.d.ts.map +1 -0
  361. package/vendor/directive-core/dist/scope/file-scope-coverage-warn.js +95 -0
  362. package/vendor/directive-core/dist/scope/file-scope-coverage-warn.js.map +1 -0
  363. package/vendor/directive-core/dist/session/spawn-occupancy.d.ts +7 -0
  364. package/vendor/directive-core/dist/session/spawn-occupancy.d.ts.map +1 -1
  365. package/vendor/directive-core/dist/session/spawn-occupancy.js +28 -0
  366. package/vendor/directive-core/dist/session/spawn-occupancy.js.map +1 -1
  367. package/vendor/directive-core/dist/staleness-tickler/run.d.ts.map +1 -1
  368. package/vendor/directive-core/dist/staleness-tickler/run.js.map +1 -1
  369. package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts +19 -6
  370. package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts.map +1 -1
  371. package/vendor/directive-core/dist/swarm/approach1-babysitter.js +69 -9
  372. package/vendor/directive-core/dist/swarm/approach1-babysitter.js.map +1 -1
  373. package/vendor/directive-core/dist/swarm/dest-place.d.ts +1 -1
  374. package/vendor/directive-core/dist/swarm/dest-place.d.ts.map +1 -1
  375. package/vendor/directive-core/dist/swarm/dest-place.js +1 -1
  376. package/vendor/directive-core/dist/swarm/dest-place.js.map +1 -1
  377. package/vendor/directive-core/dist/swarm/launch-cli.d.ts.map +1 -1
  378. package/vendor/directive-core/dist/swarm/launch-cli.js +12 -0
  379. package/vendor/directive-core/dist/swarm/launch-cli.js.map +1 -1
  380. package/vendor/directive-core/dist/swarm/launch.d.ts +6 -0
  381. package/vendor/directive-core/dist/swarm/launch.d.ts.map +1 -1
  382. package/vendor/directive-core/dist/swarm/launch.js +11 -0
  383. package/vendor/directive-core/dist/swarm/launch.js.map +1 -1
  384. package/vendor/directive-core/dist/swarm/leftover-before-activation.d.ts +27 -0
  385. package/vendor/directive-core/dist/swarm/leftover-before-activation.d.ts.map +1 -0
  386. package/vendor/directive-core/dist/swarm/leftover-before-activation.js +31 -0
  387. package/vendor/directive-core/dist/swarm/leftover-before-activation.js.map +1 -0
  388. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts +5 -0
  389. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts.map +1 -1
  390. package/vendor/directive-core/dist/swarm/worktree-pm-install.js +16 -6
  391. package/vendor/directive-core/dist/swarm/worktree-pm-install.js.map +1 -1
  392. package/vendor/directive-core/dist/swarm/worktrees.d.ts.map +1 -1
  393. package/vendor/directive-core/dist/swarm/worktrees.js.map +1 -1
  394. package/vendor/directive-core/dist/text/redos-safe.d.ts.map +1 -1
  395. package/vendor/directive-core/dist/text/redos-safe.js +2 -1
  396. package/vendor/directive-core/dist/text/redos-safe.js.map +1 -1
  397. package/vendor/directive-core/dist/triage/evaluate/worktrees.d.ts.map +1 -1
  398. package/vendor/directive-core/dist/triage/evaluate/worktrees.js +6 -6
  399. package/vendor/directive-core/dist/triage/evaluate/worktrees.js.map +1 -1
  400. package/vendor/directive-core/dist/vbrief-validate/conformance.d.ts.map +1 -1
  401. package/vendor/directive-core/dist/vbrief-validate/conformance.js +5 -0
  402. package/vendor/directive-core/dist/vbrief-validate/conformance.js.map +1 -1
  403. package/vendor/directive-core/dist/verify-env/agent-hooks-live-probe.js +1 -1
  404. package/vendor/directive-core/dist/verify-env/agent-hooks-live-probe.js.map +1 -1
  405. package/vendor/directive-core/dist/verify-env/verify-hooks-installed.d.ts +3 -3
  406. package/vendor/directive-core/dist/verify-env/verify-hooks-installed.d.ts.map +1 -1
  407. package/vendor/directive-core/dist/verify-env/verify-hooks-installed.js +7 -11
  408. package/vendor/directive-core/dist/verify-env/verify-hooks-installed.js.map +1 -1
  409. package/vendor/directive-core/dist/verify-source/project-definition-mutation-boundary.d.ts.map +1 -1
  410. package/vendor/directive-core/dist/verify-source/project-definition-mutation-boundary.js +1 -0
  411. package/vendor/directive-core/dist/verify-source/project-definition-mutation-boundary.js.map +1 -1
  412. package/vendor/directive-core/dist/xbrief/paths.d.ts.map +1 -1
  413. package/vendor/directive-core/dist/xbrief/paths.js +15 -12
  414. package/vendor/directive-core/dist/xbrief/paths.js.map +1 -1
  415. package/vendor/directive-core/dist/xbrief-migrate/constants.d.ts +7 -0
  416. package/vendor/directive-core/dist/xbrief-migrate/constants.d.ts.map +1 -1
  417. package/vendor/directive-core/dist/xbrief-migrate/constants.js +7 -0
  418. package/vendor/directive-core/dist/xbrief-migrate/constants.js.map +1 -1
  419. package/vendor/directive-core/dist/xbrief-migrate/detect.d.ts +9 -1
  420. package/vendor/directive-core/dist/xbrief-migrate/detect.d.ts.map +1 -1
  421. package/vendor/directive-core/dist/xbrief-migrate/detect.js +14 -7
  422. package/vendor/directive-core/dist/xbrief-migrate/detect.js.map +1 -1
  423. package/vendor/directive-core/dist/xbrief-migrate/migrate-project.d.ts.map +1 -1
  424. package/vendor/directive-core/dist/xbrief-migrate/migrate-project.js +118 -57
  425. package/vendor/directive-core/dist/xbrief-migrate/migrate-project.js.map +1 -1
  426. package/vendor/directive-core/dist/xbrief-migrate/transforms.d.ts.map +1 -1
  427. package/vendor/directive-core/dist/xbrief-migrate/transforms.js +8 -1
  428. package/vendor/directive-core/dist/xbrief-migrate/transforms.js.map +1 -1
  429. package/.githooks/_deft-run.sh +0 -47
  430. package/vendor/directive-content/.githooks/_deft-run.sh +0 -47
@@ -0,0 +1,246 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ /**
5
+ * Thin tip→pin materialize (#5805 Prefer-A Bound P3/P4).
6
+ * Stages + packs via existing scripts, then replaces this checkout's
7
+ * node_modules/@deftai/directive-runtime only. No package.json/lockfile
8
+ * location-spec mutation. Serializes via a lockfile under .deft-scratch.
9
+ */
10
+
11
+ const { spawnSync } = require("node:child_process");
12
+ const fs = require("node:fs");
13
+ const os = require("node:os");
14
+ const path = require("node:path");
15
+
16
+ const PIN_PKG = path.join("node_modules", "@deftai", "directive-runtime");
17
+ const LOCK_REL = path.join(".deft-scratch", "materialize-runtime.lock");
18
+ const OVERLAY_REL = path.join(".deft-scratch", "materialize-runtime-overlay.json");
19
+
20
+ function fail(msg, code = 2) {
21
+ console.error(`materialize:runtime: ${msg}`);
22
+ process.exit(code);
23
+ }
24
+
25
+ function runNode(script, args, opts = {}) {
26
+ const r = spawnSync(process.execPath, [script, ...args], {
27
+ cwd: opts.cwd,
28
+ encoding: "utf8",
29
+ stdio: ["ignore", "pipe", "pipe"],
30
+ env: process.env,
31
+ });
32
+ if (r.status !== 0) {
33
+ const err = new Error(
34
+ `${path.basename(script)} failed (exit ${r.status}): ${r.stderr || r.stdout || ""}`.trim(),
35
+ );
36
+ err.code = r.status || 2;
37
+ throw err;
38
+ }
39
+ return (r.stdout || "").trim();
40
+ }
41
+
42
+ function acquireLock(projectRoot) {
43
+ const lockPath = path.join(projectRoot, LOCK_REL);
44
+ fs.mkdirSync(path.dirname(lockPath), { recursive: true });
45
+ try {
46
+ const fd = fs.openSync(lockPath, "wx");
47
+ fs.writeFileSync(fd, `${process.pid}\n${new Date().toISOString()}\n`);
48
+ fs.closeSync(fd);
49
+ return lockPath;
50
+ } catch (err) {
51
+ if (err && err.code === "EEXIST") {
52
+ const locked = new Error(
53
+ `another materialize is in progress (lock ${lockPath}); reject second writer`,
54
+ );
55
+ locked.code = "EEXIST";
56
+ throw locked;
57
+ }
58
+ throw err;
59
+ }
60
+ }
61
+
62
+ function releaseLock(lockPath) {
63
+ try {
64
+ fs.unlinkSync(lockPath);
65
+ } catch {
66
+ /* ignore */
67
+ }
68
+ }
69
+
70
+ /** True when dir is safe to replace: missing, or a real directory whose realpath is under checkoutRoot. */
71
+ function isCheckoutOwnedDir(dir, checkoutRoot) {
72
+ try {
73
+ const st = fs.lstatSync(dir);
74
+ if (st.isSymbolicLink()) {
75
+ // pnpm pin is often a symlink into the checkout store — allow when realpath stays in-tree.
76
+ if (!checkoutRoot) return false;
77
+ let real;
78
+ try {
79
+ real = fs.realpathSync(dir);
80
+ } catch {
81
+ return false;
82
+ }
83
+ const rootReal = fs.realpathSync(checkoutRoot);
84
+ const rel = path.relative(rootReal, real);
85
+ return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
86
+ }
87
+ if (!st.isDirectory()) return false;
88
+ if (!checkoutRoot) return true;
89
+ let real;
90
+ try {
91
+ real = fs.realpathSync(dir);
92
+ } catch {
93
+ return false;
94
+ }
95
+ const rootReal = fs.realpathSync(checkoutRoot);
96
+ const rel = path.relative(rootReal, real);
97
+ return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
98
+ } catch {
99
+ return true; // missing is fine; we will create
100
+ }
101
+ }
102
+
103
+ function rmrf(target) {
104
+ fs.rmSync(target, { recursive: true, force: true });
105
+ }
106
+
107
+ function movePath(src, dest) {
108
+ try {
109
+ fs.renameSync(src, dest);
110
+ } catch (err) {
111
+ if (err && err.code === "EXDEV") {
112
+ fs.cpSync(src, dest, { recursive: true, force: true });
113
+ rmrf(src);
114
+ return;
115
+ }
116
+ throw err;
117
+ }
118
+ }
119
+
120
+ function materialize(projectRoot, opts = {}) {
121
+ const root = path.resolve(projectRoot);
122
+ const stageScript = path.join(root, "packages", "runtime", "scripts", "stage-bundle.mjs");
123
+ const packScript = path.join(root, "packages", "runtime", "scripts", "pack-staged-runtime.mjs");
124
+ if (!fs.existsSync(stageScript) || !fs.existsSync(packScript)) {
125
+ throw new Error("stage-bundle/pack-staged-runtime scripts missing; run from framework-source checkout");
126
+ }
127
+
128
+ const pinDir = path.join(root, PIN_PKG);
129
+ if (fs.existsSync(pinDir) && !isCheckoutOwnedDir(pinDir, root)) {
130
+ throw new Error(`refusing to mutate linked/shared pin at ${pinDir}`);
131
+ }
132
+
133
+ const lockPath = acquireLock(root);
134
+ const priorPinUsable = fs.existsSync(path.join(pinDir, "dist", "bin.js"));
135
+ let priorBackup = null;
136
+ let stageDir;
137
+ let packDir;
138
+ let extractDir;
139
+ try {
140
+ stageDir = fs.mkdtempSync(path.join(os.tmpdir(), "deft-materialize-stage-"));
141
+ packDir = fs.mkdtempSync(path.join(os.tmpdir(), "deft-materialize-pack-"));
142
+ runNode(stageScript, [stageDir], { cwd: root });
143
+ const tgz = runNode(packScript, [stageDir, packDir], { cwd: root });
144
+ if (!tgz || !fs.existsSync(tgz)) fail(`pack did not emit tgz (got ${JSON.stringify(tgz)})`);
145
+
146
+ extractDir = fs.mkdtempSync(path.join(os.tmpdir(), "deft-materialize-extract-"));
147
+ const tar = spawnSync(
148
+ process.platform === "win32" ? "tar.exe" : "tar",
149
+ ["-xzf", tgz, "-C", extractDir],
150
+ { encoding: "utf8" },
151
+ );
152
+ if (tar.status !== 0) {
153
+ throw Object.assign(new Error(`tar extract failed: ${tar.stderr || tar.stdout || ""}`.trim()), { code: tar.status || 2 });
154
+ }
155
+ const entries = fs.readdirSync(extractDir);
156
+ if (entries.length !== 1) throw new Error(`expected one package folder in tgz, got ${entries.join(",")}`);
157
+ const extracted = path.join(extractDir, entries[0]);
158
+
159
+ const parent = path.dirname(pinDir);
160
+ fs.mkdirSync(parent, { recursive: true });
161
+ const stagingPin = path.join(parent, `.directive-runtime-next-${process.pid}`);
162
+ rmrf(stagingPin);
163
+ movePath(extracted, stagingPin);
164
+ if (!fs.existsSync(path.join(stagingPin, "dist", "bin.js"))) {
165
+ throw new Error("staged pin bin missing before replacement");
166
+ }
167
+ // Keep recoverable backup until replacement succeeds.
168
+ if (fs.existsSync(pinDir)) {
169
+ priorBackup = path.join(parent, `.directive-runtime-prev-${process.pid}`);
170
+ rmrf(priorBackup);
171
+ movePath(pinDir, priorBackup);
172
+ }
173
+ try {
174
+ movePath(stagingPin, pinDir);
175
+ } catch (err) {
176
+ if (priorBackup && fs.existsSync(priorBackup)) {
177
+ try {
178
+ movePath(priorBackup, pinDir);
179
+ priorBackup = null;
180
+ } catch {
181
+ /* best-effort restore */
182
+ }
183
+ }
184
+ throw err;
185
+ }
186
+ if (priorBackup) {
187
+ rmrf(priorBackup);
188
+ priorBackup = null;
189
+ }
190
+
191
+ let head = "unknown";
192
+ try {
193
+ const g = spawnSync("git", ["rev-parse", "HEAD"], { cwd: root, encoding: "utf8" });
194
+ if (g.status === 0) head = g.stdout.trim();
195
+ } catch {
196
+ /* ignore */
197
+ }
198
+ const overlay = {
199
+ schema: "deft.materialize.runtime.overlay.v1",
200
+ writtenAt: new Date().toISOString(),
201
+ projectRoot: root,
202
+ pinPath: pinDir,
203
+ sourceRevision: head,
204
+ tarball: path.basename(tgz),
205
+ note: "Local tip overlay into checkout pin; package.json/lockfile pins unchanged. Normal PM install restores registry pin.",
206
+ };
207
+ fs.writeFileSync(path.join(root, OVERLAY_REL), `${JSON.stringify(overlay, null, 2)}\n`);
208
+ if (!fs.existsSync(path.join(pinDir, "dist", "bin.js"))) {
209
+ throw new Error("materialize completed but pin bin missing");
210
+ }
211
+ process.stdout.write(`materialize:runtime: installed tip into ${pinDir}\n`);
212
+ process.stdout.write(`materialize:runtime: overlay ${path.join(root, OVERLAY_REL)}\n`);
213
+ return overlay;
214
+ } catch (err) {
215
+ if (priorPinUsable) {
216
+ console.error("materialize:runtime: failed after stage/pack; prior pin left in place");
217
+ }
218
+ throw err;
219
+ } finally {
220
+ releaseLock(lockPath);
221
+ if (stageDir) rmrf(stageDir);
222
+ if (packDir) rmrf(packDir);
223
+ if (extractDir) rmrf(extractDir);
224
+ if (priorBackup) rmrf(priorBackup);
225
+ }
226
+ }
227
+
228
+ if (require.main === module) {
229
+ const root = process.argv[2] || process.cwd();
230
+ try {
231
+ materialize(root);
232
+ } catch (err) {
233
+ fail(err && err.message ? err.message : String(err), err && err.code ? Number(err.code) || 2 : 2);
234
+ }
235
+ }
236
+
237
+ module.exports = {
238
+ materialize,
239
+ acquireLock,
240
+ releaseLock,
241
+ isCheckoutOwnedDir,
242
+ movePath,
243
+ PIN_PKG,
244
+ LOCK_REL,
245
+ OVERLAY_REL,
246
+ };
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ const assert = require("node:assert/strict");
5
+ const {
6
+ mkdtempSync,
7
+ mkdirSync,
8
+ writeFileSync,
9
+ symlinkSync,
10
+ rmSync,
11
+ existsSync,
12
+ readFileSync,
13
+ } = require("node:fs");
14
+ const { tmpdir } = require("node:os");
15
+ const { join } = require("node:path");
16
+ const { describe, it, after } = require("node:test");
17
+ const {
18
+ acquireLock,
19
+ releaseLock,
20
+ isCheckoutOwnedDir,
21
+ movePath,
22
+ materialize,
23
+ LOCK_REL,
24
+ } = require("./materialize.cjs");
25
+
26
+ const roots = [];
27
+ function tempRoot() {
28
+ const root = mkdtempSync(join(tmpdir(), "mat-test-"));
29
+ roots.push(root);
30
+ return root;
31
+ }
32
+ after(() => {
33
+ for (const root of roots) {
34
+ try {
35
+ rmSync(root, { recursive: true, force: true });
36
+ } catch {
37
+ /* ignore */
38
+ }
39
+ }
40
+ });
41
+
42
+ describe("materialize isolation (#5805 P4)", () => {
43
+ it("acquireLock rejects a second writer", () => {
44
+ const root = tempRoot();
45
+ const lock = acquireLock(root);
46
+ assert.ok(existsSync(join(root, LOCK_REL)));
47
+ assert.throws(() => acquireLock(root), /another materialize|second writer|EEXIST|in progress/i);
48
+ releaseLock(lock);
49
+ });
50
+
51
+ it("isCheckoutOwnedDir is false for a symlink outside the checkout", () => {
52
+ const root = tempRoot();
53
+ const outside = tempRoot();
54
+ const real = join(outside, "real-pkg");
55
+ const link = join(root, "linked-pkg");
56
+ mkdirSync(real, { recursive: true });
57
+ try {
58
+ symlinkSync(real, link, "junction");
59
+ } catch {
60
+ return;
61
+ }
62
+ assert.equal(isCheckoutOwnedDir(link, root), false);
63
+ assert.equal(isCheckoutOwnedDir(real, outside), true);
64
+ });
65
+
66
+ it("isCheckoutOwnedDir allows in-tree symlink (pnpm-style)", () => {
67
+ const root = tempRoot();
68
+ const store = join(root, ".pnpm", "pkg");
69
+ const link = join(root, "node_modules", "@deftai", "directive-runtime");
70
+ mkdirSync(store, { recursive: true });
71
+ mkdirSync(join(root, "node_modules", "@deftai"), { recursive: true });
72
+ try {
73
+ symlinkSync(store, link, "junction");
74
+ } catch {
75
+ return;
76
+ }
77
+ assert.equal(isCheckoutOwnedDir(link, root), true);
78
+ });
79
+
80
+ it("missing destination is treated as checkout-owned (creatable)", () => {
81
+ const root = tempRoot();
82
+ assert.equal(isCheckoutOwnedDir(join(root, "missing"), root), true);
83
+ });
84
+
85
+ it("movePath falls back when rename would need copy semantics", () => {
86
+ const root = tempRoot();
87
+ const src = join(root, "src-dir");
88
+ const dest = join(root, "dest-dir");
89
+ mkdirSync(src, { recursive: true });
90
+ writeFileSync(join(src, "f.txt"), "ok");
91
+ movePath(src, dest);
92
+ assert.equal(readFileSync(join(dest, "f.txt"), "utf8"), "ok");
93
+ assert.equal(existsSync(src), false);
94
+ });
95
+
96
+ it("failed materialize releases the lock so retries can proceed", () => {
97
+ const root = tempRoot();
98
+ assert.throws(() => materialize(root), /stage-bundle|pack-staged|missing/i);
99
+ assert.equal(existsSync(join(root, LOCK_REL)), false);
100
+ const lock = acquireLock(root);
101
+ releaseLock(lock);
102
+ });
103
+ });
@@ -0,0 +1,13 @@
1
+ version: "3"
2
+
3
+ vars:
4
+ DEFT_ROOT: '{{joinPath .TASKFILE_DIR ".."}}'
5
+
6
+ tasks:
7
+ runtime:
8
+ desc: "Build tip staged-runtime and replace this checkout node_modules/@deftai/directive-runtime only (#5805). No lockfile/location-spec mutation."
9
+ dir: "{{.USER_WORKING_DIR}}"
10
+ deps:
11
+ - task: :engine:_ts-build
12
+ cmds:
13
+ - node "{{.TASKFILE_DIR}}/materialize.cjs" "{{.USER_WORKING_DIR}}"
@@ -15,8 +15,6 @@ tasks:
15
15
  # run the in-product migrator (retired from current npm deposits).
16
16
  desc: "Detect pre-v0.20 document model and report the frozen-release migration path (#2068). Three-state exit (#793)."
17
17
  dir: '{{.USER_WORKING_DIR}}'
18
- deps:
19
- - task: :engine:_ts-build
20
18
  cmds:
21
19
  - task: :engine:invoke
22
20
  vars:
@@ -27,8 +25,6 @@ tasks:
27
25
  # v0.59.0 tag only — current deposits must not ship that target.
28
26
  desc: "Migrate consumer vbrief/ layout to xbrief/ with semantic v0.6->v0.8 transforms (#2110 / #2034). Hop 2 of the frozen two-hop path (#4092)."
29
27
  dir: '{{.USER_WORKING_DIR}}'
30
- deps:
31
- - task: :engine:_ts-build
32
28
  cmds:
33
29
  - task: :engine:invoke
34
30
  vars:
@@ -37,8 +33,6 @@ tasks:
37
33
  category-b:
38
34
  desc: "Namespace Category B bare plan keys (policy / completedNote) under x-directive/ across the corpus (#1650 / #2034)."
39
35
  dir: '{{.USER_WORKING_DIR}}'
40
- deps:
41
- - task: :engine:_ts-build
42
36
  cmds:
43
37
  - task: :engine:invoke
44
38
  vars:
@@ -30,8 +30,6 @@ tasks:
30
30
  slice:
31
31
  desc: "Named, structured slice access to a content pack (#1283, #1295). -- task packs:slice <pack> <name> [-- --since YYYY-MM | --tag T | --trigger KW] [--list] [--list-packs] [--json]"
32
32
  dir: '{{.USER_WORKING_DIR}}'
33
- deps:
34
- - task: ":engine:_ts-build"
35
33
  cmds:
36
34
  - task: :engine:invoke
37
35
  vars:
@@ -40,8 +38,6 @@ tasks:
40
38
  render:
41
39
  desc: "Regenerate every content-pack projection from its canonical source (ADR-001): meta/lessons.md (lessons), the proof SKILL.md (skills), coding/testing.md (rules), strategies/yolo.md (strategies). -- task packs:render [-- --pack rules] [--check]"
42
40
  dir: '{{.USER_WORKING_DIR}}'
43
- deps:
44
- - task: ":engine:_ts-build"
45
41
  cmds:
46
42
  - task: :engine:invoke
47
43
  vars:
@@ -50,8 +46,6 @@ tasks:
50
46
  render-skills:
51
47
  desc: "One-shot migration: rebuild packs/skills/skills-pack-0.1.json from skills/*/SKILL.md + the AGENTS.md Skill Routing table (#1295)."
52
48
  dir: '{{.USER_WORKING_DIR}}'
53
- deps:
54
- - task: ":engine:_ts-build"
55
49
  cmds:
56
50
  - task: :engine:invoke
57
51
  vars:
@@ -60,8 +54,6 @@ tasks:
60
54
  render-rules:
61
55
  desc: "One-shot migration: rebuild packs/rules/rules-pack-0.1.json from the RFC2119 directives in coding/*.md (#1296)."
62
56
  dir: '{{.USER_WORKING_DIR}}'
63
- deps:
64
- - task: ":engine:_ts-build"
65
57
  cmds:
66
58
  - task: :engine:invoke
67
59
  vars:
@@ -70,8 +62,6 @@ tasks:
70
62
  render-strategies:
71
63
  desc: "One-shot migration: rebuild packs/strategies/strategies-pack-0.1.json from strategies/*.md (#1296)."
72
64
  dir: '{{.USER_WORKING_DIR}}'
73
- deps:
74
- - task: ":engine:_ts-build"
75
65
  cmds:
76
66
  - task: :engine:invoke
77
67
  vars:
@@ -80,8 +70,6 @@ tasks:
80
70
  render-patterns:
81
71
  desc: "One-shot migration: rebuild packs/patterns/patterns-pack-0.1.json from patterns/*.md (#1637)."
82
72
  dir: '{{.USER_WORKING_DIR}}'
83
- deps:
84
- - task: ":engine:_ts-build"
85
73
  cmds:
86
74
  - task: :engine:invoke
87
75
  vars:
@@ -90,8 +78,6 @@ tasks:
90
78
  render-swarm-spec:
91
79
  desc: "One-shot migration: rebuild packs/swarm-spec/swarm-spec-pack-0.1.json from swarm/*.md (#1637)."
92
80
  dir: '{{.USER_WORKING_DIR}}'
93
- deps:
94
- - task: ":engine:_ts-build"
95
81
  cmds:
96
82
  - task: :engine:invoke
97
83
  vars:
@@ -100,8 +86,6 @@ tasks:
100
86
  verify-drift:
101
87
  desc: "Drift gate: fail (exit 1) when ANY pack projection (meta/lessons.md, the skills proof SKILL.md, coding/testing.md, strategies/yolo.md) diverges from a freshly rendered buffer. Wired into `task check` and surfaced as `task verify:pack-drift`."
102
88
  dir: '{{.USER_WORKING_DIR}}'
103
- deps:
104
- - task: ":engine:_ts-build"
105
89
  cmds:
106
90
  - task: :engine:invoke
107
91
  vars:
@@ -9,8 +9,6 @@ tasks:
9
9
  set:
10
10
  desc: "Set the active ordered-plan sequence from --file JSON (#2402)"
11
11
  dir: '{{.USER_WORKING_DIR}}'
12
- deps:
13
- - task: :engine:_ts-build
14
12
  cmds:
15
13
  - task: :engine:invoke
16
14
  vars:
@@ -19,8 +17,6 @@ tasks:
19
17
  current:
20
18
  desc: "Show the current ordered-plan entry (#2402)"
21
19
  dir: '{{.USER_WORKING_DIR}}'
22
- deps:
23
- - task: :engine:_ts-build
24
20
  cmds:
25
21
  - task: :engine:invoke
26
22
  vars:
@@ -29,8 +25,6 @@ tasks:
29
25
  clear:
30
26
  desc: "Clear the active ordered-plan sequence (#2402)"
31
27
  dir: '{{.USER_WORKING_DIR}}'
32
- deps:
33
- - task: :engine:_ts-build
34
28
  cmds:
35
29
  - task: :engine:invoke
36
30
  vars:
@@ -39,8 +33,6 @@ tasks:
39
33
  advance:
40
34
  desc: "Mark current entry complete and advance the ordered-plan index (#2402)"
41
35
  dir: '{{.USER_WORKING_DIR}}'
42
- deps:
43
- - task: :engine:_ts-build
44
36
  cmds:
45
37
  - task: :engine:invoke
46
38
  vars:
@@ -25,8 +25,6 @@ tasks:
25
25
  # retired `python -m scripts.policy` launcher is gone.
26
26
  desc: "Inspect every registered typed-policy field on vbrief/PROJECT-DEFINITION.vbrief.json (#1148 / N8). -- task policy:show [-- --format=json] [--changed-only] [--field=<name>]"
27
27
  dir: '{{.USER_WORKING_DIR}}'
28
- deps:
29
- - task: :engine:_ts-build
30
28
  cmds:
31
29
  - task: :engine:invoke
32
30
  vars:
@@ -35,8 +33,6 @@ tasks:
35
33
  enforce-branches:
36
34
  desc: "Set plan.policy.allowDirectCommitsToMaster=false (enforce feature branches). Audits to meta/policy-changes.log. (#746)"
37
35
  dir: '{{.USER_WORKING_DIR}}'
38
- deps:
39
- - task: :engine:_ts-build
40
36
  cmds:
41
37
  - task: :engine:invoke
42
38
  vars:
@@ -45,8 +41,6 @@ tasks:
45
41
  allow-direct-commits:
46
42
  desc: "Set plan.policy.allowDirectCommitsToMaster=true (capability-cost: branch-protection OFF). Requires --confirm to apply. (#746)"
47
43
  dir: '{{.USER_WORKING_DIR}}'
48
- deps:
49
- - task: :engine:_ts-build
50
44
  cmds:
51
45
  - task: :engine:invoke
52
46
  vars:
@@ -55,8 +49,6 @@ tasks:
55
49
  allow-destructive-gh-verbs:
56
50
  desc: "Set plan.policy.allowDestructiveGhVerbs=true (capability-cost: #1019 preflight-gh OFF). Requires --confirm to apply. (#4384)"
57
51
  dir: '{{.USER_WORKING_DIR}}'
58
- deps:
59
- - task: :engine:_ts-build
60
52
  cmds:
61
53
  - task: :engine:invoke
62
54
  vars:
@@ -65,8 +57,6 @@ tasks:
65
57
  enforce-destructive-gh-verbs:
66
58
  desc: "Set plan.policy.allowDestructiveGhVerbs=false (enforce #1019 preflight-gh). Audits to meta/policy-changes.log. (#4384)"
67
59
  dir: '{{.USER_WORKING_DIR}}'
68
- deps:
69
- - task: :engine:_ts-build
70
60
  cmds:
71
61
  - task: :engine:invoke
72
62
  vars:
@@ -75,8 +65,6 @@ tasks:
75
65
  enable-value-feedback:
76
66
  desc: "Opt in to value-feedback surfaces (#1709). Requires --confirm after the capability-cost disclosure prints. -- task policy:enable-value-feedback -- [--confirm] [--json]"
77
67
  dir: '{{.USER_WORKING_DIR}}'
78
- deps:
79
- - task: :engine:_ts-build
80
68
  cmds:
81
69
  - task: :engine:invoke
82
70
  vars:
@@ -85,8 +73,6 @@ tasks:
85
73
  disable-host-hooks:
86
74
  desc: "Disable plan.policy.hostHooks.<host> (capability-cost: deft-hook guardrails removed; tracked). Requires --host and --confirm. -- task policy:disable-host-hooks -- --host <claude|cursor|grok|codex> --confirm"
87
75
  dir: '{{.USER_WORKING_DIR}}'
88
- deps:
89
- - task: :engine:_ts-build
90
76
  cmds:
91
77
  - task: :engine:invoke
92
78
  vars:
@@ -95,8 +81,6 @@ tasks:
95
81
  clear-value-feedback:
96
82
  desc: "Remove typed plan.policy.valueFeedback so trusted-org repos return to org-auto resolution (#2822). -- task policy:clear-value-feedback"
97
83
  dir: '{{.USER_WORKING_DIR}}'
98
- deps:
99
- - task: :engine:_ts-build
100
84
  cmds:
101
85
  - task: :engine:invoke
102
86
  vars:
@@ -105,8 +89,6 @@ tasks:
105
89
  set-spec-guard-enforcement:
106
90
  desc: "Promote plan.policy.specGuard.driftGuard.enforcement advise|shadow|enforce (#5350). Requires --set and --confirm. Refuse advise→enforce skip without shadow attestation. -- task policy:set-spec-guard-enforcement -- --set shadow|enforce --confirm"
107
91
  dir: '{{.USER_WORKING_DIR}}'
108
- deps:
109
- - task: :engine:_ts-build
110
92
  cmds:
111
93
  - task: :engine:invoke
112
94
  vars:
@@ -115,8 +97,6 @@ tasks:
115
97
  wip-cap:
116
98
  desc: "Set plan.policy.wipCap=N (#1124 / D4 of #1119). Requires --set N --confirm. Default cap is 20 (#2319; raised from the original 10 per umbrella #1119 Current Shape v3)."
117
99
  dir: '{{.USER_WORKING_DIR}}'
118
- deps:
119
- - task: :engine:_ts-build
120
100
  cmds:
121
101
  - task: :engine:invoke
122
102
  vars:
@@ -125,8 +105,6 @@ tasks:
125
105
  subagent-backend:
126
106
  desc: "DEPRECATED (superseded by `task swarm:routing-set`, #1739). Was: Set plan.policy.swarmSubagentBackend (#1531a). -- task policy:subagent-backend -- --set composer|grok-build|cursor-cloud"
127
107
  dir: '{{.USER_WORKING_DIR}}'
128
- deps:
129
- - task: :engine:_ts-build
130
108
  cmds:
131
109
  - cmd: echo "[deft deprecation] task policy:subagent-backend is superseded by 'task swarm:routing-set' (#1739). The swarmSubagentBackend enum is no longer the active routing surface." 1>&2
132
110
  silent: true
@@ -137,8 +115,6 @@ tasks:
137
115
  subagent-backends:
138
116
  desc: "DEPRECATED (superseded by `task swarm:routing-set` / `task verify:routing`, #1739). Was: Probe sub-agent backend ids, role capabilities, and availability (#1531a). -- task policy:subagent-backends [-- --format=json]"
139
117
  dir: '{{.USER_WORKING_DIR}}'
140
- deps:
141
- - task: :engine:_ts-build
142
118
  cmds:
143
119
  - cmd: echo "[deft deprecation] task policy:subagent-backends is superseded by 'task verify:routing -- --advise' and 'task swarm:routing-set' (#1739). The swarmSubagentBackend enum is no longer the active routing surface." 1>&2
144
120
  silent: true
@@ -21,7 +21,6 @@ vars:
21
21
  tasks:
22
22
  check-protected-issues:
23
23
  desc: "Verify NO protected (umbrella / staying-OPEN) issue is GitHub-side linked to a PR before squash merge (#701)"
24
- deps: [":engine:_ts-build"]
25
24
  dir: '{{.USER_WORKING_DIR}}'
26
25
  cmds:
27
26
  - task: :engine:invoke
@@ -40,7 +39,6 @@ tasks:
40
39
  check-closing-keywords:
41
40
  desc: "Scan PR body + commits for closing-keyword FP contexts (#737) and unallowlisted real closes / intent mode (#3015 class D). Default --mode both."
42
41
  dir: '{{.USER_WORKING_DIR}}'
43
- deps: [":engine:_ts-build"]
44
42
  env:
45
43
  PYTHONUTF8: "1"
46
44
  cmds:
@@ -59,7 +57,6 @@ tasks:
59
57
  # Companion test: tests/cli/test_pr_merge_readiness.py
60
58
  merge-ready:
61
59
  desc: "Verify a PR's Greptile review body satisfies the merge exit condition (confidence >3, no P0/P1, HEAD-SHA fresh, not errored)"
62
- deps: [":engine:_ts-build"]
63
60
  dir: '{{.USER_WORKING_DIR}}'
64
61
  cmds:
65
62
  - task: :engine:invoke
@@ -88,7 +85,6 @@ tasks:
88
85
  # Companion test: tests/cli/test_pr_wait_mergeable.py
89
86
  wait-mergeable-and-merge:
90
87
  desc: "Wait until PR is mergeable (resilient cascade, #1368) and squash-merge with admin (#1369); Layer-3 protected-issue check (#701) chains before any merge call"
91
- deps: [":engine:_ts-build"]
92
88
  dir: '{{.USER_WORKING_DIR}}'
93
89
  cmds:
94
90
  - task: :engine:invoke
@@ -117,7 +113,6 @@ tasks:
117
113
  # Companion tests: packages/core/src/pr-watch/*.test.ts
118
114
  watch:
119
115
  desc: "Blocking poll of a PR to a terminal three-state verdict (0 CLEAN / 1 NEW_P0_P1 / 2 ERRORED|STALL|TIMEOUT|config); --one-shot for a single probe (#1056)"
120
- deps: [":engine:_ts-build"]
121
116
  dir: '{{.USER_WORKING_DIR}}'
122
117
  cmds:
123
118
  - task: :engine:invoke
@@ -133,7 +128,6 @@ tasks:
133
128
  # Contract: content/contracts/finish-loop.md
134
129
  finish-loop:
135
130
  desc: "Walk-away PR finish loop: grant gate + pr:watch until CLEAN; exit 1 address / human-merge; exit 2 BLOCKED without grant (#871)"
136
- deps: [":engine:_ts-build"]
137
131
  dir: '{{.USER_WORKING_DIR}}'
138
132
  cmds:
139
133
  - task: :engine:invoke
@@ -27,8 +27,6 @@ tasks:
27
27
  stakeholder-safe narratives into a human-readable PRD.md. Explicit --spec remains
28
28
  supported. PRD.md is never authoritative -- the resolved xBRIEF is the source of truth.
29
29
  dir: '{{.USER_WORKING_DIR}}'
30
- deps:
31
- - task: :engine:_ts-build
32
30
  cmds:
33
31
  - task: :engine:invoke
34
32
  vars: