@deftai/directive-runtime 0.129.4 → 0.129.6

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 (303) hide show
  1. package/Taskfile.yml +235 -0
  2. package/UPGRADING.md +1 -0
  3. package/contracts/design-critique.md +1 -1
  4. package/contracts/path-write-fence.md +6 -0
  5. package/dist/applying-host-release.d.ts +16 -0
  6. package/dist/applying-host-release.js +98 -0
  7. package/dist/authz.d.ts +1 -1
  8. package/dist/authz.js +1 -1
  9. package/dist/check.d.ts +1 -0
  10. package/dist/check.js +27 -4
  11. package/dist/design-critique-ensure-arc-dest.d.ts +16 -0
  12. package/dist/design-critique-ensure-arc-dest.js +168 -0
  13. package/dist/dispatch.d.ts +1 -1
  14. package/dist/dispatch.js +8 -0
  15. package/dist/hook-dispatch.js +11 -5
  16. package/dist/human-presence-mint.d.ts +6 -1
  17. package/dist/human-presence-mint.js +20 -6
  18. package/dist/pre-pr-run.d.ts +7 -1
  19. package/dist/pre-pr-run.js +25 -1
  20. package/dist/session-start.js +40 -6
  21. package/dist/setup-wiring.d.ts +36 -0
  22. package/dist/setup-wiring.js +169 -14
  23. package/dist/verify-ac.d.ts +7 -2
  24. package/dist/verify-ac.js +13 -5
  25. package/dist/verify-source-cli/verify-deposit-closure.js +5 -5
  26. package/dist/windows-bin-ps1.d.ts +2 -2
  27. package/dist/windows-bin-ps1.js +5 -11
  28. package/docs/deft-directive-disable.md +3 -3
  29. package/docs/scope-provenance.md +4 -0
  30. package/package.json +2 -3
  31. package/packs/lessons/lessons-pack-0.1.json +15 -0
  32. package/packs/skills/skills-pack-0.1.json +2 -2
  33. package/skills/deft-directive-design-critique/SKILL.md +1 -1
  34. package/skills/deft-directive-release/SKILL.md +54 -1
  35. package/tasks/materialize.cjs +106 -5
  36. package/tasks/materialize.test.cjs +108 -0
  37. package/tasks/materialize.yml +14 -2
  38. package/vendor/directive-content/Taskfile.yml +235 -0
  39. package/vendor/directive-content/UPGRADING.md +1 -0
  40. package/vendor/directive-content/contracts/design-critique.md +1 -1
  41. package/vendor/directive-content/contracts/path-write-fence.md +6 -0
  42. package/vendor/directive-content/docs/deft-directive-disable.md +3 -3
  43. package/vendor/directive-content/docs/scope-provenance.md +4 -0
  44. package/vendor/directive-content/packs/lessons/lessons-pack-0.1.json +15 -0
  45. package/vendor/directive-content/packs/skills/skills-pack-0.1.json +2 -2
  46. package/vendor/directive-content/skills/deft-directive-design-critique/SKILL.md +1 -1
  47. package/vendor/directive-content/skills/deft-directive-release/SKILL.md +54 -1
  48. package/vendor/directive-content/tasks/materialize.cjs +106 -5
  49. package/vendor/directive-content/tasks/materialize.test.cjs +108 -0
  50. package/vendor/directive-content/tasks/materialize.yml +14 -2
  51. package/vendor/directive-core/dist/.tsbuildinfo +1 -1
  52. package/vendor/directive-core/dist/authz/classify.d.ts +18 -0
  53. package/vendor/directive-core/dist/authz/classify.d.ts.map +1 -1
  54. package/vendor/directive-core/dist/authz/classify.js +196 -14
  55. package/vendor/directive-core/dist/authz/classify.js.map +1 -1
  56. package/vendor/directive-core/dist/authz/evaluate.d.ts +5 -0
  57. package/vendor/directive-core/dist/authz/evaluate.d.ts.map +1 -1
  58. package/vendor/directive-core/dist/authz/evaluate.js +15 -5
  59. package/vendor/directive-core/dist/authz/evaluate.js.map +1 -1
  60. package/vendor/directive-core/dist/authz/templates.d.ts +2 -2
  61. package/vendor/directive-core/dist/authz/templates.d.ts.map +1 -1
  62. package/vendor/directive-core/dist/authz/templates.js +1 -0
  63. package/vendor/directive-core/dist/authz/templates.js.map +1 -1
  64. package/vendor/directive-core/dist/authz/types.d.ts +1 -1
  65. package/vendor/directive-core/dist/authz/types.d.ts.map +1 -1
  66. package/vendor/directive-core/dist/authz/types.js +2 -0
  67. package/vendor/directive-core/dist/authz/types.js.map +1 -1
  68. package/vendor/directive-core/dist/authz/verb-classification.d.ts.map +1 -1
  69. package/vendor/directive-core/dist/authz/verb-classification.js +30 -3
  70. package/vendor/directive-core/dist/authz/verb-classification.js.map +1 -1
  71. package/vendor/directive-core/dist/cache/fetch.d.ts.map +1 -1
  72. package/vendor/directive-core/dist/cache/fetch.js +50 -4
  73. package/vendor/directive-core/dist/cache/fetch.js.map +1 -1
  74. package/vendor/directive-core/dist/check/cached-orchestrator.d.ts.map +1 -1
  75. package/vendor/directive-core/dist/check/cached-orchestrator.js +101 -2
  76. package/vendor/directive-core/dist/check/cached-orchestrator.js.map +1 -1
  77. package/vendor/directive-core/dist/check/context.d.ts +199 -0
  78. package/vendor/directive-core/dist/check/context.d.ts.map +1 -1
  79. package/vendor/directive-core/dist/check/context.js +417 -2
  80. package/vendor/directive-core/dist/check/context.js.map +1 -1
  81. package/vendor/directive-core/dist/check/gate-lists.d.ts +42 -0
  82. package/vendor/directive-core/dist/check/gate-lists.d.ts.map +1 -1
  83. package/vendor/directive-core/dist/check/gate-lists.js +226 -0
  84. package/vendor/directive-core/dist/check/gate-lists.js.map +1 -1
  85. package/vendor/directive-core/dist/check/index.d.ts +1 -0
  86. package/vendor/directive-core/dist/check/index.d.ts.map +1 -1
  87. package/vendor/directive-core/dist/check/index.js +1 -0
  88. package/vendor/directive-core/dist/check/index.js.map +1 -1
  89. package/vendor/directive-core/dist/check/named-cause.d.ts.map +1 -1
  90. package/vendor/directive-core/dist/check/named-cause.js +1 -0
  91. package/vendor/directive-core/dist/check/named-cause.js.map +1 -1
  92. package/vendor/directive-core/dist/check/orchestrator.d.ts +1 -0
  93. package/vendor/directive-core/dist/check/orchestrator.d.ts.map +1 -1
  94. package/vendor/directive-core/dist/check/orchestrator.js +69 -4
  95. package/vendor/directive-core/dist/check/orchestrator.js.map +1 -1
  96. package/vendor/directive-core/dist/design-critique/arc-dest.d.ts +22 -5
  97. package/vendor/directive-core/dist/design-critique/arc-dest.d.ts.map +1 -1
  98. package/vendor/directive-core/dist/design-critique/arc-dest.js +61 -0
  99. package/vendor/directive-core/dist/design-critique/arc-dest.js.map +1 -1
  100. package/vendor/directive-core/dist/design-critique/run-posture.d.ts +7 -2
  101. package/vendor/directive-core/dist/design-critique/run-posture.d.ts.map +1 -1
  102. package/vendor/directive-core/dist/design-critique/run-posture.js +6 -1
  103. package/vendor/directive-core/dist/design-critique/run-posture.js.map +1 -1
  104. package/vendor/directive-core/dist/finish-loop/pr-finish-loop.d.ts +7 -0
  105. package/vendor/directive-core/dist/finish-loop/pr-finish-loop.d.ts.map +1 -1
  106. package/vendor/directive-core/dist/finish-loop/pr-finish-loop.js +42 -0
  107. package/vendor/directive-core/dist/finish-loop/pr-finish-loop.js.map +1 -1
  108. package/vendor/directive-core/dist/hooks/classify/host-session-identity.d.ts +15 -2
  109. package/vendor/directive-core/dist/hooks/classify/host-session-identity.d.ts.map +1 -1
  110. package/vendor/directive-core/dist/hooks/classify/host-session-identity.js +46 -5
  111. package/vendor/directive-core/dist/hooks/classify/host-session-identity.js.map +1 -1
  112. package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
  113. package/vendor/directive-core/dist/hooks/dispatcher.js +235 -22
  114. package/vendor/directive-core/dist/hooks/dispatcher.js.map +1 -1
  115. package/vendor/directive-core/dist/hooks/scope.d.ts +38 -9
  116. package/vendor/directive-core/dist/hooks/scope.d.ts.map +1 -1
  117. package/vendor/directive-core/dist/hooks/scope.js +102 -16
  118. package/vendor/directive-core/dist/hooks/scope.js.map +1 -1
  119. package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts +5 -0
  120. package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts.map +1 -1
  121. package/vendor/directive-core/dist/hooks/shell-write-targets.js +18 -1
  122. package/vendor/directive-core/dist/hooks/shell-write-targets.js.map +1 -1
  123. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +5 -0
  124. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts.map +1 -1
  125. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js +22 -9
  126. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js.map +1 -1
  127. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts +8 -1
  128. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts.map +1 -1
  129. package/vendor/directive-core/dist/init-deposit/scaffold.js +38 -4
  130. package/vendor/directive-core/dist/init-deposit/scaffold.js.map +1 -1
  131. package/vendor/directive-core/dist/install-health/cheap.d.ts +13 -1
  132. package/vendor/directive-core/dist/install-health/cheap.d.ts.map +1 -1
  133. package/vendor/directive-core/dist/install-health/cheap.js +39 -4
  134. package/vendor/directive-core/dist/install-health/cheap.js.map +1 -1
  135. package/vendor/directive-core/dist/install-health/constants.d.ts +18 -2
  136. package/vendor/directive-core/dist/install-health/constants.d.ts.map +1 -1
  137. package/vendor/directive-core/dist/install-health/constants.js +18 -2
  138. package/vendor/directive-core/dist/install-health/constants.js.map +1 -1
  139. package/vendor/directive-core/dist/install-health/index.d.ts +1 -1
  140. package/vendor/directive-core/dist/install-health/index.d.ts.map +1 -1
  141. package/vendor/directive-core/dist/install-health/index.js +1 -1
  142. package/vendor/directive-core/dist/install-health/index.js.map +1 -1
  143. package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts +42 -5
  144. package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts.map +1 -1
  145. package/vendor/directive-core/dist/policy/deft-directive-disable.js +71 -41
  146. package/vendor/directive-core/dist/policy/deft-directive-disable.js.map +1 -1
  147. package/vendor/directive-core/dist/policy/write-fence.d.ts +7 -0
  148. package/vendor/directive-core/dist/policy/write-fence.d.ts.map +1 -1
  149. package/vendor/directive-core/dist/policy/write-fence.js +81 -14
  150. package/vendor/directive-core/dist/policy/write-fence.js.map +1 -1
  151. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts +6 -1
  152. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts.map +1 -1
  153. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js +24 -12
  154. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js.map +1 -1
  155. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts +68 -14
  156. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts.map +1 -1
  157. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js +278 -47
  158. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js.map +1 -1
  159. package/vendor/directive-core/dist/pr-closing-keywords/main.d.ts +19 -0
  160. package/vendor/directive-core/dist/pr-closing-keywords/main.d.ts.map +1 -1
  161. package/vendor/directive-core/dist/pr-closing-keywords/main.js +31 -16
  162. package/vendor/directive-core/dist/pr-closing-keywords/main.js.map +1 -1
  163. package/vendor/directive-core/dist/pr-merge-readiness/compute.d.ts +8 -0
  164. package/vendor/directive-core/dist/pr-merge-readiness/compute.d.ts.map +1 -1
  165. package/vendor/directive-core/dist/pr-merge-readiness/compute.js +54 -2
  166. package/vendor/directive-core/dist/pr-merge-readiness/compute.js.map +1 -1
  167. package/vendor/directive-core/dist/pr-merge-readiness/gh.d.ts +7 -0
  168. package/vendor/directive-core/dist/pr-merge-readiness/gh.d.ts.map +1 -1
  169. package/vendor/directive-core/dist/pr-merge-readiness/gh.js +180 -49
  170. package/vendor/directive-core/dist/pr-merge-readiness/gh.js.map +1 -1
  171. package/vendor/directive-core/dist/pr-merge-readiness/main.d.ts +2 -0
  172. package/vendor/directive-core/dist/pr-merge-readiness/main.d.ts.map +1 -1
  173. package/vendor/directive-core/dist/pr-merge-readiness/main.js +1 -0
  174. package/vendor/directive-core/dist/pr-merge-readiness/main.js.map +1 -1
  175. package/vendor/directive-core/dist/pr-monitor/monitor.d.ts.map +1 -1
  176. package/vendor/directive-core/dist/pr-monitor/monitor.js +1 -0
  177. package/vendor/directive-core/dist/pr-monitor/monitor.js.map +1 -1
  178. package/vendor/directive-core/dist/pr-monitor/readiness.d.ts.map +1 -1
  179. package/vendor/directive-core/dist/pr-monitor/readiness.js +1 -0
  180. package/vendor/directive-core/dist/pr-monitor/readiness.js.map +1 -1
  181. package/vendor/directive-core/dist/pr-monitor/types.d.ts +2 -0
  182. package/vendor/directive-core/dist/pr-monitor/types.d.ts.map +1 -1
  183. package/vendor/directive-core/dist/pr-wait-mergeable/cascade.d.ts +6 -0
  184. package/vendor/directive-core/dist/pr-wait-mergeable/cascade.d.ts.map +1 -1
  185. package/vendor/directive-core/dist/pr-wait-mergeable/cascade.js +27 -0
  186. package/vendor/directive-core/dist/pr-wait-mergeable/cascade.js.map +1 -1
  187. package/vendor/directive-core/dist/pr-wait-mergeable/constants.d.ts +15 -0
  188. package/vendor/directive-core/dist/pr-wait-mergeable/constants.d.ts.map +1 -1
  189. package/vendor/directive-core/dist/pr-wait-mergeable/constants.js +18 -0
  190. package/vendor/directive-core/dist/pr-wait-mergeable/constants.js.map +1 -1
  191. package/vendor/directive-core/dist/pr-wait-mergeable/index.d.ts +2 -1
  192. package/vendor/directive-core/dist/pr-wait-mergeable/index.d.ts.map +1 -1
  193. package/vendor/directive-core/dist/pr-wait-mergeable/index.js +2 -1
  194. package/vendor/directive-core/dist/pr-wait-mergeable/index.js.map +1 -1
  195. package/vendor/directive-core/dist/pr-wait-mergeable/semantic-green.d.ts +81 -0
  196. package/vendor/directive-core/dist/pr-wait-mergeable/semantic-green.d.ts.map +1 -1
  197. package/vendor/directive-core/dist/pr-wait-mergeable/semantic-green.js +687 -3
  198. package/vendor/directive-core/dist/pr-wait-mergeable/semantic-green.js.map +1 -1
  199. package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts +59 -1
  200. package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts.map +1 -1
  201. package/vendor/directive-core/dist/pre-pr-controller/controller.js +155 -2
  202. package/vendor/directive-core/dist/pre-pr-controller/controller.js.map +1 -1
  203. package/vendor/directive-core/dist/pre-pr-controller/index.d.ts +1 -1
  204. package/vendor/directive-core/dist/pre-pr-controller/index.d.ts.map +1 -1
  205. package/vendor/directive-core/dist/pre-pr-controller/index.js +1 -1
  206. package/vendor/directive-core/dist/pre-pr-controller/index.js.map +1 -1
  207. package/vendor/directive-core/dist/pre-pr-controller/phases.d.ts +7 -0
  208. package/vendor/directive-core/dist/pre-pr-controller/phases.d.ts.map +1 -1
  209. package/vendor/directive-core/dist/pre-pr-controller/phases.js +11 -0
  210. package/vendor/directive-core/dist/pre-pr-controller/phases.js.map +1 -1
  211. package/vendor/directive-core/dist/pre-pr-controller/types.d.ts +1 -1
  212. package/vendor/directive-core/dist/pre-pr-controller/types.d.ts.map +1 -1
  213. package/vendor/directive-core/dist/pre-pr-controller/types.js.map +1 -1
  214. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts.map +1 -1
  215. package/vendor/directive-core/dist/preflight-gh/pre-push.js +58 -2
  216. package/vendor/directive-core/dist/preflight-gh/pre-push.js.map +1 -1
  217. package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.d.ts +1 -1
  218. package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.d.ts.map +1 -1
  219. package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.js +1 -1
  220. package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.js.map +1 -1
  221. package/vendor/directive-core/dist/product-first-done-gate/index.d.ts +1 -1
  222. package/vendor/directive-core/dist/product-first-done-gate/index.d.ts.map +1 -1
  223. package/vendor/directive-core/dist/product-first-done-gate/index.js +1 -1
  224. package/vendor/directive-core/dist/product-first-done-gate/index.js.map +1 -1
  225. package/vendor/directive-core/dist/release/gh.d.ts.map +1 -1
  226. package/vendor/directive-core/dist/release/gh.js +2 -1
  227. package/vendor/directive-core/dist/release/gh.js.map +1 -1
  228. package/vendor/directive-core/dist/release/pipeline.d.ts.map +1 -1
  229. package/vendor/directive-core/dist/release/pipeline.js +13 -1
  230. package/vendor/directive-core/dist/release/pipeline.js.map +1 -1
  231. package/vendor/directive-core/dist/release/preflight.d.ts +11 -0
  232. package/vendor/directive-core/dist/release/preflight.d.ts.map +1 -1
  233. package/vendor/directive-core/dist/release/preflight.js +65 -0
  234. package/vendor/directive-core/dist/release/preflight.js.map +1 -1
  235. package/vendor/directive-core/dist/release/types.d.ts +4 -0
  236. package/vendor/directive-core/dist/release/types.d.ts.map +1 -1
  237. package/vendor/directive-core/dist/release/version.d.ts +4 -2
  238. package/vendor/directive-core/dist/release/version.d.ts.map +1 -1
  239. package/vendor/directive-core/dist/release/version.js +4 -2
  240. package/vendor/directive-core/dist/release/version.js.map +1 -1
  241. package/vendor/directive-core/dist/release-publish/gh-api.d.ts.map +1 -1
  242. package/vendor/directive-core/dist/release-publish/gh-api.js +4 -2
  243. package/vendor/directive-core/dist/release-publish/gh-api.js.map +1 -1
  244. package/vendor/directive-core/dist/release-publish/main.d.ts.map +1 -1
  245. package/vendor/directive-core/dist/release-publish/main.js +15 -4
  246. package/vendor/directive-core/dist/release-publish/main.js.map +1 -1
  247. package/vendor/directive-core/dist/release-publish/pipeline.d.ts +11 -0
  248. package/vendor/directive-core/dist/release-publish/pipeline.d.ts.map +1 -1
  249. package/vendor/directive-core/dist/release-publish/pipeline.js +143 -2
  250. package/vendor/directive-core/dist/release-publish/pipeline.js.map +1 -1
  251. package/vendor/directive-core/dist/release-rollback/gh.d.ts.map +1 -1
  252. package/vendor/directive-core/dist/release-rollback/gh.js +2 -1
  253. package/vendor/directive-core/dist/release-rollback/gh.js.map +1 -1
  254. package/vendor/directive-core/dist/scope/delivery-evidence.d.ts +37 -0
  255. package/vendor/directive-core/dist/scope/delivery-evidence.d.ts.map +1 -1
  256. package/vendor/directive-core/dist/scope/delivery-evidence.js +106 -6
  257. package/vendor/directive-core/dist/scope/delivery-evidence.js.map +1 -1
  258. package/vendor/directive-core/dist/scope/transition.d.ts +3 -1
  259. package/vendor/directive-core/dist/scope/transition.d.ts.map +1 -1
  260. package/vendor/directive-core/dist/scope/transition.js +4 -0
  261. package/vendor/directive-core/dist/scope/transition.js.map +1 -1
  262. package/vendor/directive-core/dist/session/git.d.ts +21 -2
  263. package/vendor/directive-core/dist/session/git.d.ts.map +1 -1
  264. package/vendor/directive-core/dist/session/git.js +21 -4
  265. package/vendor/directive-core/dist/session/git.js.map +1 -1
  266. package/vendor/directive-core/dist/session/occupancy.d.ts +93 -6
  267. package/vendor/directive-core/dist/session/occupancy.d.ts.map +1 -1
  268. package/vendor/directive-core/dist/session/occupancy.js +215 -52
  269. package/vendor/directive-core/dist/session/occupancy.js.map +1 -1
  270. package/vendor/directive-core/dist/session/session-start.d.ts.map +1 -1
  271. package/vendor/directive-core/dist/session/session-start.js +5 -2
  272. package/vendor/directive-core/dist/session/session-start.js.map +1 -1
  273. package/vendor/directive-core/dist/swarm/dest-place.d.ts +1 -1
  274. package/vendor/directive-core/dist/swarm/dest-place.d.ts.map +1 -1
  275. package/vendor/directive-core/dist/swarm/dest-place.js +36 -41
  276. package/vendor/directive-core/dist/swarm/dest-place.js.map +1 -1
  277. package/vendor/directive-core/dist/swarm/finalize-owed.d.ts +14 -0
  278. package/vendor/directive-core/dist/swarm/finalize-owed.d.ts.map +1 -1
  279. package/vendor/directive-core/dist/swarm/finalize-owed.js +214 -48
  280. package/vendor/directive-core/dist/swarm/finalize-owed.js.map +1 -1
  281. package/vendor/directive-core/dist/swarm/launch.d.ts.map +1 -1
  282. package/vendor/directive-core/dist/swarm/launch.js +15 -4
  283. package/vendor/directive-core/dist/swarm/launch.js.map +1 -1
  284. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts +49 -2
  285. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts.map +1 -1
  286. package/vendor/directive-core/dist/swarm/worktree-pm-install.js +207 -12
  287. package/vendor/directive-core/dist/swarm/worktree-pm-install.js.map +1 -1
  288. package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts +6 -0
  289. package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts.map +1 -1
  290. package/vendor/directive-core/dist/swarm/worktrees-cli.js +79 -2
  291. package/vendor/directive-core/dist/swarm/worktrees-cli.js.map +1 -1
  292. package/vendor/directive-core/dist/swarm/worktrees.d.ts +12 -1
  293. package/vendor/directive-core/dist/swarm/worktrees.d.ts.map +1 -1
  294. package/vendor/directive-core/dist/swarm/worktrees.js +34 -26
  295. package/vendor/directive-core/dist/swarm/worktrees.js.map +1 -1
  296. package/vendor/directive-core/dist/verify-ac/evaluate.d.ts +52 -0
  297. package/vendor/directive-core/dist/verify-ac/evaluate.d.ts.map +1 -1
  298. package/vendor/directive-core/dist/verify-ac/evaluate.js +361 -1
  299. package/vendor/directive-core/dist/verify-ac/evaluate.js.map +1 -1
  300. package/vendor/directive-core/dist/verify-ac/index.d.ts +1 -1
  301. package/vendor/directive-core/dist/verify-ac/index.d.ts.map +1 -1
  302. package/vendor/directive-core/dist/verify-ac/index.js +1 -1
  303. package/vendor/directive-core/dist/verify-ac/index.js.map +1 -1
@@ -17,6 +17,12 @@
17
17
  * - Deposit presence is **OK**.
18
18
  * - Full re-enable requires: delete the file **and** start a **new** agent session.
19
19
  * - Precedence: active kill-switch first, then `.no-deft-directive`, else normal.
20
+ *
21
+ * Eligibility (#6122 / Prefer-A Bound): override only when positively validated
22
+ * eligible (project-root non-symlink regular file + successful untracked
23
+ * `git ls-files` listing). Tracked / wrong kind / absent → ineligible.
24
+ * Probe launch failure, nonzero status, timeout, or unavailable output →
25
+ * indeterminate (never active; never cached as untracked).
20
26
  */
21
27
  import { execFileSync } from "node:child_process";
22
28
  import { lstatSync, statSync } from "node:fs";
@@ -49,9 +55,13 @@ export const DEFT_DIRECTIVE_DISABLE_STATUS = "disabled-test-kill-switch";
49
55
  export const DEFT_DIRECTIVE_DISABLE_TRACKED_WARNING = "Misconfig: `.deft-directive-disable` is tracked by git. The flag must be gitignored (local kill-switch only). Untrack it and ensure `.gitignore` covers the path. Enforcement is NOT disabled while the flag is tracked.";
50
56
  /** Cap git probe so hot-path hooks never hang on a slow VCS call. */
51
57
  const GIT_TRACKED_PROBE_TIMEOUT_MS = 1500;
52
- /** Process-local cache: avoid re-spawning git on every PreToolUse while the flag is present. */
58
+ /** Process-local cache: successful tracked|untracked only — never indeterminate. */
53
59
  const trackedProbeCache = new Map();
54
60
  const TRACKED_PROBE_CACHE_TTL_MS = 30_000;
61
+ /** Test helper: drop cached listing outcomes. */
62
+ export function clearDeftDirectiveDisableTrackedProbeCache() {
63
+ trackedProbeCache.clear();
64
+ }
55
65
  /**
56
66
  * Regular-file check that does **not** treat a symlink as an intentional kill-switch
57
67
  * (#3213 residual after #3206). `statSync().isFile()` follows links, so
@@ -78,28 +88,67 @@ function defaultIsDir(path) {
78
88
  return false;
79
89
  }
80
90
  }
81
- function defaultIsGitTracked(projectRoot, relPath) {
91
+ /**
92
+ * Explicit Git success predicate (#6122): successful `git ls-files` with usable
93
+ * captured output. Empty listing = untracked; nonempty = tracked; launch failure,
94
+ * nonzero, timeout, or unavailable output = indeterminate.
95
+ */
96
+ export function probeGitLsFilesListing(projectRoot, relPath, capture) {
97
+ try {
98
+ const out = capture !== undefined
99
+ ? capture(projectRoot, relPath)
100
+ : execFileSync("git", ["ls-files", "--", relPath], {
101
+ cwd: projectRoot,
102
+ encoding: "utf8",
103
+ stdio: ["ignore", "pipe", "ignore"],
104
+ timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
105
+ });
106
+ if (typeof out !== "string")
107
+ return "indeterminate";
108
+ return out.trim().length > 0 ? "tracked" : "untracked";
109
+ }
110
+ catch {
111
+ return "indeterminate";
112
+ }
113
+ }
114
+ function defaultProbeGitTrackListing(projectRoot, relPath, capture) {
82
115
  const cacheKey = `${projectRoot}\0${relPath}`;
83
116
  const now = Date.now();
84
117
  const cached = trackedProbeCache.get(cacheKey);
85
118
  if (cached !== undefined && now - cached.atMs < TRACKED_PROBE_CACHE_TTL_MS) {
86
- return cached.tracked;
119
+ return cached.tracked ? "tracked" : "untracked";
87
120
  }
88
- let tracked = false;
89
- try {
90
- const out = execFileSync("git", ["ls-files", "--", relPath], {
91
- cwd: projectRoot,
92
- encoding: "utf8",
93
- stdio: ["ignore", "pipe", "ignore"],
94
- timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
95
- });
96
- tracked = out.trim().length > 0;
121
+ const result = probeGitLsFilesListing(projectRoot, relPath, capture);
122
+ if (result === "tracked" || result === "untracked") {
123
+ trackedProbeCache.set(cacheKey, { tracked: result === "tracked", atMs: now });
97
124
  }
98
- catch {
99
- tracked = false;
125
+ return result;
126
+ }
127
+ function resolveTrackProbe(projectRoot, seams) {
128
+ if (seams.probeGitTrackListing) {
129
+ return seams.probeGitTrackListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME);
130
+ }
131
+ if (seams.isGitTracked) {
132
+ return seams.isGitTracked(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME)
133
+ ? "tracked"
134
+ : "untracked";
100
135
  }
101
- trackedProbeCache.set(cacheKey, { tracked, atMs: now });
102
- return tracked;
136
+ if (seams.skipTrackedCache) {
137
+ return probeGitLsFilesListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME, seams.gitLsFilesCapture);
138
+ }
139
+ return defaultProbeGitTrackListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME, seams.gitLsFilesCapture);
140
+ }
141
+ function eligibilityFromPresentProbe(present, probe) {
142
+ if (!present) {
143
+ return { eligibility: "ineligible", trackedByGit: false };
144
+ }
145
+ if (probe === "tracked") {
146
+ return { eligibility: "ineligible", trackedByGit: true };
147
+ }
148
+ if (probe === "untracked") {
149
+ return { eligibility: "eligible", trackedByGit: false };
150
+ }
151
+ return { eligibility: "indeterminate", trackedByGit: false };
103
152
  }
104
153
  /** Absolute path to the root kill-switch flag file. */
105
154
  export function deftDirectiveDisableFlagPath(projectRoot) {
@@ -110,47 +159,28 @@ export function deftDirectiveDisableFlagPath(projectRoot) {
110
159
  * (empty or short comment OK). Deposit presence is reported but never treated
111
160
  * as inconsistent (#3039 vs #2926).
112
161
  *
113
- * Enforcement short-circuit uses `state.active` (present && !trackedByGit).
162
+ * Enforcement short-circuit uses `state.active` (eligibility === "eligible").
114
163
  */
115
164
  export function detectDeftDirectiveDisable(projectRoot, seams = {}) {
116
165
  const flagPath = deftDirectiveDisableFlagPath(projectRoot);
117
166
  const isFile = seams.isFile ?? defaultIsFile;
118
167
  const isDir = seams.isDir ?? defaultIsDir;
119
- const isGitTracked = seams.isGitTracked ?? defaultIsGitTracked;
120
168
  const present = isFile(flagPath);
121
169
  const depositPresent = isDir(join(projectRoot, CANONICAL_INSTALL_ROOT));
122
- let trackedByGit = false;
123
- if (present) {
124
- if (seams.skipTrackedCache && seams.isGitTracked === undefined) {
125
- // Fresh probe without reading process cache (doctor / one-shot CLI).
126
- try {
127
- const out = execFileSync("git", ["ls-files", "--", DEFT_DIRECTIVE_DISABLE_FLAG_NAME], {
128
- cwd: projectRoot,
129
- encoding: "utf8",
130
- stdio: ["ignore", "pipe", "ignore"],
131
- timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
132
- });
133
- trackedByGit = out.trim().length > 0;
134
- }
135
- catch {
136
- trackedByGit = false;
137
- }
138
- }
139
- else {
140
- trackedByGit = isGitTracked(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME);
141
- }
142
- }
170
+ const probe = present ? resolveTrackProbe(projectRoot, seams) : "untracked";
171
+ const { eligibility, trackedByGit } = eligibilityFromPresentProbe(present, probe);
143
172
  return {
144
173
  present,
145
174
  flagPath,
146
175
  depositPresent,
147
176
  trackedByGit,
148
- active: present && !trackedByGit,
177
+ eligibility,
178
+ active: eligibility === "eligible",
149
179
  };
150
180
  }
151
181
  /**
152
182
  * True when the local (untracked) kill-switch is active for enforcement
153
- * short-circuit. Tracked flags return false so hooks stay enforced.
183
+ * short-circuit. Tracked / indeterminate flags return false so hooks stay enforced.
154
184
  */
155
185
  export function isDeftDirectiveDisableActive(projectRoot, seams = {}) {
156
186
  return detectDeftDirectiveDisable(projectRoot, seams).active;
@@ -1 +1 @@
1
- {"version":3,"file":"deft-directive-disable.js","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deft-directive-disable.js","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"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"}
@@ -37,12 +37,19 @@ export declare function extractStoryFileScope(storyData: unknown): {
37
37
  * Story write-fence load view (#4956).
38
38
  * `unreadableDetail` set → callers MUST fail closed (do not empty-allow).
39
39
  * Returned failure avoids new throw-sites for verify:intent-constraint.
40
+ * `baseRef` / `typedDeliveryBranch` ride successful and empty loads (#6011).
40
41
  */
41
42
  export type StoryWriteFenceView = {
42
43
  readonly fileScope: string[];
43
44
  readonly denyPaths: string[];
44
45
  readonly unreadableDetail?: string;
46
+ /** Selected merge-base candidate when resolve succeeded (#6011). */
47
+ readonly baseRef?: string;
48
+ /** Typed deliveryBranch when that candidate was the selected base (#6011). */
49
+ readonly typedDeliveryBranch?: string;
45
50
  };
51
+ /** Operator-facing base note for empty-fence / unreadable refuses (#6011). */
52
+ export declare function formatStoryWriteFenceBaseNote(fence: StoryWriteFenceView): string;
46
53
  export declare function isStoryWriteFenceUnreadable(fence: StoryWriteFenceView): fence is StoryWriteFenceView & {
47
54
  readonly unreadableDetail: string;
48
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"write-fence.d.ts","sourceRoot":"","sources":["../../src/policy/write-fence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAahC;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAC9B,CAcA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAC9B,CAiCA;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,mBAAmB,GACzB,KAAK,IAAI,mBAAmB,GAAG;IAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAGlF;AAuBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,CAiBrB;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,KAAK,SAAqB,GACzB,mBAAmB,CAUrB;AAyED,2DAA2D;AAC3D,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD;AAwID;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,CAoCrB;AAED,MAAM,WAAW,wBAAwB;IACvC,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,sBAAsB,EACrC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,wBAAwB,GACjC,kBAAkB,CAkDpB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,SAAS,GAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK;IAC9C,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACA,GAC9B,kBAAkB,CAKpB"}
1
+ {"version":3,"file":"write-fence.d.ts","sourceRoot":"","sources":["../../src/policy/write-fence.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  import { spawnSync } from "node:child_process";
13
13
  import { existsSync, readFileSync } from "node:fs";
14
14
  import { isAbsolute, relative, resolve } from "node:path";
15
+ import { resolveDeliveryBranch } from "./delivery-branch.js";
15
16
  import { DEFAULT_RUNTIME_AUTHORITY_POLICY, DEFAULT_RUNTIME_AUTHORITY_SCOPES, } from "./runtime-authority.js";
16
17
  /** Clean non-empty path glob strings. */
17
18
  function cleanGlobs(raw) {
@@ -83,6 +84,16 @@ export function extractStoryFileScope(storyData) {
83
84
  }
84
85
  return fromWriteScope;
85
86
  }
87
+ /** Operator-facing base note for empty-fence / unreadable refuses (#6011). */
88
+ export function formatStoryWriteFenceBaseNote(fence) {
89
+ if (typeof fence.baseRef !== "string" || fence.baseRef.trim().length === 0) {
90
+ return "";
91
+ }
92
+ const typed = typeof fence.typedDeliveryBranch === "string" && fence.typedDeliveryBranch.trim().length > 0
93
+ ? ` (typed deliveryBranch=${fence.typedDeliveryBranch})`
94
+ : "";
95
+ return ` Fence base: ${fence.baseRef}${typed}.`;
96
+ }
86
97
  export function isStoryWriteFenceUnreadable(fence) {
87
98
  return typeof fence.unreadableDetail === "string" && fence.unreadableDetail.length > 0;
88
99
  }
@@ -210,13 +221,39 @@ function gitSpawnUnreadable(scopePath, err) {
210
221
  }
211
222
  return unreadableFence(scopePath, "git spawn failed");
212
223
  }
224
+ /**
225
+ * Typed delivery candidates for fence base selection (#6011).
226
+ * Insert only when resolveDeliveryBranch returns source typed, error null,
227
+ * nonempty branch. Prefer `origin/<branch>` only — a bare local ref would let
228
+ * deliveryBranch=<feature> collapse merge-base to HEAD and read a widened
229
+ * head brief (Greptile P1 on #6065). Remote-tracking is the governing base.
230
+ */
231
+ function typedDeliveryForFence(projectRoot) {
232
+ const delivery = resolveDeliveryBranch(projectRoot, (root, args) => {
233
+ const result = gitFenceSpawn(root, args);
234
+ return { code: result.status, stdout: result.stdout, stderr: result.stderr };
235
+ });
236
+ if (delivery.source === "typed" && delivery.error === null && delivery.branch.trim().length > 0) {
237
+ const branch = delivery.branch.trim();
238
+ return { candidates: [`origin/${branch}`], typedBranch: branch };
239
+ }
240
+ return { candidates: [], typedBranch: null };
241
+ }
242
+ /** Same typed candidate string used for select + merge-base memo key (#6011). */
243
+ function typedDeliveryMemoToken(projectRoot) {
244
+ return typedDeliveryForFence(projectRoot).typedBranch ?? "";
245
+ }
213
246
  function selectBaseRefForFence(projectRoot) {
214
247
  const envCandidates = [
215
248
  process.env.DEFT_BASE_REF,
216
249
  process.env.GITHUB_BASE_REF ? `origin/${process.env.GITHUB_BASE_REF}` : undefined,
217
250
  process.env.GITHUB_BASE_REF,
218
251
  ].filter((x) => typeof x === "string" && x.trim().length > 0);
219
- for (const cand of [...envCandidates, "origin/master", "origin/main", "master", "main"]) {
252
+ const delivery = typedDeliveryForFence(projectRoot);
253
+ const fallbacks = ["origin/master", "origin/main", "master", "main"];
254
+ const attempted = [];
255
+ for (const cand of [...envCandidates, ...delivery.candidates, ...fallbacks]) {
256
+ attempted.push(cand);
220
257
  const probe = gitFenceSpawn(projectRoot, ["rev-parse", "--verify", "-q", cand]);
221
258
  if (probe.error)
222
259
  return { ok: false, fence: gitSpawnUnreadable("merge-base", probe.error) };
@@ -226,12 +263,22 @@ function selectBaseRefForFence(projectRoot) {
226
263
  fence: unreadableFence("merge-base", `git rev-parse killed by signal ${String(probe.signal)}`),
227
264
  };
228
265
  }
229
- if (probe.status === 0)
230
- return { ok: true, baseRef: cand };
266
+ if (probe.status === 0) {
267
+ const typedUsed = delivery.typedBranch !== null &&
268
+ (cand === `origin/${delivery.typedBranch}` || cand === delivery.typedBranch)
269
+ ? delivery.typedBranch
270
+ : undefined;
271
+ return {
272
+ ok: true,
273
+ baseRef: cand,
274
+ ...(typedUsed !== undefined ? { typedDeliveryBranch: typedUsed } : {}),
275
+ };
276
+ }
231
277
  }
232
278
  return {
233
279
  ok: false,
234
- fence: unreadableFence("merge-base", "no merge-base ref (origin/master|main or DEFT_BASE_REF/GITHUB_BASE_REF); " +
280
+ fence: unreadableFence("merge-base", `no merge-base ref selected (attempted: ${attempted.join(", ") || "(none)"}); ` +
281
+ "set DEFT_BASE_REF/GITHUB_BASE_REF or typed plan.policy.deliveryBranch; " +
235
282
  "cannot establish story write fence"),
236
283
  };
237
284
  }
@@ -244,9 +291,17 @@ function selectBaseRefForFence(projectRoot) {
244
291
  * path. Inside a git worktree, missing base ref / merge-base failure →
245
292
  * unreadable (fail closed).
246
293
  */
294
+ function attachFenceBase(fence, baseRef, typedDeliveryBranch) {
295
+ return {
296
+ ...fence,
297
+ baseRef,
298
+ ...(typedDeliveryBranch !== undefined ? { typedDeliveryBranch } : {}),
299
+ };
300
+ }
247
301
  function resolveMergeBaseCommitForFence(projectRoot) {
248
302
  const envKey = [process.env.DEFT_BASE_REF ?? "", process.env.GITHUB_BASE_REF ?? ""].join("|");
249
- const memoKey = `${projectRoot}\0${envKey}`;
303
+ // Include the same typed delivery token used for selection (#6011 memo limb).
304
+ const memoKey = `${projectRoot}\0${envKey}\0${typedDeliveryMemoToken(projectRoot)}`;
250
305
  const cached = memoGet(mergeBaseMemo, memoKey);
251
306
  if (cached !== undefined)
252
307
  return cached;
@@ -267,14 +322,18 @@ function resolveMergeBaseCommitForFence(projectRoot) {
267
322
  if (!selected.ok)
268
323
  return { kind: "unreadable", fence: selected.fence };
269
324
  const baseRef = selected.baseRef;
325
+ const typedDeliveryBranch = selected.typedDeliveryBranch;
270
326
  const mb = gitFenceSpawn(projectRoot, ["merge-base", "HEAD", baseRef]);
271
327
  if (mb.error) {
272
- return { kind: "unreadable", fence: gitSpawnUnreadable("merge-base", mb.error) };
328
+ return {
329
+ kind: "unreadable",
330
+ fence: attachFenceBase(gitSpawnUnreadable("merge-base", mb.error), baseRef, typedDeliveryBranch),
331
+ };
273
332
  }
274
333
  if (mb.signal) {
275
334
  return {
276
335
  kind: "unreadable",
277
- fence: unreadableFence("merge-base", `git merge-base killed by signal ${String(mb.signal)}`),
336
+ fence: attachFenceBase(unreadableFence("merge-base", `git merge-base killed by signal ${String(mb.signal)}`), baseRef, typedDeliveryBranch),
278
337
  };
279
338
  }
280
339
  const sha = mb.stdout.trim();
@@ -282,10 +341,15 @@ function resolveMergeBaseCommitForFence(projectRoot) {
282
341
  const detail = `${mb.stdout}\n${mb.stderr}`.trim();
283
342
  return {
284
343
  kind: "unreadable",
285
- fence: unreadableFence("merge-base", detail.length > 0 ? detail : `could not compute merge-base of HEAD and ${baseRef}`),
344
+ fence: attachFenceBase(unreadableFence("merge-base", detail.length > 0 ? detail : `could not compute merge-base of HEAD and ${baseRef}`), baseRef, typedDeliveryBranch),
286
345
  };
287
346
  }
288
- return memoSet(mergeBaseMemo, memoKey, { kind: "sha", baseRef, sha });
347
+ return memoSet(mergeBaseMemo, memoKey, {
348
+ kind: "sha",
349
+ baseRef,
350
+ sha,
351
+ ...(typedDeliveryBranch !== undefined ? { typedDeliveryBranch } : {}),
352
+ });
289
353
  }
290
354
  function readMergeBaseBriefRaw(projectRoot, mergeBaseSha, relPath) {
291
355
  const path = relPath.replace(/\\/g, "/").replace(/^\.\//, "");
@@ -336,20 +400,23 @@ export function loadStoryWriteFenceFromMergeBase(projectRoot, scopePath) {
336
400
  if (resolved.kind === "inactive") {
337
401
  return { fileScope: [], denyPaths: [] };
338
402
  }
339
- const loadKey = `${root}\0${resolved.baseRef}\0${resolved.sha}\0${rel}`;
403
+ // Include typed delivery in the load key so annotation changes cannot reuse
404
+ // a stale fence view when baseRef/sha stay the same (Greptile P2 / #6011).
405
+ const loadKey = `${root}\0${resolved.baseRef}\0${resolved.sha}\0${rel}\0${resolved.typedDeliveryBranch ?? ""}`;
340
406
  const cached = memoGet(fenceLoadMemo, loadKey);
341
407
  if (cached !== undefined)
342
408
  return cached;
409
+ const withBase = (fence) => attachFenceBase(fence, resolved.baseRef, resolved.typedDeliveryBranch);
343
410
  const raw = readMergeBaseBriefRaw(root, resolved.sha, rel);
344
411
  if (raw.kind === "unreadable")
345
- return raw.fence;
412
+ return withBase(raw.fence);
346
413
  const loaded = loadStoryWriteFenceFromBaseRaw(raw.kind === "text" ? raw.text : null, `merge-base:${rel}`);
347
414
  if (isStoryWriteFenceUnreadable(loaded))
348
- return loaded;
349
- return memoSet(fenceLoadMemo, loadKey, {
415
+ return withBase(loaded);
416
+ return memoSet(fenceLoadMemo, loadKey, withBase({
350
417
  fileScope: [...loaded.fileScope],
351
418
  denyPaths: [...loaded.denyPaths],
352
- });
419
+ }));
353
420
  }
354
421
  /**
355
422
  * Intersect project `runtimeAuthority` with optional story `file_scope`.
@@ -1 +1 @@
1
- {"version":3,"file":"write-fence.js","sourceRoot":"","sources":["../../src/policy/write-fence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-fence.js","sourceRoot":"","sources":["../../src/policy/write-fence.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import type { OnePrUnitGrant } from "../one-pr-unit/types.js";
25
25
  import { type GateRunner } from "../orphan-active/issue-state.js";
26
26
  import type { RunGhFn } from "../pr-protected-issues/types.js";
27
27
  import { type StrictAcceptanceAxis } from "../scope/acceptance-evidence.js";
28
- import { type PrHeadAssertOptions } from "./pr-head-assert.js";
28
+ import { type CloseoutRefuseReason, type PrHeadAssertOptions } from "./pr-head-assert.js";
29
29
  export type OutputStream = "stdout" | "stderr" | "none";
30
30
  /** One acceptance criterion the merge would strand without evidence or disposition. */
31
31
  export interface UnattestedCriterion {
@@ -61,6 +61,11 @@ export interface PrCloseoutAttestableResult {
61
61
  readonly findings: readonly CloseoutFinding[];
62
62
  /** True when the closing-reference read resolved through `ghx`, a cached GET proxy. */
63
63
  readonly proxied: boolean;
64
+ /**
65
+ * One-poll terminal discriminant for wait-mergeable (#6128).
66
+ * Set only for lifecycle-dirty / brief-root-layout-missing refuses.
67
+ */
68
+ readonly reason?: CloseoutRefuseReason;
64
69
  }
65
70
  /** Reads the PR's structured closing-issue references; `null` on lookup failure. */
66
71
  export type FetchClosingIssuesFn = (prNumber: number, repo: string | null, runGh: RunGhFn) => number[] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAQL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAIL,KAAK,mBAAmB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,OAAO,KACX,MAAM,EAAE,GAAG,IAAI,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA4KD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,0BAA0B,CAuS5B"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAQL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAEL,KAAK,oBAAoB,EAIzB,KAAK,mBAAmB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,OAAO,KACX,MAAM,EAAE,GAAG,IAAI,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA8KD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,0BAA0B,CAkU5B"}
@@ -33,7 +33,7 @@ import { listActiveRunningBriefsFromLifecycleRoot } from "../orphan-active/runni
33
33
  import { fetchClosingIssuesReferences } from "../pr-protected-issues/gh.js";
34
34
  import { ACCEPTANCE_DISPOSITION_KEY, ACCEPTANCE_DISPOSITIONS, ACCEPTANCE_EVIDENCE_KEY, ACCEPTANCE_EVIDENCE_KINDS, evaluateAcceptanceEvidenceGate, inferRequiredStrictAxes, itemDeclaresMergeRequirement, } from "../scope/acceptance-evidence.js";
35
35
  import { resolveRepo } from "../triage/queue/repo.js";
36
- import { assertWorkingTreeIsPrHead, fetchPrHeadShaViaApi, findWorktreeAtSha, resolveLifecycleDirty, resolveLocalHeadSha, shasMatch, } from "./pr-head-assert.js";
36
+ import { assertWorkingTreeIsPrHead, classifyLifecycleDirty, fetchPrHeadShaViaApi, findWorktreeAtSha, refuseDirtyLifecycle, resolveLocalHeadSha, shasMatch, } from "./pr-head-assert.js";
37
37
  function relBriefPath(path, projectRoot) {
38
38
  try {
39
39
  return relative(resolve(projectRoot), resolve(path)).replace(/\\/g, "/");
@@ -136,7 +136,7 @@ function formatRefusal(prNumber, findings, projectRoot, proxied) {
136
136
  }
137
137
  return lines.join("\n");
138
138
  }
139
- function configError(prNumber, message, proxied = false) {
139
+ function configError(prNumber, message, proxied = false, reason) {
140
140
  return {
141
141
  code: 2,
142
142
  message: `verify:pr-closeout-attestable: ${message}`,
@@ -145,6 +145,7 @@ function configError(prNumber, message, proxied = false) {
145
145
  closingIssues: [],
146
146
  findings: [],
147
147
  proxied,
148
+ ...(reason !== undefined ? { reason } : {}),
148
149
  };
149
150
  }
150
151
  /**
@@ -216,9 +217,10 @@ export function evaluate(projectRoot, prNumber, options = {}) {
216
217
  // (outside-diff residual on #5258). Fail closed on an unverified lookup.
217
218
  const assertOpts = options.prHeadAssert ?? {};
218
219
  const fetchPrHead = assertOpts.fetchPrHeadSha ?? fetchPrHeadShaViaApi;
219
- const resolveWorktree = assertOpts.resolveWorktreeAtSha ?? findWorktreeAtSha;
220
+ const classify = assertOpts.classifyLifecycleDirty ?? classifyLifecycleDirty;
221
+ const resolveWorktree = assertOpts.resolveWorktreeAtSha ??
222
+ ((r, sha) => findWorktreeAtSha(r, sha, classify));
220
223
  const resolveLocal = assertOpts.resolveLocalHeadSha ?? resolveLocalHeadSha;
221
- const resolveDirty = assertOpts.resolveLifecycleDirty ?? resolveLifecycleDirty;
222
224
  const prHead = assertOpts.prHeadSha !== undefined
223
225
  ? assertOpts.prHeadSha
224
226
  : fetchPrHead(prNumber, repo, runner.runGh);
@@ -258,14 +260,22 @@ export function evaluate(projectRoot, prNumber, options = {}) {
258
260
  }
259
261
  }
260
262
  if (altLifecycle === null) {
263
+ if (lookup.anotherShaMatchHasXbrief === true) {
264
+ return configError(prNumber, `selected PR-head worktree ${alt} has no xbrief layout while another SHA-matching worktree does. ` +
265
+ `Caller root ${root} also lacks layout. Prefer a briefed PR-head worktree.`, runner.proxied, "brief-root-layout-missing");
266
+ }
261
267
  return nothingToCheck();
262
268
  }
263
269
  if (assertOpts.checkLifecycleDirty !== false) {
264
- const dirty = resolveDirty(alt);
265
- if (dirty !== null) {
266
- return configError(prNumber, `lifecycle tree under ${alt} has uncommitted xbrief/vbrief changes ` +
267
- `(${dirty}). Closeout reads the committed PR-head brief — commit, ` +
268
- "stash, or discard local lifecycle edits and retry.", runner.proxied);
270
+ const classified = classify(alt);
271
+ if (classified.status === "dirty") {
272
+ const refused = refuseDirtyLifecycle(alt, classified);
273
+ return configError(prNumber, refused.message, runner.proxied, refused.reason);
274
+ }
275
+ if (classified.status === "unverifiable") {
276
+ return configError(prNumber, `lifecycle tree under ${alt} status is unverifiable (${classified.diagnostic}). ` +
277
+ "Closeout cannot certify briefs without a readable git status — fix git and retry. " +
278
+ "No discard remediation is printed for unverifiable status reads.", runner.proxied);
269
279
  }
270
280
  }
271
281
  briefRoot = resolve(alt);
@@ -284,7 +294,7 @@ export function evaluate(projectRoot, prNumber, options = {}) {
284
294
  ...options.prHeadAssert,
285
295
  });
286
296
  if (!headAssert.ok) {
287
- return configError(prNumber, headAssert.message, runner.proxied);
297
+ return configError(prNumber, headAssert.message, runner.proxied, headAssert.reason);
288
298
  }
289
299
  briefRoot =
290
300
  headAssert.resolvedProjectRoot !== undefined ? resolve(headAssert.resolvedProjectRoot) : root;
@@ -296,12 +306,14 @@ export function evaluate(projectRoot, prNumber, options = {}) {
296
306
  catch (err) {
297
307
  const message = err instanceof Error ? err.message : String(err);
298
308
  if (message.includes("No xbrief/ layout found")) {
299
- return nothingToCheck();
309
+ return configError(prNumber, `caller lifecycle root ${root} has briefs but selected brief root ${briefRoot} has no xbrief layout. ` +
310
+ "Pass --project-root to a PR-head worktree that carries the lifecycle briefs.", runner.proxied, "brief-root-layout-missing");
300
311
  }
301
312
  return configError(prNumber, message, runner.proxied);
302
313
  }
303
314
  if (!existsSync(lifecycleRoot)) {
304
- return nothingToCheck();
315
+ return configError(prNumber, `caller lifecycle root ${root} has briefs but selected brief root ${briefRoot} lifecycle path is missing. ` +
316
+ "Pass --project-root to a PR-head worktree that carries the lifecycle briefs.", runner.proxied, "brief-root-layout-missing");
305
317
  }
306
318
  }
307
319
  }