@telora/daemon 0.21.12 → 0.21.81

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 (1656) hide show
  1. package/build-info.json +10 -3
  2. package/dist/audit/audit-hooks.d.ts +127 -0
  3. package/dist/audit/audit-hooks.d.ts.map +1 -0
  4. package/dist/audit/audit-hooks.js +346 -0
  5. package/dist/audit/audit-hooks.js.map +1 -0
  6. package/dist/audit/audit-phase.d.ts +170 -0
  7. package/dist/audit/audit-phase.d.ts.map +1 -0
  8. package/dist/audit/audit-phase.js +492 -0
  9. package/dist/audit/audit-phase.js.map +1 -0
  10. package/dist/audit/audit-prompt.d.ts.map +1 -0
  11. package/dist/audit/audit-prompt.js.map +1 -0
  12. package/dist/audit/audit-shape.d.ts.map +1 -0
  13. package/dist/audit/audit-shape.js.map +1 -0
  14. package/dist/backends/agent-backend.d.ts +1 -1
  15. package/dist/backends/agent-backend.d.ts.map +1 -1
  16. package/dist/backends/availability.d.ts +1 -1
  17. package/dist/backends/availability.d.ts.map +1 -1
  18. package/dist/backends/codex/codex-backend.js +1 -1
  19. package/dist/backends/codex/codex-backend.js.map +1 -1
  20. package/dist/backends/codex/codex-mcp-proxy.js +1 -1
  21. package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
  22. package/dist/backends/codex/mcp-preflight.d.ts +1 -1
  23. package/dist/backends/codex/mcp-preflight.d.ts.map +1 -1
  24. package/dist/backends/lacuna/launch-adapter.d.ts +1 -1
  25. package/dist/backends/lacuna/launch-adapter.d.ts.map +1 -1
  26. package/dist/backends/lacuna/lifecycle.d.ts +1 -1
  27. package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
  28. package/dist/backends/lacuna/lifecycle.js +1 -1
  29. package/dist/backends/lacuna/lifecycle.js.map +1 -1
  30. package/dist/backends/lacuna/supervisor.d.ts +1 -1
  31. package/dist/backends/lacuna/supervisor.d.ts.map +1 -1
  32. package/dist/backends/lacuna/supervisor.js +2 -2
  33. package/dist/backends/lacuna/supervisor.js.map +1 -1
  34. package/dist/backends/resolve.js +2 -2
  35. package/dist/backends/resolve.js.map +1 -1
  36. package/dist/ci/ci-escalation.d.ts.map +1 -0
  37. package/dist/ci/ci-escalation.js +66 -0
  38. package/dist/ci/ci-escalation.js.map +1 -0
  39. package/dist/ci/ci-sensor-loop.d.ts +146 -0
  40. package/dist/ci/ci-sensor-loop.d.ts.map +1 -0
  41. package/dist/ci/ci-sensor-loop.js +265 -0
  42. package/dist/ci/ci-sensor-loop.js.map +1 -0
  43. package/dist/ci/ci-status-git.d.ts +53 -0
  44. package/dist/ci/ci-status-git.d.ts.map +1 -0
  45. package/dist/ci/ci-status-git.js +89 -0
  46. package/dist/ci/ci-status-git.js.map +1 -0
  47. package/dist/ci/ci-status.d.ts +137 -0
  48. package/dist/ci/ci-status.d.ts.map +1 -0
  49. package/dist/ci/ci-status.js.map +1 -0
  50. package/dist/cli/backfill-frt-prose.d.ts +3 -3
  51. package/dist/cli/backfill-frt-prose.d.ts.map +1 -1
  52. package/dist/cli/backfill-frt-prose.js +2 -2
  53. package/dist/cli/backfill-frt-prose.js.map +1 -1
  54. package/dist/cli/codex-provision.js +1 -1
  55. package/dist/cli/codex-provision.js.map +1 -1
  56. package/dist/cli/connect/cline.js +1 -1
  57. package/dist/cli/connect/cline.js.map +1 -1
  58. package/dist/cli/connect/codex.js +1 -1
  59. package/dist/cli/connect/codex.js.map +1 -1
  60. package/dist/cli/connect/ide.js +1 -1
  61. package/dist/cli/connect/ide.js.map +1 -1
  62. package/dist/cli/connect.js +4 -4
  63. package/dist/cli/connect.js.map +1 -1
  64. package/dist/cli/open.js +2 -2
  65. package/dist/cli/open.js.map +1 -1
  66. package/dist/cli/session-state.d.ts +1 -1
  67. package/dist/cli/session-state.d.ts.map +1 -1
  68. package/dist/cli/session-state.js +4 -4
  69. package/dist/cli/session-state.js.map +1 -1
  70. package/dist/cli/verify-setup-config.d.ts +1 -1
  71. package/dist/cli/verify-setup-config.d.ts.map +1 -1
  72. package/dist/cli/verify-setup.js +2 -2
  73. package/dist/cli/verify-setup.js.map +1 -1
  74. package/dist/completion/advanceability.d.ts +1 -1
  75. package/dist/completion/advanceability.d.ts.map +1 -1
  76. package/dist/completion/advanceability.js +2 -2
  77. package/dist/completion/advanceability.js.map +1 -1
  78. package/dist/completion/delivery-advancement-guard.d.ts +20 -2
  79. package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
  80. package/dist/completion/delivery-advancement-guard.js +32 -4
  81. package/dist/completion/delivery-advancement-guard.js.map +1 -1
  82. package/dist/completion/detector.d.ts +9 -3
  83. package/dist/completion/detector.d.ts.map +1 -1
  84. package/dist/completion/detector.js +26 -4
  85. package/dist/completion/detector.js.map +1 -1
  86. package/dist/completion/escalation-provenance.d.ts +78 -0
  87. package/dist/completion/escalation-provenance.d.ts.map +1 -0
  88. package/dist/completion/escalation-provenance.js +206 -0
  89. package/dist/completion/escalation-provenance.js.map +1 -0
  90. package/dist/completion/escalations.d.ts +85 -0
  91. package/dist/completion/escalations.d.ts.map +1 -0
  92. package/dist/completion/escalations.js +91 -0
  93. package/dist/completion/escalations.js.map +1 -0
  94. package/dist/completion/event-entry-phases.d.ts +1 -1
  95. package/dist/completion/event-entry-phases.d.ts.map +1 -1
  96. package/dist/completion/event-entry-phases.js +3 -3
  97. package/dist/completion/event-entry-phases.js.map +1 -1
  98. package/dist/completion/event-escalations.d.ts +1 -1
  99. package/dist/completion/event-escalations.d.ts.map +1 -1
  100. package/dist/completion/event-escalations.js +1 -1
  101. package/dist/completion/event-escalations.js.map +1 -1
  102. package/dist/completion/event-phases.d.ts +44 -1
  103. package/dist/completion/event-phases.d.ts.map +1 -1
  104. package/dist/completion/event-phases.js +165 -13
  105. package/dist/completion/event-phases.js.map +1 -1
  106. package/dist/completion/event.d.ts +21 -1
  107. package/dist/completion/event.d.ts.map +1 -1
  108. package/dist/completion/event.js +7 -4
  109. package/dist/completion/event.js.map +1 -1
  110. package/dist/completion/exit-classification.d.ts +1 -1
  111. package/dist/completion/exit-classification.d.ts.map +1 -1
  112. package/dist/completion/merge-phase.d.ts +21 -7
  113. package/dist/completion/merge-phase.d.ts.map +1 -1
  114. package/dist/completion/merge-phase.js +14 -11
  115. package/dist/completion/merge-phase.js.map +1 -1
  116. package/dist/completion/progress-snapshot.d.ts +1 -1
  117. package/dist/completion/progress-snapshot.d.ts.map +1 -1
  118. package/dist/completion/read-only-pristine.d.ts +1 -1
  119. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  120. package/dist/completion/read-only-pristine.js +2 -2
  121. package/dist/completion/read-only-pristine.js.map +1 -1
  122. package/dist/completion/review-defect-detector.d.ts +82 -0
  123. package/dist/completion/review-defect-detector.d.ts.map +1 -0
  124. package/dist/completion/review-defect-detector.js +148 -0
  125. package/dist/completion/review-defect-detector.js.map +1 -0
  126. package/dist/completion/review-exit-escalations.d.ts +1 -1
  127. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  128. package/dist/completion/review-exit-escalations.js +1 -1
  129. package/dist/completion/review-exit-escalations.js.map +1 -1
  130. package/dist/completion/review-exit-phase.d.ts +16 -3
  131. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  132. package/dist/completion/review-exit-phase.js +54 -18
  133. package/dist/completion/review-exit-phase.js.map +1 -1
  134. package/dist/completion/review-exit-shortfall.d.ts +1 -1
  135. package/dist/completion/review-exit-shortfall.d.ts.map +1 -1
  136. package/dist/completion/review-exit-shortfall.js +1 -1
  137. package/dist/completion/review-exit-shortfall.js.map +1 -1
  138. package/dist/completion/review-spawn-coverage-guard.d.ts.map +1 -0
  139. package/dist/completion/review-spawn-coverage-guard.js.map +1 -0
  140. package/dist/completion/state-cascade.d.ts +90 -0
  141. package/dist/completion/state-cascade.d.ts.map +1 -0
  142. package/dist/completion/state-cascade.js +230 -0
  143. package/dist/completion/state-cascade.js.map +1 -0
  144. package/dist/completion/status-advance-phase.d.ts +4 -4
  145. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  146. package/dist/completion/status-advance-phase.js +9 -7
  147. package/dist/completion/status-advance-phase.js.map +1 -1
  148. package/dist/completion/team-completion.d.ts +2 -2
  149. package/dist/completion/team-completion.d.ts.map +1 -1
  150. package/dist/completion/team-completion.js +21 -9
  151. package/dist/completion/team-completion.js.map +1 -1
  152. package/dist/completion/team-lifecycle.d.ts +1 -1
  153. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  154. package/dist/completion/team-lifecycle.js +10 -11
  155. package/dist/completion/team-lifecycle.js.map +1 -1
  156. package/dist/completion/terminated-work-reconcile.d.ts +2 -2
  157. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  158. package/dist/completion/terminated-work-reconcile.js +5 -4
  159. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  160. package/dist/context/context-audit.d.ts +68 -0
  161. package/dist/context/context-audit.d.ts.map +1 -0
  162. package/dist/context/context-audit.js.map +1 -0
  163. package/dist/context/context-lock.d.ts +129 -0
  164. package/dist/context/context-lock.d.ts.map +1 -0
  165. package/dist/context/context-lock.js.map +1 -0
  166. package/dist/delivery/delivery-advance-block.d.ts +143 -0
  167. package/dist/delivery/delivery-advance-block.d.ts.map +1 -0
  168. package/dist/delivery/delivery-advance-block.js +360 -0
  169. package/dist/delivery/delivery-advance-block.js.map +1 -0
  170. package/dist/delivery/delivery-artifacts.d.ts +26 -0
  171. package/dist/delivery/delivery-artifacts.d.ts.map +1 -0
  172. package/dist/delivery/delivery-artifacts.js +56 -0
  173. package/dist/delivery/delivery-artifacts.js.map +1 -0
  174. package/dist/delivery/delivery-close-actions.d.ts +39 -0
  175. package/dist/delivery/delivery-close-actions.d.ts.map +1 -0
  176. package/dist/delivery/delivery-close-actions.js +53 -0
  177. package/dist/delivery/delivery-close-actions.js.map +1 -0
  178. package/dist/delivery/delivery-lifecycle.d.ts +144 -0
  179. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -0
  180. package/dist/delivery/delivery-lifecycle.js +498 -0
  181. package/dist/delivery/delivery-lifecycle.js.map +1 -0
  182. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -0
  183. package/dist/delivery/delivery-reconciler-apply.js +77 -0
  184. package/dist/delivery/delivery-reconciler-apply.js.map +1 -0
  185. package/dist/delivery/delivery-reconciler-shadow.d.ts +66 -0
  186. package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -0
  187. package/dist/delivery/delivery-reconciler-shadow.js +127 -0
  188. package/dist/delivery/delivery-reconciler-shadow.js.map +1 -0
  189. package/dist/delivery/delivery-reconciler.d.ts +217 -0
  190. package/dist/delivery/delivery-reconciler.d.ts.map +1 -0
  191. package/dist/delivery/delivery-reconciler.js +249 -0
  192. package/dist/delivery/delivery-reconciler.js.map +1 -0
  193. package/dist/delivery/external-hold.d.ts +145 -0
  194. package/dist/delivery/external-hold.d.ts.map +1 -0
  195. package/dist/delivery/external-hold.js +223 -0
  196. package/dist/delivery/external-hold.js.map +1 -0
  197. package/dist/delivery/operator-hold.d.ts +66 -0
  198. package/dist/delivery/operator-hold.d.ts.map +1 -0
  199. package/dist/delivery/operator-hold.js +99 -0
  200. package/dist/delivery/operator-hold.js.map +1 -0
  201. package/dist/directive/close-loop-dispatcher.d.ts +325 -0
  202. package/dist/directive/close-loop-dispatcher.d.ts.map +1 -0
  203. package/dist/directive/close-loop-dispatcher.js +362 -0
  204. package/dist/directive/close-loop-dispatcher.js.map +1 -0
  205. package/dist/directive/close-loop-stage.d.ts +2 -2
  206. package/dist/directive/close-loop-stage.d.ts.map +1 -1
  207. package/dist/directive/close-loop-stage.js +3 -3
  208. package/dist/directive/close-loop-stage.js.map +1 -1
  209. package/dist/directive/directive-assembly.d.ts +2 -3
  210. package/dist/directive/directive-assembly.d.ts.map +1 -1
  211. package/dist/directive/directive-assembly.js +5 -4
  212. package/dist/directive/directive-assembly.js.map +1 -1
  213. package/dist/directive/directive-dispatch.d.ts +2 -2
  214. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  215. package/dist/directive/directive-dispatch.js +3 -3
  216. package/dist/directive/directive-dispatch.js.map +1 -1
  217. package/dist/directive/directive-executor.d.ts +37 -0
  218. package/dist/directive/directive-executor.d.ts.map +1 -0
  219. package/dist/directive/directive-executor.js +241 -0
  220. package/dist/directive/directive-executor.js.map +1 -0
  221. package/dist/directive/directive-queue.d.ts +2 -2
  222. package/dist/directive/directive-queue.d.ts.map +1 -1
  223. package/dist/directive/phase-sync.js +3 -3
  224. package/dist/directive/phase-sync.js.map +1 -1
  225. package/dist/directive/resolver-dispatch.d.ts.map +1 -0
  226. package/dist/directive/resolver-dispatch.js.map +1 -0
  227. package/dist/discovery-fetch.js +1 -1
  228. package/dist/discovery-fetch.js.map +1 -1
  229. package/dist/drift/drift-eval-loop.d.ts +71 -0
  230. package/dist/drift/drift-eval-loop.d.ts.map +1 -0
  231. package/dist/drift/drift-eval-loop.js +259 -0
  232. package/dist/drift/drift-eval-loop.js.map +1 -0
  233. package/dist/drift/drift-evaluator.d.ts.map +1 -0
  234. package/dist/drift/drift-evaluator.js.map +1 -0
  235. package/dist/drift/drift-ratify-policy.d.ts.map +1 -0
  236. package/dist/drift/drift-ratify-policy.js.map +1 -0
  237. package/dist/drift/retention-observation.d.ts +126 -0
  238. package/dist/drift/retention-observation.d.ts.map +1 -0
  239. package/dist/drift/retention-observation.js +143 -0
  240. package/dist/drift/retention-observation.js.map +1 -0
  241. package/dist/drift/sensor-sweep.d.ts +194 -0
  242. package/dist/drift/sensor-sweep.d.ts.map +1 -0
  243. package/dist/drift/sensor-sweep.js +458 -0
  244. package/dist/drift/sensor-sweep.js.map +1 -0
  245. package/dist/drift/staleness-sensor.d.ts +176 -0
  246. package/dist/drift/staleness-sensor.d.ts.map +1 -0
  247. package/dist/drift/staleness-sensor.js +335 -0
  248. package/dist/drift/staleness-sensor.js.map +1 -0
  249. package/dist/drift/staleness.d.ts +134 -0
  250. package/dist/drift/staleness.d.ts.map +1 -0
  251. package/dist/drift/staleness.js +249 -0
  252. package/dist/drift/staleness.js.map +1 -0
  253. package/dist/focus/focus-branch-ahead.d.ts +42 -0
  254. package/dist/focus/focus-branch-ahead.d.ts.map +1 -0
  255. package/dist/focus/focus-branch-ahead.js +45 -0
  256. package/dist/focus/focus-branch-ahead.js.map +1 -0
  257. package/dist/focus/focus-branch-identity.d.ts +62 -0
  258. package/dist/focus/focus-branch-identity.d.ts.map +1 -0
  259. package/dist/focus/focus-branch-identity.js +59 -0
  260. package/dist/focus/focus-branch-identity.js.map +1 -0
  261. package/dist/focus/focus-engine.d.ts +74 -0
  262. package/dist/focus/focus-engine.d.ts.map +1 -0
  263. package/dist/focus/focus-engine.js +528 -0
  264. package/dist/focus/focus-engine.js.map +1 -0
  265. package/dist/focus/focus-executor.d.ts +79 -0
  266. package/dist/focus/focus-executor.d.ts.map +1 -0
  267. package/dist/focus/focus-executor.js +421 -0
  268. package/dist/focus/focus-executor.js.map +1 -0
  269. package/dist/focus/focus-lifecycle.d.ts +60 -0
  270. package/dist/focus/focus-lifecycle.d.ts.map +1 -0
  271. package/dist/focus/focus-lifecycle.js +543 -0
  272. package/dist/focus/focus-lifecycle.js.map +1 -0
  273. package/dist/focus/focus-loop-registry.d.ts +52 -0
  274. package/dist/focus/focus-loop-registry.d.ts.map +1 -0
  275. package/dist/focus/focus-loop-registry.js +362 -0
  276. package/dist/focus/focus-loop-registry.js.map +1 -0
  277. package/dist/focus/focus-loop.d.ts +96 -0
  278. package/dist/focus/focus-loop.d.ts.map +1 -0
  279. package/dist/focus/focus-loop.js +364 -0
  280. package/dist/focus/focus-loop.js.map +1 -0
  281. package/dist/focus/focus-phase.d.ts.map +1 -0
  282. package/dist/focus/focus-phase.js.map +1 -0
  283. package/dist/focus/focus-respawn-guard.d.ts +39 -0
  284. package/dist/focus/focus-respawn-guard.d.ts.map +1 -0
  285. package/dist/focus/focus-respawn-guard.js +62 -0
  286. package/dist/focus/focus-respawn-guard.js.map +1 -0
  287. package/dist/focus/focus-team-state.d.ts +115 -0
  288. package/dist/focus/focus-team-state.d.ts.map +1 -0
  289. package/dist/focus/focus-team-state.js +195 -0
  290. package/dist/focus/focus-team-state.js.map +1 -0
  291. package/dist/focus/focus-worktree-state.d.ts +70 -0
  292. package/dist/focus/focus-worktree-state.d.ts.map +1 -0
  293. package/dist/focus/focus-worktree-state.js +118 -0
  294. package/dist/focus/focus-worktree-state.js.map +1 -0
  295. package/dist/focus/listener-auto-advance.d.ts +126 -0
  296. package/dist/focus/listener-auto-advance.d.ts.map +1 -0
  297. package/dist/focus/listener-auto-advance.js +629 -0
  298. package/dist/focus/listener-auto-advance.js.map +1 -0
  299. package/dist/focus/listener.d.ts +101 -0
  300. package/dist/focus/listener.d.ts.map +1 -0
  301. package/dist/focus/listener.js +770 -0
  302. package/dist/focus/listener.js.map +1 -0
  303. package/dist/focus-stage-lifecycle/index.d.ts +63 -0
  304. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -0
  305. package/dist/focus-stage-lifecycle/index.js +179 -0
  306. package/dist/focus-stage-lifecycle/index.js.map +1 -0
  307. package/dist/focus-stage-lifecycle/planning-release.js +4 -4
  308. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  309. package/dist/focus-stage-lifecycle/review-convergence.d.ts +1 -1
  310. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
  311. package/dist/focus-stage-lifecycle/review-convergence.js +2 -2
  312. package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
  313. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +1 -1
  314. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  315. package/dist/focus-stage-lifecycle/wedge-watchdog.js +3 -3
  316. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  317. package/dist/git/branch.d.ts +1 -1
  318. package/dist/git/branch.d.ts.map +1 -1
  319. package/dist/git/branch.js +1 -1
  320. package/dist/git/branch.js.map +1 -1
  321. package/dist/git/exec.d.ts +24 -0
  322. package/dist/git/exec.d.ts.map +1 -0
  323. package/dist/git/exec.js +114 -0
  324. package/dist/git/exec.js.map +1 -0
  325. package/dist/git/genesis.js +1 -1
  326. package/dist/git/genesis.js.map +1 -1
  327. package/dist/git/index.d.ts +3 -8
  328. package/dist/git/index.d.ts.map +1 -1
  329. package/dist/git/index.js +3 -8
  330. package/dist/git/index.js.map +1 -1
  331. package/dist/git/integration.d.ts +1 -1
  332. package/dist/git/integration.d.ts.map +1 -1
  333. package/dist/git/integration.js +1 -1
  334. package/dist/git/integration.js.map +1 -1
  335. package/dist/git/merge-lock.js +1 -1
  336. package/dist/git/merge-lock.js.map +1 -1
  337. package/dist/git/merge.d.ts +57 -2
  338. package/dist/git/merge.d.ts.map +1 -1
  339. package/dist/git/merge.js +204 -23
  340. package/dist/git/merge.js.map +1 -1
  341. package/dist/git/state-detector.d.ts +1 -1
  342. package/dist/git/state-detector.d.ts.map +1 -1
  343. package/dist/git/state-detector.js +1 -1
  344. package/dist/git/state-detector.js.map +1 -1
  345. package/dist/git/types.d.ts +10 -1
  346. package/dist/git/types.d.ts.map +1 -1
  347. package/dist/git/types.js.map +1 -1
  348. package/dist/git/utils.js +1 -1
  349. package/dist/git/utils.js.map +1 -1
  350. package/dist/guard/condition-evaluators.d.ts +70 -0
  351. package/dist/guard/condition-evaluators.d.ts.map +1 -0
  352. package/dist/guard/condition-evaluators.js +203 -0
  353. package/dist/guard/condition-evaluators.js.map +1 -0
  354. package/dist/guard/evaluation-context.d.ts.map +1 -0
  355. package/dist/guard/evaluation-context.js +44 -0
  356. package/dist/guard/evaluation-context.js.map +1 -0
  357. package/dist/guard/guard-evaluator.d.ts +47 -0
  358. package/dist/guard/guard-evaluator.d.ts.map +1 -0
  359. package/dist/guard/guard-evaluator.js +195 -0
  360. package/dist/guard/guard-evaluator.js.map +1 -0
  361. package/dist/guard/trigger-executor.d.ts +99 -0
  362. package/dist/guard/trigger-executor.d.ts.map +1 -0
  363. package/dist/guard/trigger-executor.js +437 -0
  364. package/dist/guard/trigger-executor.js.map +1 -0
  365. package/dist/host-control/catalog.js +1 -1
  366. package/dist/host-control/catalog.js.map +1 -1
  367. package/dist/host-control/client.js +1 -1
  368. package/dist/host-control/client.js.map +1 -1
  369. package/dist/host-control/discovery-poll.d.ts +36 -0
  370. package/dist/host-control/discovery-poll.d.ts.map +1 -0
  371. package/dist/host-control/discovery-poll.js +94 -0
  372. package/dist/host-control/discovery-poll.js.map +1 -0
  373. package/dist/host-control/sizing.js +1 -1
  374. package/dist/host-control/sizing.js.map +1 -1
  375. package/dist/index.js +12 -12
  376. package/dist/index.js.map +1 -1
  377. package/dist/loops/context-audit-pass.d.ts +2 -2
  378. package/dist/loops/context-audit-pass.d.ts.map +1 -1
  379. package/dist/loops/context-audit-pass.js +3 -3
  380. package/dist/loops/context-audit-pass.js.map +1 -1
  381. package/dist/loops/engine.js +2 -2
  382. package/dist/loops/engine.js.map +1 -1
  383. package/dist/loops/llm-client.d.ts +8 -1
  384. package/dist/loops/llm-client.d.ts.map +1 -1
  385. package/dist/loops/llm-client.js +5 -4
  386. package/dist/loops/llm-client.js.map +1 -1
  387. package/dist/loops/prompt-builder.js +1 -1
  388. package/dist/loops/prompt-builder.js.map +1 -1
  389. package/dist/merge/focus-merge.d.ts +131 -0
  390. package/dist/merge/focus-merge.d.ts.map +1 -0
  391. package/dist/merge/focus-merge.js +556 -0
  392. package/dist/merge/focus-merge.js.map +1 -0
  393. package/dist/merge/merge-back-loop.d.ts +122 -0
  394. package/dist/merge/merge-back-loop.d.ts.map +1 -0
  395. package/dist/merge/merge-back-loop.js +657 -0
  396. package/dist/merge/merge-back-loop.js.map +1 -0
  397. package/dist/merge/merge-detector.d.ts +55 -0
  398. package/dist/merge/merge-detector.d.ts.map +1 -0
  399. package/dist/merge/merge-detector.js +222 -0
  400. package/dist/merge/merge-detector.js.map +1 -0
  401. package/dist/merge/merge-failure-classify.d.ts +48 -0
  402. package/dist/merge/merge-failure-classify.d.ts.map +1 -0
  403. package/dist/merge/merge-failure-classify.js +89 -0
  404. package/dist/merge/merge-failure-classify.js.map +1 -0
  405. package/dist/nexus/endpoint-clearance.d.ts +12 -3
  406. package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
  407. package/dist/nexus/endpoint-clearance.js +17 -8
  408. package/dist/nexus/endpoint-clearance.js.map +1 -1
  409. package/dist/nexus/escalation-bridge.d.ts +8 -0
  410. package/dist/nexus/escalation-bridge.d.ts.map +1 -1
  411. package/dist/nexus/escalation-bridge.js +9 -1
  412. package/dist/nexus/escalation-bridge.js.map +1 -1
  413. package/dist/nexus/incoming.d.ts +1 -1
  414. package/dist/nexus/incoming.d.ts.map +1 -1
  415. package/dist/nexus/incoming.js +1 -1
  416. package/dist/nexus/incoming.js.map +1 -1
  417. package/dist/nexus/intake-spawn.d.ts +1 -1
  418. package/dist/nexus/intake-spawn.d.ts.map +1 -1
  419. package/dist/nexus/intake-spawn.js +1 -1
  420. package/dist/nexus/intake-spawn.js.map +1 -1
  421. package/dist/nexus/intake.d.ts +1 -1
  422. package/dist/nexus/intake.d.ts.map +1 -1
  423. package/dist/nexus/intake.js +1 -1
  424. package/dist/nexus/intake.js.map +1 -1
  425. package/dist/nexus/return.d.ts +29 -3
  426. package/dist/nexus/return.d.ts.map +1 -1
  427. package/dist/nexus/return.js +54 -3
  428. package/dist/nexus/return.js.map +1 -1
  429. package/dist/otlp/log-parser.js +1 -1
  430. package/dist/otlp/log-parser.js.map +1 -1
  431. package/dist/otlp/metric-parser.js +1 -1
  432. package/dist/otlp/metric-parser.js.map +1 -1
  433. package/dist/otlp/receiver.d.ts +1 -1
  434. package/dist/otlp/receiver.d.ts.map +1 -1
  435. package/dist/otlp/receiver.js +2 -2
  436. package/dist/otlp/receiver.js.map +1 -1
  437. package/dist/otlp/telemetry-writer.d.ts +90 -0
  438. package/dist/otlp/telemetry-writer.d.ts.map +1 -0
  439. package/dist/otlp/telemetry-writer.js +213 -0
  440. package/dist/otlp/telemetry-writer.js.map +1 -0
  441. package/dist/prd/controller.d.ts +2 -2
  442. package/dist/prd/controller.d.ts.map +1 -1
  443. package/dist/prd/controller.js +3 -3
  444. package/dist/prd/controller.js.map +1 -1
  445. package/dist/prd/focus-pushdown.d.ts +1 -1
  446. package/dist/prd/focus-pushdown.d.ts.map +1 -1
  447. package/dist/prd/focus-pushdown.js +2 -2
  448. package/dist/prd/focus-pushdown.js.map +1 -1
  449. package/dist/prd/steward.d.ts +1 -1
  450. package/dist/prd/steward.d.ts.map +1 -1
  451. package/dist/prd/steward.js +3 -2
  452. package/dist/prd/steward.js.map +1 -1
  453. package/dist/prompt/focus-prompt-builder.d.ts +33 -0
  454. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -0
  455. package/dist/prompt/focus-prompt-builder.js +118 -0
  456. package/dist/prompt/focus-prompt-builder.js.map +1 -0
  457. package/dist/prompt/onboarding-directive.d.ts.map +1 -0
  458. package/dist/prompt/onboarding-directive.js.map +1 -0
  459. package/dist/prompt/prompt-contradictions.d.ts.map +1 -0
  460. package/dist/prompt/prompt-contradictions.js.map +1 -0
  461. package/dist/prompt/prompt-listing.d.ts +70 -0
  462. package/dist/prompt/prompt-listing.d.ts.map +1 -0
  463. package/dist/prompt/prompt-listing.js.map +1 -0
  464. package/dist/prompt/team-prompt-base.d.ts +43 -0
  465. package/dist/prompt/team-prompt-base.d.ts.map +1 -0
  466. package/dist/prompt/team-prompt-base.js +123 -0
  467. package/dist/prompt/team-prompt-base.js.map +1 -0
  468. package/dist/prompt-sections/context-sections.d.ts +1 -1
  469. package/dist/prompt-sections/context-sections.d.ts.map +1 -1
  470. package/dist/prompt-sections/execution-sections.d.ts +1 -1
  471. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  472. package/dist/prompt-sections/execution-sections.js +9 -2
  473. package/dist/prompt-sections/execution-sections.js.map +1 -1
  474. package/dist/prompt-sections/persona-sections.d.ts +12 -2
  475. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  476. package/dist/prompt-sections/persona-sections.js +5 -3
  477. package/dist/prompt-sections/persona-sections.js.map +1 -1
  478. package/dist/prompt-sections/role-sections.d.ts +1 -1
  479. package/dist/prompt-sections/role-sections.d.ts.map +1 -1
  480. package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
  481. package/dist/prompt-sections/scoping-sections.js +8 -0
  482. package/dist/prompt-sections/scoping-sections.js.map +1 -1
  483. package/dist/prompt-sections/shared.d.ts +1 -1
  484. package/dist/prompt-sections/shared.d.ts.map +1 -1
  485. package/dist/queries/agent-resolvable-promotion.d.ts +19 -7
  486. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  487. package/dist/queries/agent-resolvable-promotion.js +29 -15
  488. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  489. package/dist/queries/context-assembly.d.ts +1 -1
  490. package/dist/queries/context-assembly.d.ts.map +1 -1
  491. package/dist/queries/context-assembly.js +1 -1
  492. package/dist/queries/context-assembly.js.map +1 -1
  493. package/dist/queries/context-lock-queries.d.ts +2 -2
  494. package/dist/queries/context-lock-queries.d.ts.map +1 -1
  495. package/dist/queries/daemon-connection.d.ts +21 -1
  496. package/dist/queries/daemon-connection.d.ts.map +1 -1
  497. package/dist/queries/daemon-connection.js +4 -1
  498. package/dist/queries/daemon-connection.js.map +1 -1
  499. package/dist/queries/deliveries.d.ts +65 -15
  500. package/dist/queries/deliveries.d.ts.map +1 -1
  501. package/dist/queries/deliveries.js +66 -54
  502. package/dist/queries/deliveries.js.map +1 -1
  503. package/dist/queries/delivery-gate-state.d.ts +23 -0
  504. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  505. package/dist/queries/drift.d.ts +1 -1
  506. package/dist/queries/drift.d.ts.map +1 -1
  507. package/dist/queries/escalation-suppression.js +1 -1
  508. package/dist/queries/escalation-suppression.js.map +1 -1
  509. package/dist/queries/focuses.d.ts +1 -1
  510. package/dist/queries/focuses.d.ts.map +1 -1
  511. package/dist/queries/focuses.js +1 -1
  512. package/dist/queries/focuses.js.map +1 -1
  513. package/dist/queries/guards.d.ts +1 -1
  514. package/dist/queries/guards.d.ts.map +1 -1
  515. package/dist/queries/guards.js +1 -1
  516. package/dist/queries/guards.js.map +1 -1
  517. package/dist/queries/holds.d.ts +3 -2
  518. package/dist/queries/holds.d.ts.map +1 -1
  519. package/dist/queries/holds.js +7 -6
  520. package/dist/queries/holds.js.map +1 -1
  521. package/dist/queries/issues.d.ts +20 -8
  522. package/dist/queries/issues.d.ts.map +1 -1
  523. package/dist/queries/issues.js +32 -29
  524. package/dist/queries/issues.js.map +1 -1
  525. package/dist/queries/prd.d.ts +2 -1
  526. package/dist/queries/prd.d.ts.map +1 -1
  527. package/dist/queries/prd.js +3 -2
  528. package/dist/queries/prd.js.map +1 -1
  529. package/dist/queries/reality-tree.js +1 -1
  530. package/dist/queries/reality-tree.js.map +1 -1
  531. package/dist/queries/requests.d.ts +30 -0
  532. package/dist/queries/requests.d.ts.map +1 -0
  533. package/dist/queries/requests.js +32 -0
  534. package/dist/queries/requests.js.map +1 -0
  535. package/dist/queries/roles.d.ts +1 -1
  536. package/dist/queries/roles.d.ts.map +1 -1
  537. package/dist/queries/schemas.d.ts +51 -28
  538. package/dist/queries/schemas.d.ts.map +1 -1
  539. package/dist/queries/schemas.js +48 -28
  540. package/dist/queries/schemas.js.map +1 -1
  541. package/dist/queries/sessions.d.ts +1 -1
  542. package/dist/queries/sessions.d.ts.map +1 -1
  543. package/dist/queries/shared.d.ts +12 -1
  544. package/dist/queries/shared.d.ts.map +1 -1
  545. package/dist/queries/shared.js.map +1 -1
  546. package/dist/queries/system-session.d.ts +14 -3
  547. package/dist/queries/system-session.d.ts.map +1 -1
  548. package/dist/queries/system-session.js +9 -11
  549. package/dist/queries/system-session.js.map +1 -1
  550. package/dist/queries/verification.d.ts +6 -5
  551. package/dist/queries/verification.d.ts.map +1 -1
  552. package/dist/queries/verification.js +17 -14
  553. package/dist/queries/verification.js.map +1 -1
  554. package/dist/queries/workflows.d.ts +1 -1
  555. package/dist/queries/workflows.d.ts.map +1 -1
  556. package/dist/queries/worktrees.d.ts +10 -10
  557. package/dist/queries/worktrees.d.ts.map +1 -1
  558. package/dist/queries/worktrees.js.map +1 -1
  559. package/dist/reality/realign-apply.d.ts +65 -0
  560. package/dist/reality/realign-apply.d.ts.map +1 -0
  561. package/dist/reality/realign-apply.js +302 -0
  562. package/dist/reality/realign-apply.js.map +1 -0
  563. package/dist/reality/reality-pole-capture.d.ts.map +1 -0
  564. package/dist/reality/reality-pole-capture.js +114 -0
  565. package/dist/reality/reality-pole-capture.js.map +1 -0
  566. package/dist/reality/reality-pole.d.ts +64 -0
  567. package/dist/reality/reality-pole.d.ts.map +1 -0
  568. package/dist/reality/reality-pole.js +101 -0
  569. package/dist/reality/reality-pole.js.map +1 -0
  570. package/dist/reality/reality-writeback.d.ts.map +1 -0
  571. package/dist/reality/reality-writeback.js.map +1 -0
  572. package/dist/resolvers/agent-escalations.js +2 -2
  573. package/dist/resolvers/agent-escalations.js.map +1 -1
  574. package/dist/resolvers/agent-session-summaries.js +2 -2
  575. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  576. package/dist/resolvers/assembly-engine.d.ts +114 -0
  577. package/dist/resolvers/assembly-engine.d.ts.map +1 -0
  578. package/dist/resolvers/assembly-engine.js +137 -0
  579. package/dist/resolvers/assembly-engine.js.map +1 -0
  580. package/dist/resolvers/delivery-acceptance-criteria.js +1 -1
  581. package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
  582. package/dist/resolvers/delivery-description.js +1 -1
  583. package/dist/resolvers/delivery-description.js.map +1 -1
  584. package/dist/resolvers/delivery-issues.js +1 -1
  585. package/dist/resolvers/delivery-issues.js.map +1 -1
  586. package/dist/resolvers/delivery-listing.js +2 -2
  587. package/dist/resolvers/delivery-listing.js.map +1 -1
  588. package/dist/resolvers/delivery-tech-context.js +1 -1
  589. package/dist/resolvers/delivery-tech-context.js.map +1 -1
  590. package/dist/resolvers/deployment-profile.js +2 -2
  591. package/dist/resolvers/deployment-profile.js.map +1 -1
  592. package/dist/resolvers/drift-shortfall-proposals.js +3 -3
  593. package/dist/resolvers/drift-shortfall-proposals.js.map +1 -1
  594. package/dist/resolvers/escalation-answers.js +2 -2
  595. package/dist/resolvers/escalation-answers.js.map +1 -1
  596. package/dist/resolvers/focus-anchoring-injections.js +2 -2
  597. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  598. package/dist/resolvers/focus-context.js +1 -1
  599. package/dist/resolvers/focus-context.js.map +1 -1
  600. package/dist/resolvers/focus-endpoint-catalog.js +1 -1
  601. package/dist/resolvers/focus-endpoint-catalog.js.map +1 -1
  602. package/dist/resolvers/focus-injections.js +2 -2
  603. package/dist/resolvers/focus-injections.js.map +1 -1
  604. package/dist/resolvers/focus-last-review-report.js +2 -2
  605. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  606. package/dist/resolvers/focus-reality-tree.js +2 -2
  607. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  608. package/dist/resolvers/git-diff-against-base.js +2 -2
  609. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  610. package/dist/resolvers/guards-evaluation-results.js +2 -2
  611. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  612. package/dist/resolvers/index.d.ts +6 -5
  613. package/dist/resolvers/index.d.ts.map +1 -1
  614. package/dist/resolvers/index.js +7 -6
  615. package/dist/resolvers/index.js.map +1 -1
  616. package/dist/resolvers/loop-context.js +2 -2
  617. package/dist/resolvers/loop-context.js.map +1 -1
  618. package/dist/resolvers/loop-delivery-index.js +2 -2
  619. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  620. package/dist/resolvers/loop-documents.js +2 -2
  621. package/dist/resolvers/loop-documents.js.map +1 -1
  622. package/dist/resolvers/loop-expected-effects.js +2 -2
  623. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  624. package/dist/resolvers/loop-frt-statement.js +2 -2
  625. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  626. package/dist/resolvers/loop-injection.js +2 -2
  627. package/dist/resolvers/loop-injection.js.map +1 -1
  628. package/dist/resolvers/loop-persona.js +3 -3
  629. package/dist/resolvers/loop-persona.js.map +1 -1
  630. package/dist/resolvers/loop-questions.js +2 -2
  631. package/dist/resolvers/loop-questions.js.map +1 -1
  632. package/dist/resolvers/loop-upstream-udes.js +2 -2
  633. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  634. package/dist/resolvers/prd-context.js +2 -2
  635. package/dist/resolvers/prd-context.js.map +1 -1
  636. package/dist/resolvers/prd-persona.js +1 -1
  637. package/dist/resolvers/prd-persona.js.map +1 -1
  638. package/dist/resolvers/reality-metrics.js +2 -2
  639. package/dist/resolvers/reality-metrics.js.map +1 -1
  640. package/dist/resolvers/reality-projections.js +2 -2
  641. package/dist/resolvers/reality-projections.js.map +1 -1
  642. package/dist/resolvers/reality-tree-snapshot.js +2 -2
  643. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  644. package/dist/resolvers/retired-injections.js +2 -2
  645. package/dist/resolvers/retired-injections.js.map +1 -1
  646. package/dist/resolvers/review-outcomes.js +2 -2
  647. package/dist/resolvers/review-outcomes.js.map +1 -1
  648. package/dist/resolvers/security-advisory.js +2 -2
  649. package/dist/resolvers/security-advisory.js.map +1 -1
  650. package/dist/resolvers/shared/git-diff.d.ts +32 -3
  651. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  652. package/dist/resolvers/shared/git-diff.js +120 -16
  653. package/dist/resolvers/shared/git-diff.js.map +1 -1
  654. package/dist/resolvers/shared/loop.d.ts +1 -1
  655. package/dist/resolvers/shared/loop.d.ts.map +1 -1
  656. package/dist/resolvers/shared/wiki.d.ts +2 -1
  657. package/dist/resolvers/shared/wiki.d.ts.map +1 -1
  658. package/dist/resolvers/shared/wiki.js +4 -3
  659. package/dist/resolvers/shared/wiki.js.map +1 -1
  660. package/dist/resolvers/wiki-search.js +1 -1
  661. package/dist/resolvers/wiki-search.js.map +1 -1
  662. package/dist/resolvers/wiki-topic.js +2 -2
  663. package/dist/resolvers/wiki-topic.js.map +1 -1
  664. package/dist/resolvers/workflow-stages.js +2 -2
  665. package/dist/resolvers/workflow-stages.js.map +1 -1
  666. package/dist/scanners/deps.d.ts +1 -1
  667. package/dist/scanners/deps.d.ts.map +1 -1
  668. package/dist/scanners/signatures.d.ts +1 -1
  669. package/dist/scanners/signatures.d.ts.map +1 -1
  670. package/dist/scanners/workflow.d.ts +1 -1
  671. package/dist/scanners/workflow.d.ts.map +1 -1
  672. package/dist/security/security-auto-inject.d.ts.map +1 -0
  673. package/dist/security/security-auto-inject.js +168 -0
  674. package/dist/security/security-auto-inject.js.map +1 -0
  675. package/dist/security/security-finding-gate.d.ts.map +1 -0
  676. package/dist/security/security-finding-gate.js +84 -0
  677. package/dist/security/security-finding-gate.js.map +1 -0
  678. package/dist/security/security-rescan-resolution.d.ts.map +1 -0
  679. package/dist/security/security-rescan-resolution.js +117 -0
  680. package/dist/security/security-rescan-resolution.js.map +1 -0
  681. package/dist/security/security-scan-engine.d.ts +145 -0
  682. package/dist/security/security-scan-engine.d.ts.map +1 -0
  683. package/dist/security/security-scan-engine.js +271 -0
  684. package/dist/security/security-scan-engine.js.map +1 -0
  685. package/dist/session/session-lineage.d.ts.map +1 -0
  686. package/dist/session/session-lineage.js.map +1 -0
  687. package/dist/session/session-stamp.d.ts +63 -0
  688. package/dist/session/session-stamp.d.ts.map +1 -0
  689. package/dist/session/session-stamp.js +67 -0
  690. package/dist/session/session-stamp.js.map +1 -0
  691. package/dist/shell/activity-tracker.d.ts.map +1 -0
  692. package/dist/shell/activity-tracker.js +19 -0
  693. package/dist/shell/activity-tracker.js.map +1 -0
  694. package/dist/shell/agent-state.d.ts.map +1 -0
  695. package/dist/shell/agent-state.js.map +1 -0
  696. package/dist/shell/auth-liveness.d.ts.map +1 -0
  697. package/dist/shell/auth-liveness.js.map +1 -0
  698. package/dist/shell/branch-status.d.ts +97 -0
  699. package/dist/shell/branch-status.d.ts.map +1 -0
  700. package/dist/shell/branch-status.js +299 -0
  701. package/dist/shell/branch-status.js.map +1 -0
  702. package/dist/shell/circuit-wedge-watcher.d.ts +48 -0
  703. package/dist/shell/circuit-wedge-watcher.d.ts.map +1 -0
  704. package/dist/shell/circuit-wedge-watcher.js +94 -0
  705. package/dist/shell/circuit-wedge-watcher.js.map +1 -0
  706. package/dist/shell/config-hot-reload.d.ts +91 -0
  707. package/dist/shell/config-hot-reload.d.ts.map +1 -0
  708. package/dist/shell/config-hot-reload.js.map +1 -0
  709. package/dist/shell/config-reconcile.d.ts +114 -0
  710. package/dist/shell/config-reconcile.d.ts.map +1 -0
  711. package/dist/shell/config-reconcile.js +189 -0
  712. package/dist/shell/config-reconcile.js.map +1 -0
  713. package/dist/shell/config.d.ts +102 -0
  714. package/dist/shell/config.d.ts.map +1 -0
  715. package/dist/shell/config.js +486 -0
  716. package/dist/shell/config.js.map +1 -0
  717. package/dist/shell/constants.d.ts.map +1 -0
  718. package/dist/shell/constants.js.map +1 -0
  719. package/dist/shell/control-state.d.ts +109 -0
  720. package/dist/shell/control-state.d.ts.map +1 -0
  721. package/dist/shell/control-state.js +337 -0
  722. package/dist/shell/control-state.js.map +1 -0
  723. package/dist/shell/crash-recovery.d.ts +141 -0
  724. package/dist/shell/crash-recovery.d.ts.map +1 -0
  725. package/dist/shell/crash-recovery.js +631 -0
  726. package/dist/shell/crash-recovery.js.map +1 -0
  727. package/dist/shell/daemon-logs.d.ts.map +1 -0
  728. package/dist/shell/daemon-logs.js.map +1 -0
  729. package/dist/shell/daemon-process.d.ts.map +1 -0
  730. package/dist/shell/daemon-process.js.map +1 -0
  731. package/dist/shell/daemon-readiness.d.ts.map +1 -0
  732. package/dist/shell/daemon-readiness.js.map +1 -0
  733. package/dist/shell/drain-teardown.d.ts.map +1 -0
  734. package/dist/shell/drain-teardown.js.map +1 -0
  735. package/dist/shell/gitignore-convergence.d.ts.map +1 -0
  736. package/dist/shell/gitignore-convergence.js.map +1 -0
  737. package/dist/shell/health-events.d.ts.map +1 -0
  738. package/dist/shell/health-events.js.map +1 -0
  739. package/dist/shell/heartbeat.d.ts +165 -0
  740. package/dist/shell/heartbeat.d.ts.map +1 -0
  741. package/dist/shell/heartbeat.js +502 -0
  742. package/dist/shell/heartbeat.js.map +1 -0
  743. package/dist/shell/install-probe-tick.d.ts +63 -0
  744. package/dist/shell/install-probe-tick.d.ts.map +1 -0
  745. package/dist/shell/install-probe-tick.js +139 -0
  746. package/dist/shell/install-probe-tick.js.map +1 -0
  747. package/dist/shell/install-probe.d.ts.map +1 -0
  748. package/dist/shell/install-probe.js.map +1 -0
  749. package/dist/shell/intake-control.d.ts.map +1 -0
  750. package/dist/shell/intake-control.js.map +1 -0
  751. package/dist/shell/log-manager.d.ts +18 -0
  752. package/dist/shell/log-manager.d.ts.map +1 -0
  753. package/dist/shell/log-manager.js.map +1 -0
  754. package/dist/shell/log.d.ts.map +1 -0
  755. package/dist/shell/log.js.map +1 -0
  756. package/dist/shell/mcp-resolution.d.ts.map +1 -0
  757. package/dist/shell/mcp-resolution.js.map +1 -0
  758. package/dist/shell/model-resolution.d.ts.map +1 -0
  759. package/dist/shell/model-resolution.js.map +1 -0
  760. package/dist/shell/non-interactive-init.d.ts +40 -0
  761. package/dist/shell/non-interactive-init.d.ts.map +1 -0
  762. package/dist/shell/non-interactive-init.js.map +1 -0
  763. package/dist/shell/product-scaffold.d.ts +56 -0
  764. package/dist/shell/product-scaffold.d.ts.map +1 -0
  765. package/dist/shell/product-scaffold.js +136 -0
  766. package/dist/shell/product-scaffold.js.map +1 -0
  767. package/dist/shell/schema-version-gate.d.ts.map +1 -0
  768. package/dist/shell/schema-version-gate.js +220 -0
  769. package/dist/shell/schema-version-gate.js.map +1 -0
  770. package/dist/shell/shutdown-state.d.ts.map +1 -0
  771. package/dist/shell/shutdown-state.js.map +1 -0
  772. package/dist/shell/stop-request.d.ts.map +1 -0
  773. package/dist/shell/stop-request.js.map +1 -0
  774. package/dist/shell/unified-engine-lifecycle.d.ts +186 -0
  775. package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -0
  776. package/dist/shell/unified-engine-lifecycle.js +594 -0
  777. package/dist/shell/unified-engine-lifecycle.js.map +1 -0
  778. package/dist/shell/unified-init.d.ts +86 -0
  779. package/dist/shell/unified-init.d.ts.map +1 -0
  780. package/dist/shell/unified-init.js +313 -0
  781. package/dist/shell/unified-init.js.map +1 -0
  782. package/dist/shell/unified-shell-config.d.ts +103 -0
  783. package/dist/shell/unified-shell-config.d.ts.map +1 -0
  784. package/dist/shell/unified-shell-config.js.map +1 -0
  785. package/dist/shell/unified-shell-provisioning.d.ts.map +1 -0
  786. package/dist/shell/unified-shell-provisioning.js +277 -0
  787. package/dist/shell/unified-shell-provisioning.js.map +1 -0
  788. package/dist/shell/unified-shell-status.d.ts.map +1 -0
  789. package/dist/shell/unified-shell-status.js +143 -0
  790. package/dist/shell/unified-shell-status.js.map +1 -0
  791. package/dist/shell/unified-shell.d.ts.map +1 -0
  792. package/dist/shell/unified-shell.js +583 -0
  793. package/dist/shell/unified-shell.js.map +1 -0
  794. package/dist/shell/worker-pidfile.d.ts.map +1 -0
  795. package/dist/shell/worker-pidfile.js.map +1 -0
  796. package/dist/spawn/dag-validator.d.ts +52 -0
  797. package/dist/spawn/dag-validator.d.ts.map +1 -0
  798. package/dist/spawn/dag-validator.js.map +1 -0
  799. package/dist/spawn/delivered-manifest.d.ts +1 -1
  800. package/dist/spawn/delivered-manifest.d.ts.map +1 -1
  801. package/dist/spawn/dependency-resolver.d.ts +77 -0
  802. package/dist/spawn/dependency-resolver.d.ts.map +1 -0
  803. package/dist/spawn/dependency-resolver.js.map +1 -0
  804. package/dist/spawn/guards.d.ts.map +1 -0
  805. package/dist/spawn/guards.js +46 -0
  806. package/dist/spawn/guards.js.map +1 -0
  807. package/dist/spawn/helpers.d.ts +86 -0
  808. package/dist/spawn/helpers.d.ts.map +1 -0
  809. package/dist/spawn/helpers.js +220 -0
  810. package/dist/spawn/helpers.js.map +1 -0
  811. package/dist/spawn/index.d.ts +29 -0
  812. package/dist/spawn/index.d.ts.map +1 -0
  813. package/dist/spawn/index.js +37 -0
  814. package/dist/spawn/index.js.map +1 -0
  815. package/dist/spawn/lifecycle.d.ts +148 -0
  816. package/dist/spawn/lifecycle.d.ts.map +1 -0
  817. package/dist/spawn/lifecycle.js +413 -0
  818. package/dist/spawn/lifecycle.js.map +1 -0
  819. package/dist/spawn/liveness.d.ts.map +1 -0
  820. package/dist/spawn/liveness.js +41 -0
  821. package/dist/spawn/liveness.js.map +1 -0
  822. package/dist/spawn/model-routing.d.ts +2 -2
  823. package/dist/spawn/model-routing.d.ts.map +1 -1
  824. package/dist/spawn/model-routing.js +4 -4
  825. package/dist/spawn/model-routing.js.map +1 -1
  826. package/dist/spawn/process-spawn.d.ts +7 -7
  827. package/dist/spawn/process-spawn.d.ts.map +1 -1
  828. package/dist/spawn/process-spawn.js +9 -9
  829. package/dist/spawn/process-spawn.js.map +1 -1
  830. package/dist/spawn/prompt-assembly.d.ts +15 -6
  831. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  832. package/dist/spawn/prompt-assembly.js +8 -7
  833. package/dist/spawn/prompt-assembly.js.map +1 -1
  834. package/dist/spawn/shared.d.ts +3 -3
  835. package/dist/spawn/shared.d.ts.map +1 -1
  836. package/dist/spawn/shared.js +1 -1
  837. package/dist/spawn/spawn-cooldown.d.ts.map +1 -0
  838. package/dist/spawn/spawn-cooldown.js +53 -0
  839. package/dist/spawn/spawn-cooldown.js.map +1 -0
  840. package/dist/spawn/spawn-decision.d.ts +6 -6
  841. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  842. package/dist/spawn/spawn-decision.js +8 -8
  843. package/dist/spawn/spawn-decision.js.map +1 -1
  844. package/dist/spawn/spawn-environment.d.ts +126 -0
  845. package/dist/spawn/spawn-environment.d.ts.map +1 -0
  846. package/dist/spawn/spawn-environment.js +177 -0
  847. package/dist/spawn/spawn-environment.js.map +1 -0
  848. package/dist/spawn/spawn-sandbox.d.ts +121 -0
  849. package/dist/spawn/spawn-sandbox.d.ts.map +1 -0
  850. package/dist/spawn/spawn-sandbox.js.map +1 -0
  851. package/dist/spawn/state.d.ts.map +1 -0
  852. package/dist/spawn/state.js.map +1 -0
  853. package/dist/spawn/task-converter.d.ts +61 -0
  854. package/dist/spawn/task-converter.d.ts.map +1 -0
  855. package/dist/spawn/task-converter.js.map +1 -0
  856. package/dist/spawn/worker-registry.d.ts.map +1 -0
  857. package/dist/spawn/worker-registry.js.map +1 -0
  858. package/dist/spawn/worktree-session.d.ts +5 -5
  859. package/dist/spawn/worktree-session.d.ts.map +1 -1
  860. package/dist/spawn/worktree-session.js +24 -25
  861. package/dist/spawn/worktree-session.js.map +1 -1
  862. package/dist/templates/claude-md.d.ts +1 -1
  863. package/dist/templates/claude-md.d.ts.map +1 -1
  864. package/dist/templates/claude-md.js +25 -0
  865. package/dist/templates/claude-md.js.map +1 -1
  866. package/dist/types/focus.d.ts +93 -51
  867. package/dist/types/focus.d.ts.map +1 -1
  868. package/dist/update/auto-update-idle.d.ts.map +1 -0
  869. package/dist/update/auto-update-idle.js.map +1 -0
  870. package/dist/update/auto-update.d.ts.map +1 -0
  871. package/dist/update/auto-update.js +317 -0
  872. package/dist/update/auto-update.js.map +1 -0
  873. package/dist/update/build-info.d.ts.map +1 -0
  874. package/dist/update/build-info.js.map +1 -0
  875. package/dist/update/capability-pointer.d.ts.map +1 -0
  876. package/dist/update/capability-pointer.js.map +1 -0
  877. package/dist/update/self-update.d.ts.map +1 -0
  878. package/dist/update/self-update.js +565 -0
  879. package/dist/update/self-update.js.map +1 -0
  880. package/dist/update/version-check.d.ts.map +1 -0
  881. package/dist/update/version-check.js +115 -0
  882. package/dist/update/version-check.js.map +1 -0
  883. package/dist/verify/ai-inspection-context.d.ts +63 -0
  884. package/dist/verify/ai-inspection-context.d.ts.map +1 -0
  885. package/dist/verify/ai-inspection-context.js +203 -0
  886. package/dist/verify/ai-inspection-context.js.map +1 -0
  887. package/dist/verify/ai-inspection-runner.d.ts.map +1 -0
  888. package/dist/verify/ai-inspection-runner.js +256 -0
  889. package/dist/verify/ai-inspection-runner.js.map +1 -0
  890. package/dist/verify/cascade-restatement.d.ts.map +1 -0
  891. package/dist/verify/cascade-restatement.js.map +1 -0
  892. package/dist/verify/de-restatement.d.ts.map +1 -0
  893. package/dist/verify/de-restatement.js +160 -0
  894. package/dist/verify/de-restatement.js.map +1 -0
  895. package/dist/verify/retire-aware-restatement.d.ts.map +1 -0
  896. package/dist/verify/retire-aware-restatement.js +231 -0
  897. package/dist/verify/retire-aware-restatement.js.map +1 -0
  898. package/dist/verify/stall-detector-config.d.ts.map +1 -0
  899. package/dist/verify/stall-detector-config.js.map +1 -0
  900. package/dist/verify/stall-detectors.d.ts +196 -0
  901. package/dist/verify/stall-detectors.d.ts.map +1 -0
  902. package/dist/verify/stall-detectors.js +348 -0
  903. package/dist/verify/stall-detectors.js.map +1 -0
  904. package/dist/verify/verification-baseline.d.ts +112 -0
  905. package/dist/verify/verification-baseline.d.ts.map +1 -0
  906. package/dist/verify/verification-baseline.js +267 -0
  907. package/dist/verify/verification-baseline.js.map +1 -0
  908. package/dist/verify/verification-config.d.ts +146 -0
  909. package/dist/verify/verification-config.d.ts.map +1 -0
  910. package/dist/verify/verification-config.js.map +1 -0
  911. package/dist/verify/verification-default-on.d.ts +160 -0
  912. package/dist/verify/verification-default-on.d.ts.map +1 -0
  913. package/dist/verify/verification-default-on.js +272 -0
  914. package/dist/verify/verification-default-on.js.map +1 -0
  915. package/dist/verify/verification-deps.d.ts +191 -0
  916. package/dist/verify/verification-deps.d.ts.map +1 -0
  917. package/dist/verify/verification-deps.js.map +1 -0
  918. package/dist/verify/verification-deterministic.d.ts +56 -0
  919. package/dist/verify/verification-deterministic.d.ts.map +1 -0
  920. package/dist/verify/verification-deterministic.js +153 -0
  921. package/dist/verify/verification-deterministic.js.map +1 -0
  922. package/dist/verify/verification-engine.d.ts +94 -0
  923. package/dist/verify/verification-engine.d.ts.map +1 -0
  924. package/dist/verify/verification-engine.js +717 -0
  925. package/dist/verify/verification-engine.js.map +1 -0
  926. package/dist/verify/verification-evidence.d.ts +106 -0
  927. package/dist/verify/verification-evidence.d.ts.map +1 -0
  928. package/dist/verify/verification-evidence.js +159 -0
  929. package/dist/verify/verification-evidence.js.map +1 -0
  930. package/dist/verify/verification-failure-parser.d.ts.map +1 -0
  931. package/dist/verify/verification-failure-parser.js.map +1 -0
  932. package/dist/verify/verification-feedback.d.ts +173 -0
  933. package/dist/verify/verification-feedback.d.ts.map +1 -0
  934. package/dist/verify/verification-feedback.js +442 -0
  935. package/dist/verify/verification-feedback.js.map +1 -0
  936. package/dist/verify/verification-manifest.d.ts.map +1 -0
  937. package/dist/verify/verification-manifest.js.map +1 -0
  938. package/dist/verify/verify-reconciliation.d.ts.map +1 -0
  939. package/dist/verify/verify-reconciliation.js.map +1 -0
  940. package/dist/verify/verify-restatement.d.ts.map +1 -0
  941. package/dist/verify/verify-restatement.js +167 -0
  942. package/dist/verify/verify-restatement.js.map +1 -0
  943. package/dist/workflow/pipeline-config.d.ts +72 -0
  944. package/dist/workflow/pipeline-config.d.ts.map +1 -0
  945. package/dist/workflow/pipeline-config.js.map +1 -0
  946. package/dist/workflow/stage-classifier.d.ts +32 -0
  947. package/dist/workflow/stage-classifier.d.ts.map +1 -0
  948. package/dist/workflow/stage-classifier.js.map +1 -0
  949. package/dist/workflow/workflow-engine.d.ts +95 -0
  950. package/dist/workflow/workflow-engine.d.ts.map +1 -0
  951. package/dist/workflow/workflow-engine.js.map +1 -0
  952. package/dist/worktree/focus.d.ts +15 -70
  953. package/dist/worktree/focus.d.ts.map +1 -1
  954. package/dist/worktree/focus.js +16 -180
  955. package/dist/worktree/focus.js.map +1 -1
  956. package/dist/worktree/identity.js +1 -1
  957. package/dist/worktree/identity.js.map +1 -1
  958. package/dist/worktree/index.d.ts +2 -1
  959. package/dist/worktree/index.d.ts.map +1 -1
  960. package/dist/worktree/index.js +2 -1
  961. package/dist/worktree/index.js.map +1 -1
  962. package/dist/worktree/provision.d.ts +147 -0
  963. package/dist/worktree/provision.d.ts.map +1 -0
  964. package/dist/worktree/provision.js +467 -0
  965. package/dist/worktree/provision.js.map +1 -0
  966. package/dist/worktree/reap.js +1 -1
  967. package/dist/worktree/reap.js.map +1 -1
  968. package/dist/worktree/safety.d.ts +14 -6
  969. package/dist/worktree/safety.d.ts.map +1 -1
  970. package/dist/worktree/safety.js +18 -14
  971. package/dist/worktree/safety.js.map +1 -1
  972. package/dist/worktree/scratch-guard.d.ts +57 -0
  973. package/dist/worktree/scratch-guard.d.ts.map +1 -1
  974. package/dist/worktree/scratch-guard.js +169 -22
  975. package/dist/worktree/scratch-guard.js.map +1 -1
  976. package/dist/worktree/state.d.ts +1 -1
  977. package/dist/worktree/state.d.ts.map +1 -1
  978. package/dist/worktree/state.js +3 -3
  979. package/dist/worktree/state.js.map +1 -1
  980. package/dist/worktree/verify-interlock.d.ts +52 -0
  981. package/dist/worktree/verify-interlock.d.ts.map +1 -0
  982. package/dist/worktree/verify-interlock.js +94 -0
  983. package/dist/worktree/verify-interlock.js.map +1 -0
  984. package/package.json +4 -4
  985. package/dist/activity-tracker.d.ts.map +0 -1
  986. package/dist/activity-tracker.js +0 -19
  987. package/dist/activity-tracker.js.map +0 -1
  988. package/dist/agent-state.d.ts.map +0 -1
  989. package/dist/agent-state.js.map +0 -1
  990. package/dist/ai-inspection-context.d.ts +0 -63
  991. package/dist/ai-inspection-context.d.ts.map +0 -1
  992. package/dist/ai-inspection-context.js +0 -203
  993. package/dist/ai-inspection-context.js.map +0 -1
  994. package/dist/ai-inspection-runner.d.ts.map +0 -1
  995. package/dist/ai-inspection-runner.js +0 -256
  996. package/dist/ai-inspection-runner.js.map +0 -1
  997. package/dist/assembly-engine.d.ts +0 -114
  998. package/dist/assembly-engine.d.ts.map +0 -1
  999. package/dist/assembly-engine.js +0 -137
  1000. package/dist/assembly-engine.js.map +0 -1
  1001. package/dist/assembly-resolvers.d.ts +0 -28
  1002. package/dist/assembly-resolvers.d.ts.map +0 -1
  1003. package/dist/assembly-resolvers.js +0 -30
  1004. package/dist/assembly-resolvers.js.map +0 -1
  1005. package/dist/audit-hooks.d.ts +0 -63
  1006. package/dist/audit-hooks.d.ts.map +0 -1
  1007. package/dist/audit-hooks.js +0 -154
  1008. package/dist/audit-hooks.js.map +0 -1
  1009. package/dist/audit-phase.d.ts +0 -171
  1010. package/dist/audit-phase.d.ts.map +0 -1
  1011. package/dist/audit-phase.js +0 -491
  1012. package/dist/audit-phase.js.map +0 -1
  1013. package/dist/audit-prompt.d.ts.map +0 -1
  1014. package/dist/audit-prompt.js.map +0 -1
  1015. package/dist/audit-shape.d.ts.map +0 -1
  1016. package/dist/audit-shape.js.map +0 -1
  1017. package/dist/auth-liveness.d.ts.map +0 -1
  1018. package/dist/auth-liveness.js.map +0 -1
  1019. package/dist/auto-update-idle.d.ts.map +0 -1
  1020. package/dist/auto-update-idle.js.map +0 -1
  1021. package/dist/auto-update.d.ts.map +0 -1
  1022. package/dist/auto-update.js +0 -317
  1023. package/dist/auto-update.js.map +0 -1
  1024. package/dist/branch-status.d.ts +0 -79
  1025. package/dist/branch-status.d.ts.map +0 -1
  1026. package/dist/branch-status.js +0 -292
  1027. package/dist/branch-status.js.map +0 -1
  1028. package/dist/build-info.d.ts.map +0 -1
  1029. package/dist/build-info.js.map +0 -1
  1030. package/dist/capability-pointer.d.ts.map +0 -1
  1031. package/dist/capability-pointer.js.map +0 -1
  1032. package/dist/cascade-restatement.d.ts.map +0 -1
  1033. package/dist/cascade-restatement.js.map +0 -1
  1034. package/dist/ci-escalation.d.ts.map +0 -1
  1035. package/dist/ci-escalation.js +0 -66
  1036. package/dist/ci-escalation.js.map +0 -1
  1037. package/dist/ci-sensor-loop.d.ts +0 -112
  1038. package/dist/ci-sensor-loop.d.ts.map +0 -1
  1039. package/dist/ci-sensor-loop.js +0 -243
  1040. package/dist/ci-sensor-loop.js.map +0 -1
  1041. package/dist/ci-status-git.d.ts +0 -53
  1042. package/dist/ci-status-git.d.ts.map +0 -1
  1043. package/dist/ci-status-git.js +0 -89
  1044. package/dist/ci-status-git.js.map +0 -1
  1045. package/dist/ci-status.d.ts +0 -137
  1046. package/dist/ci-status.d.ts.map +0 -1
  1047. package/dist/ci-status.js.map +0 -1
  1048. package/dist/circuit-wedge-watcher.d.ts +0 -48
  1049. package/dist/circuit-wedge-watcher.d.ts.map +0 -1
  1050. package/dist/circuit-wedge-watcher.js +0 -94
  1051. package/dist/circuit-wedge-watcher.js.map +0 -1
  1052. package/dist/close-loop-dispatcher.d.ts +0 -325
  1053. package/dist/close-loop-dispatcher.d.ts.map +0 -1
  1054. package/dist/close-loop-dispatcher.js +0 -362
  1055. package/dist/close-loop-dispatcher.js.map +0 -1
  1056. package/dist/condition-evaluators.d.ts +0 -70
  1057. package/dist/condition-evaluators.d.ts.map +0 -1
  1058. package/dist/condition-evaluators.js +0 -203
  1059. package/dist/condition-evaluators.js.map +0 -1
  1060. package/dist/config-hot-reload.d.ts +0 -91
  1061. package/dist/config-hot-reload.d.ts.map +0 -1
  1062. package/dist/config-hot-reload.js.map +0 -1
  1063. package/dist/config-reconcile.d.ts +0 -114
  1064. package/dist/config-reconcile.d.ts.map +0 -1
  1065. package/dist/config-reconcile.js +0 -189
  1066. package/dist/config-reconcile.js.map +0 -1
  1067. package/dist/config.d.ts +0 -102
  1068. package/dist/config.d.ts.map +0 -1
  1069. package/dist/config.js +0 -486
  1070. package/dist/config.js.map +0 -1
  1071. package/dist/constants.d.ts.map +0 -1
  1072. package/dist/constants.js.map +0 -1
  1073. package/dist/context-audit.d.ts +0 -68
  1074. package/dist/context-audit.d.ts.map +0 -1
  1075. package/dist/context-audit.js.map +0 -1
  1076. package/dist/context-lock.d.ts +0 -129
  1077. package/dist/context-lock.d.ts.map +0 -1
  1078. package/dist/context-lock.js.map +0 -1
  1079. package/dist/control-state.d.ts +0 -109
  1080. package/dist/control-state.d.ts.map +0 -1
  1081. package/dist/control-state.js +0 -337
  1082. package/dist/control-state.js.map +0 -1
  1083. package/dist/crash-recovery.d.ts +0 -141
  1084. package/dist/crash-recovery.d.ts.map +0 -1
  1085. package/dist/crash-recovery.js +0 -631
  1086. package/dist/crash-recovery.js.map +0 -1
  1087. package/dist/daemon-logs.d.ts.map +0 -1
  1088. package/dist/daemon-logs.js.map +0 -1
  1089. package/dist/daemon-process.d.ts.map +0 -1
  1090. package/dist/daemon-process.js.map +0 -1
  1091. package/dist/daemon-readiness.d.ts.map +0 -1
  1092. package/dist/daemon-readiness.js.map +0 -1
  1093. package/dist/dag-validator.d.ts +0 -52
  1094. package/dist/dag-validator.d.ts.map +0 -1
  1095. package/dist/dag-validator.js.map +0 -1
  1096. package/dist/de-restatement.d.ts.map +0 -1
  1097. package/dist/de-restatement.js +0 -160
  1098. package/dist/de-restatement.js.map +0 -1
  1099. package/dist/delivery-advance-block.d.ts +0 -135
  1100. package/dist/delivery-advance-block.d.ts.map +0 -1
  1101. package/dist/delivery-advance-block.js +0 -324
  1102. package/dist/delivery-advance-block.js.map +0 -1
  1103. package/dist/delivery-artifacts.d.ts +0 -26
  1104. package/dist/delivery-artifacts.d.ts.map +0 -1
  1105. package/dist/delivery-artifacts.js +0 -56
  1106. package/dist/delivery-artifacts.js.map +0 -1
  1107. package/dist/delivery-close-actions.d.ts +0 -39
  1108. package/dist/delivery-close-actions.d.ts.map +0 -1
  1109. package/dist/delivery-close-actions.js +0 -53
  1110. package/dist/delivery-close-actions.js.map +0 -1
  1111. package/dist/delivery-lifecycle.d.ts +0 -144
  1112. package/dist/delivery-lifecycle.d.ts.map +0 -1
  1113. package/dist/delivery-lifecycle.js +0 -486
  1114. package/dist/delivery-lifecycle.js.map +0 -1
  1115. package/dist/delivery-merge.d.ts +0 -17
  1116. package/dist/delivery-merge.d.ts.map +0 -1
  1117. package/dist/delivery-merge.js +0 -95
  1118. package/dist/delivery-merge.js.map +0 -1
  1119. package/dist/delivery-reconciler-apply.d.ts.map +0 -1
  1120. package/dist/delivery-reconciler-apply.js +0 -77
  1121. package/dist/delivery-reconciler-apply.js.map +0 -1
  1122. package/dist/delivery-reconciler-shadow.d.ts +0 -65
  1123. package/dist/delivery-reconciler-shadow.d.ts.map +0 -1
  1124. package/dist/delivery-reconciler-shadow.js +0 -126
  1125. package/dist/delivery-reconciler-shadow.js.map +0 -1
  1126. package/dist/delivery-reconciler.d.ts +0 -201
  1127. package/dist/delivery-reconciler.d.ts.map +0 -1
  1128. package/dist/delivery-reconciler.js +0 -237
  1129. package/dist/delivery-reconciler.js.map +0 -1
  1130. package/dist/dependency-resolver.d.ts +0 -77
  1131. package/dist/dependency-resolver.d.ts.map +0 -1
  1132. package/dist/dependency-resolver.js.map +0 -1
  1133. package/dist/directive-executor.d.ts +0 -37
  1134. package/dist/directive-executor.d.ts.map +0 -1
  1135. package/dist/directive-executor.js +0 -241
  1136. package/dist/directive-executor.js.map +0 -1
  1137. package/dist/discovery-poll.d.ts +0 -23
  1138. package/dist/discovery-poll.d.ts.map +0 -1
  1139. package/dist/discovery-poll.js +0 -99
  1140. package/dist/discovery-poll.js.map +0 -1
  1141. package/dist/drain-teardown.d.ts.map +0 -1
  1142. package/dist/drain-teardown.js.map +0 -1
  1143. package/dist/drift-eval-loop.d.ts +0 -71
  1144. package/dist/drift-eval-loop.d.ts.map +0 -1
  1145. package/dist/drift-eval-loop.js +0 -259
  1146. package/dist/drift-eval-loop.js.map +0 -1
  1147. package/dist/drift-evaluator.d.ts.map +0 -1
  1148. package/dist/drift-evaluator.js.map +0 -1
  1149. package/dist/drift-ratify-policy.d.ts.map +0 -1
  1150. package/dist/drift-ratify-policy.js.map +0 -1
  1151. package/dist/escalation-provenance.d.ts +0 -64
  1152. package/dist/escalation-provenance.d.ts.map +0 -1
  1153. package/dist/escalation-provenance.js +0 -200
  1154. package/dist/escalation-provenance.js.map +0 -1
  1155. package/dist/escalations.d.ts +0 -85
  1156. package/dist/escalations.d.ts.map +0 -1
  1157. package/dist/escalations.js +0 -91
  1158. package/dist/escalations.js.map +0 -1
  1159. package/dist/evaluation-context.d.ts.map +0 -1
  1160. package/dist/evaluation-context.js +0 -44
  1161. package/dist/evaluation-context.js.map +0 -1
  1162. package/dist/external-hold.d.ts +0 -104
  1163. package/dist/external-hold.d.ts.map +0 -1
  1164. package/dist/external-hold.js +0 -149
  1165. package/dist/external-hold.js.map +0 -1
  1166. package/dist/focus-branch-ahead.d.ts +0 -42
  1167. package/dist/focus-branch-ahead.d.ts.map +0 -1
  1168. package/dist/focus-branch-ahead.js +0 -45
  1169. package/dist/focus-branch-ahead.js.map +0 -1
  1170. package/dist/focus-branch-identity.d.ts +0 -62
  1171. package/dist/focus-branch-identity.d.ts.map +0 -1
  1172. package/dist/focus-branch-identity.js +0 -59
  1173. package/dist/focus-branch-identity.js.map +0 -1
  1174. package/dist/focus-engine.d.ts +0 -74
  1175. package/dist/focus-engine.d.ts.map +0 -1
  1176. package/dist/focus-engine.js +0 -528
  1177. package/dist/focus-engine.js.map +0 -1
  1178. package/dist/focus-executor.d.ts +0 -80
  1179. package/dist/focus-executor.d.ts.map +0 -1
  1180. package/dist/focus-executor.js +0 -415
  1181. package/dist/focus-executor.js.map +0 -1
  1182. package/dist/focus-lifecycle.d.ts +0 -60
  1183. package/dist/focus-lifecycle.d.ts.map +0 -1
  1184. package/dist/focus-lifecycle.js +0 -539
  1185. package/dist/focus-lifecycle.js.map +0 -1
  1186. package/dist/focus-loop-registry.d.ts +0 -52
  1187. package/dist/focus-loop-registry.d.ts.map +0 -1
  1188. package/dist/focus-loop-registry.js +0 -362
  1189. package/dist/focus-loop-registry.js.map +0 -1
  1190. package/dist/focus-loop.d.ts +0 -96
  1191. package/dist/focus-loop.d.ts.map +0 -1
  1192. package/dist/focus-loop.js +0 -364
  1193. package/dist/focus-loop.js.map +0 -1
  1194. package/dist/focus-merge.d.ts +0 -131
  1195. package/dist/focus-merge.d.ts.map +0 -1
  1196. package/dist/focus-merge.js +0 -556
  1197. package/dist/focus-merge.js.map +0 -1
  1198. package/dist/focus-phase.d.ts.map +0 -1
  1199. package/dist/focus-phase.js.map +0 -1
  1200. package/dist/focus-prompt-builder.d.ts +0 -35
  1201. package/dist/focus-prompt-builder.d.ts.map +0 -1
  1202. package/dist/focus-prompt-builder.js +0 -119
  1203. package/dist/focus-prompt-builder.js.map +0 -1
  1204. package/dist/focus-provisioning.d.ts +0 -16
  1205. package/dist/focus-provisioning.d.ts.map +0 -1
  1206. package/dist/focus-provisioning.js +0 -124
  1207. package/dist/focus-provisioning.js.map +0 -1
  1208. package/dist/focus-respawn-guard.d.ts +0 -27
  1209. package/dist/focus-respawn-guard.d.ts.map +0 -1
  1210. package/dist/focus-respawn-guard.js +0 -77
  1211. package/dist/focus-respawn-guard.js.map +0 -1
  1212. package/dist/focus-stage-lifecycle.d.ts +0 -63
  1213. package/dist/focus-stage-lifecycle.d.ts.map +0 -1
  1214. package/dist/focus-stage-lifecycle.js +0 -179
  1215. package/dist/focus-stage-lifecycle.js.map +0 -1
  1216. package/dist/focus-team-state.d.ts +0 -94
  1217. package/dist/focus-team-state.d.ts.map +0 -1
  1218. package/dist/focus-team-state.js +0 -182
  1219. package/dist/focus-team-state.js.map +0 -1
  1220. package/dist/focus-worktree-state.d.ts +0 -58
  1221. package/dist/focus-worktree-state.d.ts.map +0 -1
  1222. package/dist/focus-worktree-state.js +0 -115
  1223. package/dist/focus-worktree-state.js.map +0 -1
  1224. package/dist/git/merge-helpers.d.ts +0 -48
  1225. package/dist/git/merge-helpers.d.ts.map +0 -1
  1226. package/dist/git/merge-helpers.js +0 -107
  1227. package/dist/git/merge-helpers.js.map +0 -1
  1228. package/dist/git/merge-strategies.d.ts +0 -49
  1229. package/dist/git/merge-strategies.d.ts.map +0 -1
  1230. package/dist/git/merge-strategies.js +0 -137
  1231. package/dist/git/merge-strategies.js.map +0 -1
  1232. package/dist/git.d.ts +0 -24
  1233. package/dist/git.d.ts.map +0 -1
  1234. package/dist/git.js +0 -114
  1235. package/dist/git.js.map +0 -1
  1236. package/dist/gitignore-convergence.d.ts.map +0 -1
  1237. package/dist/gitignore-convergence.js.map +0 -1
  1238. package/dist/guard-engine.d.ts +0 -19
  1239. package/dist/guard-engine.d.ts.map +0 -1
  1240. package/dist/guard-engine.js +0 -20
  1241. package/dist/guard-engine.js.map +0 -1
  1242. package/dist/guard-evaluator.d.ts +0 -47
  1243. package/dist/guard-evaluator.d.ts.map +0 -1
  1244. package/dist/guard-evaluator.js +0 -195
  1245. package/dist/guard-evaluator.js.map +0 -1
  1246. package/dist/health-events.d.ts.map +0 -1
  1247. package/dist/health-events.js.map +0 -1
  1248. package/dist/heartbeat.d.ts +0 -129
  1249. package/dist/heartbeat.d.ts.map +0 -1
  1250. package/dist/heartbeat.js +0 -450
  1251. package/dist/heartbeat.js.map +0 -1
  1252. package/dist/install-probe-tick.d.ts +0 -63
  1253. package/dist/install-probe-tick.d.ts.map +0 -1
  1254. package/dist/install-probe-tick.js +0 -139
  1255. package/dist/install-probe-tick.js.map +0 -1
  1256. package/dist/install-probe.d.ts.map +0 -1
  1257. package/dist/install-probe.js.map +0 -1
  1258. package/dist/intake-control.d.ts.map +0 -1
  1259. package/dist/intake-control.js.map +0 -1
  1260. package/dist/listener-auto-advance.d.ts +0 -115
  1261. package/dist/listener-auto-advance.d.ts.map +0 -1
  1262. package/dist/listener-auto-advance.js +0 -611
  1263. package/dist/listener-auto-advance.js.map +0 -1
  1264. package/dist/listener.d.ts +0 -101
  1265. package/dist/listener.d.ts.map +0 -1
  1266. package/dist/listener.js +0 -770
  1267. package/dist/listener.js.map +0 -1
  1268. package/dist/log-manager.d.ts +0 -18
  1269. package/dist/log-manager.d.ts.map +0 -1
  1270. package/dist/log-manager.js.map +0 -1
  1271. package/dist/log.d.ts.map +0 -1
  1272. package/dist/log.js.map +0 -1
  1273. package/dist/mcp-resolution.d.ts.map +0 -1
  1274. package/dist/mcp-resolution.js.map +0 -1
  1275. package/dist/merge-back-loop.d.ts +0 -109
  1276. package/dist/merge-back-loop.d.ts.map +0 -1
  1277. package/dist/merge-back-loop.js +0 -498
  1278. package/dist/merge-back-loop.js.map +0 -1
  1279. package/dist/merge-detector.d.ts +0 -55
  1280. package/dist/merge-detector.d.ts.map +0 -1
  1281. package/dist/merge-detector.js +0 -222
  1282. package/dist/merge-detector.js.map +0 -1
  1283. package/dist/merge-failure-classify.d.ts +0 -39
  1284. package/dist/merge-failure-classify.d.ts.map +0 -1
  1285. package/dist/merge-failure-classify.js +0 -58
  1286. package/dist/merge-failure-classify.js.map +0 -1
  1287. package/dist/model-resolution.d.ts.map +0 -1
  1288. package/dist/model-resolution.js.map +0 -1
  1289. package/dist/non-interactive-init.d.ts +0 -40
  1290. package/dist/non-interactive-init.d.ts.map +0 -1
  1291. package/dist/non-interactive-init.js.map +0 -1
  1292. package/dist/onboarding-directive.d.ts.map +0 -1
  1293. package/dist/onboarding-directive.js.map +0 -1
  1294. package/dist/operator-hold.d.ts +0 -66
  1295. package/dist/operator-hold.d.ts.map +0 -1
  1296. package/dist/operator-hold.js +0 -99
  1297. package/dist/operator-hold.js.map +0 -1
  1298. package/dist/otlp/port-manager.d.ts +0 -26
  1299. package/dist/otlp/port-manager.d.ts.map +0 -1
  1300. package/dist/otlp/port-manager.js +0 -132
  1301. package/dist/otlp/port-manager.js.map +0 -1
  1302. package/dist/output-monitor.d.ts +0 -38
  1303. package/dist/output-monitor.d.ts.map +0 -1
  1304. package/dist/output-monitor.js +0 -83
  1305. package/dist/output-monitor.js.map +0 -1
  1306. package/dist/pipeline-config.d.ts +0 -72
  1307. package/dist/pipeline-config.d.ts.map +0 -1
  1308. package/dist/pipeline-config.js.map +0 -1
  1309. package/dist/planning-prompt-builder.d.ts +0 -69
  1310. package/dist/planning-prompt-builder.d.ts.map +0 -1
  1311. package/dist/planning-prompt-builder.js +0 -517
  1312. package/dist/planning-prompt-builder.js.map +0 -1
  1313. package/dist/product-scaffold.d.ts +0 -56
  1314. package/dist/product-scaffold.d.ts.map +0 -1
  1315. package/dist/product-scaffold.js +0 -136
  1316. package/dist/product-scaffold.js.map +0 -1
  1317. package/dist/prompt-contradictions.d.ts.map +0 -1
  1318. package/dist/prompt-contradictions.js.map +0 -1
  1319. package/dist/prompt-listing.d.ts +0 -70
  1320. package/dist/prompt-listing.d.ts.map +0 -1
  1321. package/dist/prompt-listing.js.map +0 -1
  1322. package/dist/realign-apply.d.ts +0 -65
  1323. package/dist/realign-apply.d.ts.map +0 -1
  1324. package/dist/realign-apply.js +0 -302
  1325. package/dist/realign-apply.js.map +0 -1
  1326. package/dist/reality-pole-capture.d.ts.map +0 -1
  1327. package/dist/reality-pole-capture.js +0 -114
  1328. package/dist/reality-pole-capture.js.map +0 -1
  1329. package/dist/reality-pole.d.ts +0 -64
  1330. package/dist/reality-pole.d.ts.map +0 -1
  1331. package/dist/reality-pole.js +0 -101
  1332. package/dist/reality-pole.js.map +0 -1
  1333. package/dist/reality-writeback.d.ts.map +0 -1
  1334. package/dist/reality-writeback.js.map +0 -1
  1335. package/dist/resolver-dispatch.d.ts.map +0 -1
  1336. package/dist/resolver-dispatch.js.map +0 -1
  1337. package/dist/resolver-reach.d.ts +0 -192
  1338. package/dist/resolver-reach.d.ts.map +0 -1
  1339. package/dist/resolver-reach.js +0 -168
  1340. package/dist/resolver-reach.js.map +0 -1
  1341. package/dist/retire-aware-restatement.d.ts.map +0 -1
  1342. package/dist/retire-aware-restatement.js +0 -231
  1343. package/dist/retire-aware-restatement.js.map +0 -1
  1344. package/dist/review-defect-detector.d.ts +0 -82
  1345. package/dist/review-defect-detector.d.ts.map +0 -1
  1346. package/dist/review-defect-detector.js +0 -148
  1347. package/dist/review-defect-detector.js.map +0 -1
  1348. package/dist/review-spawn-coverage-guard.d.ts.map +0 -1
  1349. package/dist/review-spawn-coverage-guard.js.map +0 -1
  1350. package/dist/schema-version-gate.d.ts.map +0 -1
  1351. package/dist/schema-version-gate.js +0 -220
  1352. package/dist/schema-version-gate.js.map +0 -1
  1353. package/dist/security-auto-inject.d.ts.map +0 -1
  1354. package/dist/security-auto-inject.js +0 -168
  1355. package/dist/security-auto-inject.js.map +0 -1
  1356. package/dist/security-finding-gate.d.ts.map +0 -1
  1357. package/dist/security-finding-gate.js +0 -84
  1358. package/dist/security-finding-gate.js.map +0 -1
  1359. package/dist/security-rescan-resolution.d.ts.map +0 -1
  1360. package/dist/security-rescan-resolution.js +0 -117
  1361. package/dist/security-rescan-resolution.js.map +0 -1
  1362. package/dist/security-scan-engine.d.ts +0 -145
  1363. package/dist/security-scan-engine.d.ts.map +0 -1
  1364. package/dist/security-scan-engine.js +0 -271
  1365. package/dist/security-scan-engine.js.map +0 -1
  1366. package/dist/self-update.d.ts.map +0 -1
  1367. package/dist/self-update.js +0 -565
  1368. package/dist/self-update.js.map +0 -1
  1369. package/dist/sensor-sweep.d.ts +0 -194
  1370. package/dist/sensor-sweep.d.ts.map +0 -1
  1371. package/dist/sensor-sweep.js +0 -458
  1372. package/dist/sensor-sweep.js.map +0 -1
  1373. package/dist/session-lineage.d.ts.map +0 -1
  1374. package/dist/session-lineage.js.map +0 -1
  1375. package/dist/session-stamp.d.ts +0 -63
  1376. package/dist/session-stamp.d.ts.map +0 -1
  1377. package/dist/session-stamp.js +0 -67
  1378. package/dist/session-stamp.js.map +0 -1
  1379. package/dist/shutdown-state.d.ts.map +0 -1
  1380. package/dist/shutdown-state.js.map +0 -1
  1381. package/dist/spawn-cooldown.d.ts.map +0 -1
  1382. package/dist/spawn-cooldown.js +0 -53
  1383. package/dist/spawn-cooldown.js.map +0 -1
  1384. package/dist/spawn-environment.d.ts +0 -126
  1385. package/dist/spawn-environment.d.ts.map +0 -1
  1386. package/dist/spawn-environment.js +0 -177
  1387. package/dist/spawn-environment.js.map +0 -1
  1388. package/dist/spawn-sandbox.d.ts +0 -121
  1389. package/dist/spawn-sandbox.d.ts.map +0 -1
  1390. package/dist/spawn-sandbox.js.map +0 -1
  1391. package/dist/spawner/guards.d.ts.map +0 -1
  1392. package/dist/spawner/guards.js +0 -46
  1393. package/dist/spawner/guards.js.map +0 -1
  1394. package/dist/spawner/helpers.d.ts +0 -69
  1395. package/dist/spawner/helpers.d.ts.map +0 -1
  1396. package/dist/spawner/helpers.js +0 -215
  1397. package/dist/spawner/helpers.js.map +0 -1
  1398. package/dist/spawner/index.d.ts +0 -31
  1399. package/dist/spawner/index.d.ts.map +0 -1
  1400. package/dist/spawner/index.js +0 -39
  1401. package/dist/spawner/index.js.map +0 -1
  1402. package/dist/spawner/lifecycle.d.ts +0 -148
  1403. package/dist/spawner/lifecycle.d.ts.map +0 -1
  1404. package/dist/spawner/lifecycle.js +0 -413
  1405. package/dist/spawner/lifecycle.js.map +0 -1
  1406. package/dist/spawner/liveness.d.ts.map +0 -1
  1407. package/dist/spawner/liveness.js +0 -41
  1408. package/dist/spawner/liveness.js.map +0 -1
  1409. package/dist/spawner/resolution.d.ts +0 -27
  1410. package/dist/spawner/resolution.d.ts.map +0 -1
  1411. package/dist/spawner/resolution.js +0 -101
  1412. package/dist/spawner/resolution.js.map +0 -1
  1413. package/dist/spawner/state.d.ts.map +0 -1
  1414. package/dist/spawner/state.js.map +0 -1
  1415. package/dist/spawner/stream-handlers.d.ts +0 -19
  1416. package/dist/spawner/stream-handlers.d.ts.map +0 -1
  1417. package/dist/spawner/stream-handlers.js +0 -34
  1418. package/dist/spawner/stream-handlers.js.map +0 -1
  1419. package/dist/spawner/worker-registry.d.ts.map +0 -1
  1420. package/dist/spawner/worker-registry.js.map +0 -1
  1421. package/dist/stage-classifier.d.ts +0 -32
  1422. package/dist/stage-classifier.d.ts.map +0 -1
  1423. package/dist/stage-classifier.js.map +0 -1
  1424. package/dist/staleness-sensor.d.ts +0 -176
  1425. package/dist/staleness-sensor.d.ts.map +0 -1
  1426. package/dist/staleness-sensor.js +0 -335
  1427. package/dist/staleness-sensor.js.map +0 -1
  1428. package/dist/staleness.d.ts +0 -134
  1429. package/dist/staleness.d.ts.map +0 -1
  1430. package/dist/staleness.js +0 -249
  1431. package/dist/staleness.js.map +0 -1
  1432. package/dist/stall-detector-config.d.ts.map +0 -1
  1433. package/dist/stall-detector-config.js.map +0 -1
  1434. package/dist/stall-detectors.d.ts +0 -196
  1435. package/dist/stall-detectors.d.ts.map +0 -1
  1436. package/dist/stall-detectors.js +0 -348
  1437. package/dist/stall-detectors.js.map +0 -1
  1438. package/dist/state-cascade.d.ts +0 -90
  1439. package/dist/state-cascade.d.ts.map +0 -1
  1440. package/dist/state-cascade.js +0 -230
  1441. package/dist/state-cascade.js.map +0 -1
  1442. package/dist/stop-request.d.ts.map +0 -1
  1443. package/dist/stop-request.js.map +0 -1
  1444. package/dist/supabase.d.ts +0 -38
  1445. package/dist/supabase.d.ts.map +0 -1
  1446. package/dist/supabase.js +0 -52
  1447. package/dist/supabase.js.map +0 -1
  1448. package/dist/task-converter.d.ts +0 -61
  1449. package/dist/task-converter.d.ts.map +0 -1
  1450. package/dist/task-converter.js.map +0 -1
  1451. package/dist/task-dag-builder.d.ts +0 -14
  1452. package/dist/task-dag-builder.d.ts.map +0 -1
  1453. package/dist/task-dag-builder.js +0 -17
  1454. package/dist/task-dag-builder.js.map +0 -1
  1455. package/dist/team-prompt-base.d.ts +0 -43
  1456. package/dist/team-prompt-base.d.ts.map +0 -1
  1457. package/dist/team-prompt-base.js +0 -123
  1458. package/dist/team-prompt-base.js.map +0 -1
  1459. package/dist/telemetry-writer.d.ts +0 -89
  1460. package/dist/telemetry-writer.d.ts.map +0 -1
  1461. package/dist/telemetry-writer.js +0 -212
  1462. package/dist/telemetry-writer.js.map +0 -1
  1463. package/dist/trigger-executor.d.ts +0 -85
  1464. package/dist/trigger-executor.d.ts.map +0 -1
  1465. package/dist/trigger-executor.js +0 -437
  1466. package/dist/trigger-executor.js.map +0 -1
  1467. package/dist/types.d.ts +0 -9
  1468. package/dist/types.d.ts.map +0 -1
  1469. package/dist/types.js +0 -9
  1470. package/dist/types.js.map +0 -1
  1471. package/dist/unified-engine-lifecycle.d.ts +0 -186
  1472. package/dist/unified-engine-lifecycle.d.ts.map +0 -1
  1473. package/dist/unified-engine-lifecycle.js +0 -594
  1474. package/dist/unified-engine-lifecycle.js.map +0 -1
  1475. package/dist/unified-init.d.ts +0 -86
  1476. package/dist/unified-init.d.ts.map +0 -1
  1477. package/dist/unified-init.js +0 -313
  1478. package/dist/unified-init.js.map +0 -1
  1479. package/dist/unified-shell-config.d.ts +0 -103
  1480. package/dist/unified-shell-config.d.ts.map +0 -1
  1481. package/dist/unified-shell-config.js.map +0 -1
  1482. package/dist/unified-shell-provisioning.d.ts.map +0 -1
  1483. package/dist/unified-shell-provisioning.js +0 -277
  1484. package/dist/unified-shell-provisioning.js.map +0 -1
  1485. package/dist/unified-shell-status.d.ts.map +0 -1
  1486. package/dist/unified-shell-status.js +0 -143
  1487. package/dist/unified-shell-status.js.map +0 -1
  1488. package/dist/unified-shell.d.ts.map +0 -1
  1489. package/dist/unified-shell.js +0 -583
  1490. package/dist/unified-shell.js.map +0 -1
  1491. package/dist/verification-baseline.d.ts +0 -112
  1492. package/dist/verification-baseline.d.ts.map +0 -1
  1493. package/dist/verification-baseline.js +0 -267
  1494. package/dist/verification-baseline.js.map +0 -1
  1495. package/dist/verification-config.d.ts +0 -146
  1496. package/dist/verification-config.d.ts.map +0 -1
  1497. package/dist/verification-config.js.map +0 -1
  1498. package/dist/verification-default-on.d.ts +0 -159
  1499. package/dist/verification-default-on.d.ts.map +0 -1
  1500. package/dist/verification-default-on.js +0 -272
  1501. package/dist/verification-default-on.js.map +0 -1
  1502. package/dist/verification-deps.d.ts +0 -176
  1503. package/dist/verification-deps.d.ts.map +0 -1
  1504. package/dist/verification-deps.js.map +0 -1
  1505. package/dist/verification-deterministic.d.ts +0 -56
  1506. package/dist/verification-deterministic.d.ts.map +0 -1
  1507. package/dist/verification-deterministic.js +0 -126
  1508. package/dist/verification-deterministic.js.map +0 -1
  1509. package/dist/verification-engine.d.ts +0 -94
  1510. package/dist/verification-engine.d.ts.map +0 -1
  1511. package/dist/verification-engine.js +0 -659
  1512. package/dist/verification-engine.js.map +0 -1
  1513. package/dist/verification-evidence.d.ts +0 -106
  1514. package/dist/verification-evidence.d.ts.map +0 -1
  1515. package/dist/verification-evidence.js +0 -159
  1516. package/dist/verification-evidence.js.map +0 -1
  1517. package/dist/verification-failure-parser.d.ts.map +0 -1
  1518. package/dist/verification-failure-parser.js.map +0 -1
  1519. package/dist/verification-feedback.d.ts +0 -173
  1520. package/dist/verification-feedback.d.ts.map +0 -1
  1521. package/dist/verification-feedback.js +0 -442
  1522. package/dist/verification-feedback.js.map +0 -1
  1523. package/dist/verification-manifest.d.ts.map +0 -1
  1524. package/dist/verification-manifest.js.map +0 -1
  1525. package/dist/verify-reconciliation.d.ts.map +0 -1
  1526. package/dist/verify-reconciliation.js.map +0 -1
  1527. package/dist/verify-restatement.d.ts.map +0 -1
  1528. package/dist/verify-restatement.js +0 -167
  1529. package/dist/verify-restatement.js.map +0 -1
  1530. package/dist/version-check.d.ts.map +0 -1
  1531. package/dist/version-check.js +0 -115
  1532. package/dist/version-check.js.map +0 -1
  1533. package/dist/worker-pidfile.d.ts.map +0 -1
  1534. package/dist/worker-pidfile.js.map +0 -1
  1535. package/dist/workflow-engine.d.ts +0 -95
  1536. package/dist/workflow-engine.d.ts.map +0 -1
  1537. package/dist/workflow-engine.js.map +0 -1
  1538. package/dist/worktree.d.ts +0 -147
  1539. package/dist/worktree.d.ts.map +0 -1
  1540. package/dist/worktree.js +0 -467
  1541. package/dist/worktree.js.map +0 -1
  1542. /package/dist/{audit-prompt.d.ts → audit/audit-prompt.d.ts} +0 -0
  1543. /package/dist/{audit-prompt.js → audit/audit-prompt.js} +0 -0
  1544. /package/dist/{audit-shape.d.ts → audit/audit-shape.d.ts} +0 -0
  1545. /package/dist/{audit-shape.js → audit/audit-shape.js} +0 -0
  1546. /package/dist/{ci-escalation.d.ts → ci/ci-escalation.d.ts} +0 -0
  1547. /package/dist/{ci-status.js → ci/ci-status.js} +0 -0
  1548. /package/dist/{review-spawn-coverage-guard.d.ts → completion/review-spawn-coverage-guard.d.ts} +0 -0
  1549. /package/dist/{review-spawn-coverage-guard.js → completion/review-spawn-coverage-guard.js} +0 -0
  1550. /package/dist/{context-audit.js → context/context-audit.js} +0 -0
  1551. /package/dist/{context-lock.js → context/context-lock.js} +0 -0
  1552. /package/dist/{delivery-reconciler-apply.d.ts → delivery/delivery-reconciler-apply.d.ts} +0 -0
  1553. /package/dist/{resolver-dispatch.d.ts → directive/resolver-dispatch.d.ts} +0 -0
  1554. /package/dist/{resolver-dispatch.js → directive/resolver-dispatch.js} +0 -0
  1555. /package/dist/{drift-evaluator.d.ts → drift/drift-evaluator.d.ts} +0 -0
  1556. /package/dist/{drift-evaluator.js → drift/drift-evaluator.js} +0 -0
  1557. /package/dist/{drift-ratify-policy.d.ts → drift/drift-ratify-policy.d.ts} +0 -0
  1558. /package/dist/{drift-ratify-policy.js → drift/drift-ratify-policy.js} +0 -0
  1559. /package/dist/{focus-phase.d.ts → focus/focus-phase.d.ts} +0 -0
  1560. /package/dist/{focus-phase.js → focus/focus-phase.js} +0 -0
  1561. /package/dist/{evaluation-context.d.ts → guard/evaluation-context.d.ts} +0 -0
  1562. /package/dist/{onboarding-directive.d.ts → prompt/onboarding-directive.d.ts} +0 -0
  1563. /package/dist/{onboarding-directive.js → prompt/onboarding-directive.js} +0 -0
  1564. /package/dist/{prompt-contradictions.d.ts → prompt/prompt-contradictions.d.ts} +0 -0
  1565. /package/dist/{prompt-contradictions.js → prompt/prompt-contradictions.js} +0 -0
  1566. /package/dist/{prompt-listing.js → prompt/prompt-listing.js} +0 -0
  1567. /package/dist/{reality-pole-capture.d.ts → reality/reality-pole-capture.d.ts} +0 -0
  1568. /package/dist/{reality-writeback.d.ts → reality/reality-writeback.d.ts} +0 -0
  1569. /package/dist/{reality-writeback.js → reality/reality-writeback.js} +0 -0
  1570. /package/dist/{security-auto-inject.d.ts → security/security-auto-inject.d.ts} +0 -0
  1571. /package/dist/{security-finding-gate.d.ts → security/security-finding-gate.d.ts} +0 -0
  1572. /package/dist/{security-rescan-resolution.d.ts → security/security-rescan-resolution.d.ts} +0 -0
  1573. /package/dist/{session-lineage.d.ts → session/session-lineage.d.ts} +0 -0
  1574. /package/dist/{session-lineage.js → session/session-lineage.js} +0 -0
  1575. /package/dist/{activity-tracker.d.ts → shell/activity-tracker.d.ts} +0 -0
  1576. /package/dist/{agent-state.d.ts → shell/agent-state.d.ts} +0 -0
  1577. /package/dist/{agent-state.js → shell/agent-state.js} +0 -0
  1578. /package/dist/{auth-liveness.d.ts → shell/auth-liveness.d.ts} +0 -0
  1579. /package/dist/{auth-liveness.js → shell/auth-liveness.js} +0 -0
  1580. /package/dist/{config-hot-reload.js → shell/config-hot-reload.js} +0 -0
  1581. /package/dist/{constants.d.ts → shell/constants.d.ts} +0 -0
  1582. /package/dist/{constants.js → shell/constants.js} +0 -0
  1583. /package/dist/{daemon-logs.d.ts → shell/daemon-logs.d.ts} +0 -0
  1584. /package/dist/{daemon-logs.js → shell/daemon-logs.js} +0 -0
  1585. /package/dist/{daemon-process.d.ts → shell/daemon-process.d.ts} +0 -0
  1586. /package/dist/{daemon-process.js → shell/daemon-process.js} +0 -0
  1587. /package/dist/{daemon-readiness.d.ts → shell/daemon-readiness.d.ts} +0 -0
  1588. /package/dist/{daemon-readiness.js → shell/daemon-readiness.js} +0 -0
  1589. /package/dist/{drain-teardown.d.ts → shell/drain-teardown.d.ts} +0 -0
  1590. /package/dist/{drain-teardown.js → shell/drain-teardown.js} +0 -0
  1591. /package/dist/{gitignore-convergence.d.ts → shell/gitignore-convergence.d.ts} +0 -0
  1592. /package/dist/{gitignore-convergence.js → shell/gitignore-convergence.js} +0 -0
  1593. /package/dist/{health-events.d.ts → shell/health-events.d.ts} +0 -0
  1594. /package/dist/{health-events.js → shell/health-events.js} +0 -0
  1595. /package/dist/{install-probe.d.ts → shell/install-probe.d.ts} +0 -0
  1596. /package/dist/{install-probe.js → shell/install-probe.js} +0 -0
  1597. /package/dist/{intake-control.d.ts → shell/intake-control.d.ts} +0 -0
  1598. /package/dist/{intake-control.js → shell/intake-control.js} +0 -0
  1599. /package/dist/{log-manager.js → shell/log-manager.js} +0 -0
  1600. /package/dist/{log.d.ts → shell/log.d.ts} +0 -0
  1601. /package/dist/{log.js → shell/log.js} +0 -0
  1602. /package/dist/{mcp-resolution.d.ts → shell/mcp-resolution.d.ts} +0 -0
  1603. /package/dist/{mcp-resolution.js → shell/mcp-resolution.js} +0 -0
  1604. /package/dist/{model-resolution.d.ts → shell/model-resolution.d.ts} +0 -0
  1605. /package/dist/{model-resolution.js → shell/model-resolution.js} +0 -0
  1606. /package/dist/{non-interactive-init.js → shell/non-interactive-init.js} +0 -0
  1607. /package/dist/{schema-version-gate.d.ts → shell/schema-version-gate.d.ts} +0 -0
  1608. /package/dist/{shutdown-state.d.ts → shell/shutdown-state.d.ts} +0 -0
  1609. /package/dist/{shutdown-state.js → shell/shutdown-state.js} +0 -0
  1610. /package/dist/{stop-request.d.ts → shell/stop-request.d.ts} +0 -0
  1611. /package/dist/{stop-request.js → shell/stop-request.js} +0 -0
  1612. /package/dist/{unified-shell-config.js → shell/unified-shell-config.js} +0 -0
  1613. /package/dist/{unified-shell-provisioning.d.ts → shell/unified-shell-provisioning.d.ts} +0 -0
  1614. /package/dist/{unified-shell-status.d.ts → shell/unified-shell-status.d.ts} +0 -0
  1615. /package/dist/{unified-shell.d.ts → shell/unified-shell.d.ts} +0 -0
  1616. /package/dist/{worker-pidfile.d.ts → shell/worker-pidfile.d.ts} +0 -0
  1617. /package/dist/{worker-pidfile.js → shell/worker-pidfile.js} +0 -0
  1618. /package/dist/{dag-validator.js → spawn/dag-validator.js} +0 -0
  1619. /package/dist/{dependency-resolver.js → spawn/dependency-resolver.js} +0 -0
  1620. /package/dist/{spawner → spawn}/guards.d.ts +0 -0
  1621. /package/dist/{spawner → spawn}/liveness.d.ts +0 -0
  1622. /package/dist/{spawn-cooldown.d.ts → spawn/spawn-cooldown.d.ts} +0 -0
  1623. /package/dist/{spawn-sandbox.js → spawn/spawn-sandbox.js} +0 -0
  1624. /package/dist/{spawner → spawn}/state.d.ts +0 -0
  1625. /package/dist/{spawner → spawn}/state.js +0 -0
  1626. /package/dist/{task-converter.js → spawn/task-converter.js} +0 -0
  1627. /package/dist/{spawner → spawn}/worker-registry.d.ts +0 -0
  1628. /package/dist/{spawner → spawn}/worker-registry.js +0 -0
  1629. /package/dist/{auto-update-idle.d.ts → update/auto-update-idle.d.ts} +0 -0
  1630. /package/dist/{auto-update-idle.js → update/auto-update-idle.js} +0 -0
  1631. /package/dist/{auto-update.d.ts → update/auto-update.d.ts} +0 -0
  1632. /package/dist/{build-info.d.ts → update/build-info.d.ts} +0 -0
  1633. /package/dist/{build-info.js → update/build-info.js} +0 -0
  1634. /package/dist/{capability-pointer.d.ts → update/capability-pointer.d.ts} +0 -0
  1635. /package/dist/{capability-pointer.js → update/capability-pointer.js} +0 -0
  1636. /package/dist/{self-update.d.ts → update/self-update.d.ts} +0 -0
  1637. /package/dist/{version-check.d.ts → update/version-check.d.ts} +0 -0
  1638. /package/dist/{ai-inspection-runner.d.ts → verify/ai-inspection-runner.d.ts} +0 -0
  1639. /package/dist/{cascade-restatement.d.ts → verify/cascade-restatement.d.ts} +0 -0
  1640. /package/dist/{cascade-restatement.js → verify/cascade-restatement.js} +0 -0
  1641. /package/dist/{de-restatement.d.ts → verify/de-restatement.d.ts} +0 -0
  1642. /package/dist/{retire-aware-restatement.d.ts → verify/retire-aware-restatement.d.ts} +0 -0
  1643. /package/dist/{stall-detector-config.d.ts → verify/stall-detector-config.d.ts} +0 -0
  1644. /package/dist/{stall-detector-config.js → verify/stall-detector-config.js} +0 -0
  1645. /package/dist/{verification-config.js → verify/verification-config.js} +0 -0
  1646. /package/dist/{verification-deps.js → verify/verification-deps.js} +0 -0
  1647. /package/dist/{verification-failure-parser.d.ts → verify/verification-failure-parser.d.ts} +0 -0
  1648. /package/dist/{verification-failure-parser.js → verify/verification-failure-parser.js} +0 -0
  1649. /package/dist/{verification-manifest.d.ts → verify/verification-manifest.d.ts} +0 -0
  1650. /package/dist/{verification-manifest.js → verify/verification-manifest.js} +0 -0
  1651. /package/dist/{verify-reconciliation.d.ts → verify/verify-reconciliation.d.ts} +0 -0
  1652. /package/dist/{verify-reconciliation.js → verify/verify-reconciliation.js} +0 -0
  1653. /package/dist/{verify-restatement.d.ts → verify/verify-restatement.d.ts} +0 -0
  1654. /package/dist/{pipeline-config.js → workflow/pipeline-config.js} +0 -0
  1655. /package/dist/{stage-classifier.js → workflow/stage-classifier.js} +0 -0
  1656. /package/dist/{workflow-engine.js → workflow/workflow-engine.js} +0 -0
@@ -49,6 +49,18 @@ export type ScopedStageResult = {
49
49
  kind: 'staged';
50
50
  staged: string[];
51
51
  denied: string[];
52
+ } | {
53
+ /**
54
+ * A TORN WRITE: the worktree's only non-scratch dirt is staged index
55
+ * entries with NO worktree content behind them (index != HEAD, worktree
56
+ * == HEAD). There is nothing to preserve, so the index was reconciled to
57
+ * the worktree (reset to HEAD) instead of committed. This is NOT a failed
58
+ * commit and MUST NOT escalate.
59
+ */
60
+ kind: 'reconciled_torn_write';
61
+ /** The staged paths that were reconciled (index reset to HEAD). */
62
+ reconciled: string[];
63
+ denied: string[];
52
64
  } | {
53
65
  kind: 'refused_threshold';
54
66
  /** Post-exclusion count that tripped the guard. */
@@ -61,6 +73,34 @@ export type ScopedStageResult = {
61
73
  kind: 'error';
62
74
  message: string;
63
75
  };
76
+ /**
77
+ * Enumerate paths whose WORKTREE content differs from HEAD: tracked worktree
78
+ * changes (incl. deletions) plus untracked, non-ignored files. This is the set
79
+ * with real content behind it -- the agent work a safety commit must preserve.
80
+ * A staged-only change (a torn write) is deliberately NOT here: it has no
81
+ * worktree content, so it is not work to preserve.
82
+ *
83
+ * Uses name-only commands rather than parsing `git status --porcelain` (whose
84
+ * fixed-width status prefix is corrupted by output trimming).
85
+ */
86
+ export declare function enumerateWorktreeDelta(worktreePath: string): string[] | null;
87
+ /**
88
+ * Enumerate paths STAGED differently from HEAD (index vs HEAD). A staged path
89
+ * whose worktree copy matches HEAD is a TORN WRITE -- an index entry with no
90
+ * worktree content behind it. This is the index the detector
91
+ * (`git status --porcelain`, which consults the index) sees but the
92
+ * worktree-only enumeration above is blind to.
93
+ */
94
+ export declare function enumerateIndexDelta(worktreePath: string): string[] | null;
95
+ /**
96
+ * INDEX-AWARE enumeration of every path dirty vs HEAD -- in the worktree OR the
97
+ * index. This is what `git status --porcelain` shows the DETECTOR
98
+ * (worktreeHasUncommittedChanges), so the REMEDIATOR agrees with the detector
99
+ * on what "dirty" means. `worktreeHasNonScratchChanges` deliberately does NOT
100
+ * use this (it asks the narrower "is there worktree content to preserve?" --
101
+ * see its doc).
102
+ */
103
+ export declare function enumerateDirtyVsHead(worktreePath: string): string[] | null;
64
104
  /**
65
105
  * Stage the worktree's changes for a daemon-authored commit, HARD-excluding
66
106
  * daemon scratch and REFUSING a mass sweep.
@@ -73,6 +113,23 @@ export type ScopedStageResult = {
73
113
  * Does not commit -- callers commit after a `staged` result.
74
114
  */
75
115
  export declare function stageExcludingDaemonScratch(worktreePath: string, opts?: ScopedStageOptions): ScopedStageResult;
116
+ /**
117
+ * If the worktree's ONLY non-scratch dirt is a TORN WRITE -- staged index
118
+ * entries with no worktree content behind them (index != HEAD, worktree ==
119
+ * HEAD) -- reconcile the index to the worktree (reset to HEAD) and return the
120
+ * reconciled paths. Returns null when there is real worktree work to preserve
121
+ * (that is guardedCommit's job, not this one) or when the tree is clean/
122
+ * scratch-only. Writes NO history and never touches a worktree file.
123
+ *
124
+ * This is the dedicated reconcile handler the advance-block path calls BEFORE it
125
+ * considers re-waking a team: a torn write has no content for a team to commit,
126
+ * so nudging the team (and eventually escalating) would be a pointless loop --
127
+ * the daemon self-clears it here. Identity-guarded exactly like guardedCommit,
128
+ * so a `.git`-less checkout is never reset against the enclosing repo.
129
+ */
130
+ export declare function reconcileTornWrite(worktreePath: string, opts?: ScopedStageOptions): {
131
+ reconciled: string[];
132
+ } | null;
76
133
  /**
77
134
  * True iff the worktree has uncommitted changes OUTSIDE daemon scratch. Daemon
78
135
  * scratch (`.telora/`) is disposable, so a worktree dirty only with scratch has
@@ -1 +1 @@
1
- {"version":3,"file":"scratch-guard.d.ts","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAGL,KAAK,iCAAiC,EACvC,MAAM,eAAe,CAAC;AAKvB,wEAAwE;AACxE,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAgB,CAAC;AAEvE;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAE3E;AAED,MAAM,WAAW,kBAAkB;IACjC,uFAAuF;IACvF,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kHAAkH;IAClH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACtD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAuBvC;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,kBAAuB,GAC5B,iBAAiB,CAqCnB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,SAAS,MAAM,EAA6B,GAC5D,OAAO,CAiBT;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAK9D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAExE,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,EAAE,oBAMzC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;IACrD,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,GAAG,MAAM,GAAG,IAAI,CAgDhB"}
1
+ {"version":3,"file":"scratch-guard.d.ts","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,8 @@
21
21
  import { loadEnvConfig } from '@telora/daemon-core';
22
22
  import { runGitSync } from '../git/index.js';
23
23
  import { assertWorktreeIdentity, defaultWorktreeIdentityViolationReporter, } from './identity.js';
24
- import { createLogger } from '../log.js';
24
+ import { isWorktreeUnderVerify } from './verify-interlock.js';
25
+ import { createLogger } from '../shell/log.js';
25
26
  const log = createLogger({ module: 'worktree' });
26
27
  /** Conservative default sweep ceiling for a single automated commit. */
27
28
  export const DEFAULT_SAFETY_COMMIT_MAX_FILES = 200;
@@ -48,21 +49,83 @@ export function resolveSafetyCommitMaxFiles(env) {
48
49
  function underPrefix(path, prefixes) {
49
50
  return prefixes.some((p) => path === p || path.startsWith(p + '/'));
50
51
  }
52
+ function splitLines(out) {
53
+ return out
54
+ .split('\n')
55
+ .map((p) => p.trim())
56
+ .filter((p) => p.length > 0);
57
+ }
51
58
  /**
52
- * Enumerate the repo-relative paths a `git add -A` WOULD stage: tracked
53
- * changes (incl. deletions) plus untracked, non-ignored files. Uses name-only
54
- * commands rather than parsing `git status --porcelain` (whose fixed-width
55
- * status prefix is corrupted by output trimming) -- the same technique
56
- * `dirtyChangesAreGeneratedLockfilesOnly` uses.
59
+ * Enumerate paths whose WORKTREE content differs from HEAD: tracked worktree
60
+ * changes (incl. deletions) plus untracked, non-ignored files. This is the set
61
+ * with real content behind it -- the agent work a safety commit must preserve.
62
+ * A staged-only change (a torn write) is deliberately NOT here: it has no
63
+ * worktree content, so it is not work to preserve.
64
+ *
65
+ * Uses name-only commands rather than parsing `git status --porcelain` (whose
66
+ * fixed-width status prefix is corrupted by output trimming).
57
67
  */
58
- function enumerateWouldStage(worktreePath) {
68
+ export function enumerateWorktreeDelta(worktreePath) {
59
69
  const tracked = runGitSync(['diff', '--name-only', 'HEAD'], worktreePath);
60
70
  const untracked = runGitSync(['ls-files', '--others', '--exclude-standard'], worktreePath);
61
71
  if (!tracked.success || !untracked.success)
62
72
  return null;
63
- return [...tracked.output.split('\n'), ...untracked.output.split('\n')]
64
- .map((p) => p.trim())
65
- .filter((p) => p.length > 0);
73
+ return [...new Set([...splitLines(tracked.output), ...splitLines(untracked.output)])];
74
+ }
75
+ /**
76
+ * Enumerate paths STAGED differently from HEAD (index vs HEAD). A staged path
77
+ * whose worktree copy matches HEAD is a TORN WRITE -- an index entry with no
78
+ * worktree content behind it. This is the index the detector
79
+ * (`git status --porcelain`, which consults the index) sees but the
80
+ * worktree-only enumeration above is blind to.
81
+ */
82
+ export function enumerateIndexDelta(worktreePath) {
83
+ const staged = runGitSync(['diff', '--cached', '--name-only', 'HEAD'], worktreePath);
84
+ if (!staged.success)
85
+ return null;
86
+ return splitLines(staged.output);
87
+ }
88
+ /**
89
+ * INDEX-AWARE enumeration of every path dirty vs HEAD -- in the worktree OR the
90
+ * index. This is what `git status --porcelain` shows the DETECTOR
91
+ * (worktreeHasUncommittedChanges), so the REMEDIATOR agrees with the detector
92
+ * on what "dirty" means. `worktreeHasNonScratchChanges` deliberately does NOT
93
+ * use this (it asks the narrower "is there worktree content to preserve?" --
94
+ * see its doc).
95
+ */
96
+ export function enumerateDirtyVsHead(worktreePath) {
97
+ const worktree = enumerateWorktreeDelta(worktreePath);
98
+ const index = enumerateIndexDelta(worktreePath);
99
+ if (worktree === null || index === null)
100
+ return null;
101
+ return [...new Set([...worktree, ...index])];
102
+ }
103
+ /** Enumerate + scratch-partition the worktree and index deltas. Null on git error. */
104
+ function classifyDirt(worktreePath, scratchPrefixes) {
105
+ const worktreeDelta = enumerateWorktreeDelta(worktreePath);
106
+ const indexDelta = enumerateIndexDelta(worktreePath);
107
+ if (worktreeDelta === null || indexDelta === null)
108
+ return null;
109
+ const keptWorktree = worktreeDelta.filter((p) => !underPrefix(p, scratchPrefixes));
110
+ const keptIndex = indexDelta.filter((p) => !underPrefix(p, scratchPrefixes));
111
+ const denied = [
112
+ ...new Set([
113
+ ...worktreeDelta.filter((p) => underPrefix(p, scratchPrefixes)),
114
+ ...indexDelta.filter((p) => underPrefix(p, scratchPrefixes)),
115
+ ]),
116
+ ];
117
+ return { keptWorktree, keptIndex, denied };
118
+ }
119
+ /**
120
+ * Reconcile the index to the worktree by resetting all non-scratch staged paths
121
+ * to HEAD. Index-only: writes NO history and never touches a worktree file, so
122
+ * the sweep threshold (a commit-history guard) does not apply. The scratch
123
+ * exclusion is preserved for symmetry with the commit path.
124
+ */
125
+ function reconcileIndexToWorktree(worktreePath, scratchPrefixes) {
126
+ const excludeSpecs = scratchPrefixes.map((p) => `:(exclude)${p}`);
127
+ const reset = runGitSync(['reset', '-q', 'HEAD', '--', '.', ...excludeSpecs], worktreePath);
128
+ return { success: reset.success, error: reset.success ? '' : reset.error };
66
129
  }
67
130
  /**
68
131
  * Stage the worktree's changes for a daemon-authored commit, HARD-excluding
@@ -78,34 +141,87 @@ function enumerateWouldStage(worktreePath) {
78
141
  export function stageExcludingDaemonScratch(worktreePath, opts = {}) {
79
142
  const scratchPrefixes = opts.scratchPrefixes ?? DEFAULT_SCRATCH_PREFIXES;
80
143
  const maxFiles = opts.maxFiles ?? resolveSafetyCommitMaxFiles();
81
- const wouldStage = enumerateWouldStage(worktreePath);
82
- if (wouldStage === null) {
144
+ const dirt = classifyDirt(worktreePath, scratchPrefixes);
145
+ if (dirt === null) {
83
146
  return { kind: 'error', message: 'could not enumerate worktree changes' };
84
147
  }
85
- const denied = wouldStage.filter((p) => underPrefix(p, scratchPrefixes));
86
- const kept = wouldStage.filter((p) => !underPrefix(p, scratchPrefixes));
87
- if (kept.length > maxFiles) {
148
+ const { keptWorktree, keptIndex, denied } = dirt;
149
+ // TORN WRITE disposition: staged content with NO worktree content behind it
150
+ // (the worktree matches HEAD). A safety commit exists to PRESERVE agent work;
151
+ // an index entry with nothing behind it is not agent work, so committing it is
152
+ // both impossible (git finds nothing to commit) and wrong to escalate on.
153
+ // Reconcile the index to the worktree instead -- nothing is preserved because
154
+ // nothing was ever there.
155
+ if (keptWorktree.length === 0 && keptIndex.length > 0) {
156
+ const reset = reconcileIndexToWorktree(worktreePath, scratchPrefixes);
157
+ if (!reset.success) {
158
+ return { kind: 'error', message: reset.error };
159
+ }
160
+ return { kind: 'reconciled_torn_write', reconciled: keptIndex, denied };
161
+ }
162
+ // REAL WORK disposition: the committed set is the worktree delta (what
163
+ // `git add -A` then `git commit` records). The threshold guards that set.
164
+ if (keptWorktree.length > maxFiles) {
88
165
  // Refuse: stage nothing, leave the working tree untouched.
89
166
  return {
90
167
  kind: 'refused_threshold',
91
- count: kept.length,
92
- sample: kept.slice(0, 20),
168
+ count: keptWorktree.length,
169
+ sample: keptWorktree.slice(0, 20),
93
170
  denied,
94
171
  maxFiles,
95
172
  };
96
173
  }
97
- if (kept.length === 0) {
174
+ if (keptWorktree.length === 0) {
98
175
  // Nothing to stage once scratch is excluded (a clean or scratch-only tree).
99
176
  return { kind: 'staged', staged: [], denied };
100
177
  }
101
178
  // Stage everything EXCEPT the scratch prefixes. `.` selects the full tree;
102
179
  // each `:(exclude)<prefix>` removes that dir and its contents from the set.
180
+ // `git add -A` snapshots the worktree into the index, which also reconciles
181
+ // any co-present torn-write index entry (its worktree == HEAD, so it drops out
182
+ // of the commit) -- so the MIXED case (real work + a torn write) ends clean
183
+ // with the real work committed and nothing lost.
103
184
  const excludeSpecs = scratchPrefixes.map((p) => `:(exclude)${p}`);
104
185
  const addResult = runGitSync(['add', '-A', '--', '.', ...excludeSpecs], worktreePath);
105
186
  if (!addResult.success) {
106
187
  return { kind: 'error', message: addResult.error };
107
188
  }
108
- return { kind: 'staged', staged: kept, denied };
189
+ return { kind: 'staged', staged: keptWorktree, denied };
190
+ }
191
+ /**
192
+ * If the worktree's ONLY non-scratch dirt is a TORN WRITE -- staged index
193
+ * entries with no worktree content behind them (index != HEAD, worktree ==
194
+ * HEAD) -- reconcile the index to the worktree (reset to HEAD) and return the
195
+ * reconciled paths. Returns null when there is real worktree work to preserve
196
+ * (that is guardedCommit's job, not this one) or when the tree is clean/
197
+ * scratch-only. Writes NO history and never touches a worktree file.
198
+ *
199
+ * This is the dedicated reconcile handler the advance-block path calls BEFORE it
200
+ * considers re-waking a team: a torn write has no content for a team to commit,
201
+ * so nudging the team (and eventually escalating) would be a pointless loop --
202
+ * the daemon self-clears it here. Identity-guarded exactly like guardedCommit,
203
+ * so a `.git`-less checkout is never reset against the enclosing repo.
204
+ */
205
+ export function reconcileTornWrite(worktreePath, opts = {}) {
206
+ const identity = assertWorktreeIdentity(worktreePath);
207
+ if (!identity.ok) {
208
+ // Not this directory's worktree -- leave it to the commit path's identity
209
+ // reporter; never reset against the enclosing repo.
210
+ return null;
211
+ }
212
+ const scratchPrefixes = opts.scratchPrefixes ?? DEFAULT_SCRATCH_PREFIXES;
213
+ const dirt = classifyDirt(worktreePath, scratchPrefixes);
214
+ if (dirt === null)
215
+ return null;
216
+ const { keptWorktree, keptIndex } = dirt;
217
+ if (keptWorktree.length > 0 || keptIndex.length === 0)
218
+ return null; // not a pure torn write
219
+ const reset = reconcileIndexToWorktree(worktreePath, scratchPrefixes);
220
+ if (!reset.success)
221
+ return null;
222
+ log.info(`reconcileTornWrite: reconciled ${keptIndex.length} torn-write path(s) at ${worktreePath} ` +
223
+ `(index reset to HEAD; no worktree content to preserve): ${keptIndex.slice(0, 5).join(', ')}`);
224
+ return { reconciled: keptIndex };
109
225
  }
110
226
  /**
111
227
  * True iff the worktree has uncommitted changes OUTSIDE daemon scratch. Daemon
@@ -125,10 +241,17 @@ export function worktreeHasNonScratchChanges(worktreePath, scratchPrefixes = DEF
125
241
  `to attribute the enclosing repo's changes to it.`);
126
242
  return false;
127
243
  }
128
- const wouldStage = enumerateWouldStage(worktreePath);
129
- if (wouldStage === null)
244
+ // Worktree-delta ONLY (not index-aware): this asks "is there worktree content
245
+ // to PRESERVE before we discard this worktree?", which a torn write (staged,
246
+ // no worktree content) is not -- so removeWorktree does not block on a torn
247
+ // write, it discards it with the worktree. The advance-gate detector
248
+ // (worktreeHasUncommittedChanges, via `git status --porcelain`) IS index-aware
249
+ // and drives the torn-write reconcile; these are deliberately different
250
+ // questions.
251
+ const worktreeDelta = enumerateWorktreeDelta(worktreePath);
252
+ if (worktreeDelta === null)
130
253
  return false;
131
- return wouldStage.some((p) => !underPrefix(p, scratchPrefixes));
254
+ return worktreeDelta.some((p) => !underPrefix(p, scratchPrefixes));
132
255
  }
133
256
  /**
134
257
  * Paths the daemon itself authors into a READ-ONLY audit worktree, on top of
@@ -193,6 +316,19 @@ export const defaultSweepRefusalReporter = (r) => {
193
316
  export function guardedCommit(params) {
194
317
  const { worktreePath, message, context } = params;
195
318
  const reporter = params.reporter ?? defaultSweepRefusalReporter;
319
+ // Verify interlock: while a verify command is running in this worktree, defer
320
+ // -- stage and commit NOTHING. A `git add -A` inside a verify's mutation window
321
+ // would snapshot a transient tree the verify then restores, producing a torn
322
+ // write. This is a deliberate DEFERRAL, not a failure or a no-op: the next poll
323
+ // retries once the verify completes (the skip leaves no state behind). Checked
324
+ // FIRST, before the identity gate, so no daemon-authored commit path (safety /
325
+ // WIP / lockfile) touches a worktree mid-verify.
326
+ if (isWorktreeUnderVerify(worktreePath)) {
327
+ log.info(`guardedCommit: DEFERRING commit for "${context}" at ${worktreePath} -- a verify ` +
328
+ `command is running in this worktree; staging/committing a transient mid-verify tree ` +
329
+ `would tear a write. Deferred; the next poll retries once verify completes.`);
330
+ return null;
331
+ }
196
332
  // Identity gate: refuse before staging if git would act on a different repo.
197
333
  const identity = assertWorktreeIdentity(worktreePath);
198
334
  if (!identity.ok) {
@@ -219,6 +355,17 @@ export function guardedCommit(params) {
219
355
  });
220
356
  return null;
221
357
  }
358
+ if (stage.kind === 'reconciled_torn_write') {
359
+ // A torn write: staged index entries with no worktree content behind them.
360
+ // The index was reset to HEAD (the tree is now clean). No commit was made --
361
+ // there was nothing to preserve -- so this returns null like the clean case,
362
+ // but is logged DISTINCTLY so reading the log tells you a torn write was
363
+ // reconciled rather than a commit silently doing nothing.
364
+ log.info(`guardedCommit: reconciled torn write for "${context}" at ${worktreePath} -- ` +
365
+ `${stage.reconciled.length} staged path(s) had no worktree content behind them ` +
366
+ `(index reset to HEAD, nothing to preserve, no commit): ${stage.reconciled.slice(0, 5).join(', ')}`);
367
+ return null;
368
+ }
222
369
  if (stage.staged.length === 0) {
223
370
  // Clean or scratch-only tree -- nothing non-scratch to commit.
224
371
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"scratch-guard.js","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scratch-guard.js","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export interface WorktreeStateDeps {
33
33
  } | null>;
34
34
  worktreeHasUncommittedChanges: (worktreePath: string) => boolean;
35
35
  getLastCommitTimestampMs: (worktreePath: string) => number | null;
36
- now: () => number;
36
+ now?: () => number;
37
37
  }
38
38
  /**
39
39
  * Observe whether a focus's worktree is currently being written.
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/worktree/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACvD,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAChG,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC9F,6BAA6B,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAoCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAO,EAC/C,IAAI,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAmE9B"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/worktree/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACvD,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAChG,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC9F,6BAA6B,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAoCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAO,EAC/C,IAAI,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAmE9B"}
@@ -12,8 +12,8 @@
12
12
  * Used by the continuous merge-back loop to gate "is it safe to attempt
13
13
  * merge right now?". Pure observation — no side effects, no mutations.
14
14
  */
15
- import { hasActiveTeam, getActiveTeams } from '../focus-team-state.js';
16
- import { getFocusWorktree } from '../focus-worktree-state.js';
15
+ import { hasActiveTeam, getActiveTeams } from '../focus/focus-team-state.js';
16
+ import { getFocusWorktree } from '../focus/focus-worktree-state.js';
17
17
  import { worktreeHasUncommittedChanges } from './safety.js';
18
18
  import { runGitSync } from '../git/index.js';
19
19
  import { getActiveSessionForFocus } from '../queries/sessions.js';
@@ -108,7 +108,7 @@ export async function isWorktreeBeingWritten(focusId, opts = {}, deps = {}) {
108
108
  // 4. Recent commit
109
109
  const lastCommitMs = d.getLastCommitTimestampMs(worktree.worktreePath);
110
110
  if (lastCommitMs !== null) {
111
- const ageMs = d.now() - lastCommitMs;
111
+ const ageMs = (d.now ?? Date.now)() - lastCommitMs;
112
112
  if (ageMs >= 0 && ageMs <= thresholdMs) {
113
113
  return {
114
114
  active: true,
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/worktree/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/worktree/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Per-worktree verify interlock.
3
+ *
4
+ * The daemon runs a product's configured deterministic verify command INSIDE the
5
+ * focus worktree, and it also commits from that same worktree (safety / WIP /
6
+ * lockfile commits, all via `guardedCommit`). A verify command that mutates a
7
+ * tracked file and restores it (the general case -- e.g. this repo's
8
+ * verify-gate.test.mjs writes a drift marker into ACTIONS.md, then restores it in
9
+ * a `finally`) has a mutation WINDOW. If a 30s-poll safety-commit's `git add -A`
10
+ * lands inside that window it snapshots the transient drift into the index; the
11
+ * verify's restore then reverts the working tree; the commit never lands --
12
+ * leaving a staged entry with no worktree content behind it (a TORN WRITE, which
13
+ * wedged a focus permanently: escalation 2170fdde, 2026-08-16).
14
+ *
15
+ * The fix belongs at the daemon, not any one product's verify script: a daemon
16
+ * that runs arbitrary configured commands in a worktree it also commits from must
17
+ * serialise the two itself. This module is that serialisation -- an in-memory,
18
+ * per-worktree hold acquired around the verify spawn and consulted by every
19
+ * daemon-authored commit path. While a worktree is held, no commit path stages or
20
+ * commits in it; the commit is DEFERRED (retried on the next poll), never lost.
21
+ *
22
+ * In-memory by design: the hold protects a LIVE process's mutation window, so it
23
+ * is only meaningful while this daemon process is running. A daemon restart kills
24
+ * any in-flight verify AND resets the map -- so a restart can never leave a stale
25
+ * hold that wedges a worktree forever (which would reproduce the very stall this
26
+ * focus removes). The map is keyed by the CANONICAL worktree path (realpath, with
27
+ * a `path.resolve` fallback) so the verify's cwd and a commit path's worktreePath
28
+ * key identically even across symlinks or a trailing slash.
29
+ *
30
+ * @module worktree/verify-interlock
31
+ */
32
+ /**
33
+ * Acquire the verify interlock for `worktreePath` and return a release token.
34
+ *
35
+ * Call the returned token exactly once when the verify process has exited (any
36
+ * exit -- clean, killed, or abnormal). The token is IDEMPOTENT: calling it more
37
+ * than once is a no-op, so a spawn that fires both `'error'` and `'close'` cannot
38
+ * under-count the hold. Acquire BEFORE the spawn and release in a path that runs
39
+ * on every exit (a `finish`/`finally`), so the hold can never outlive the process.
40
+ */
41
+ export declare function acquireVerifyHold(worktreePath: string): () => void;
42
+ /**
43
+ * True iff a verify command is currently running in `worktreePath` (the hold is
44
+ * held). Consulted by every daemon-authored commit path before it stages/commits,
45
+ * and by the advance-block gate before it decides to remediate -- so a commit that
46
+ * would snapshot a mid-verify tree is deferred, not performed. Per-worktree: a
47
+ * verify in one focus's worktree never blocks a commit in another's.
48
+ */
49
+ export declare function isWorktreeUnderVerify(worktreePath: string): boolean;
50
+ /** Test seam: clear all holds between cases. */
51
+ export declare function __resetVerifyHolds(): void;
52
+ //# sourceMappingURL=verify-interlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-interlock.d.ts","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAyBH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,IAAI,CAgBlE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Per-worktree verify interlock.
3
+ *
4
+ * The daemon runs a product's configured deterministic verify command INSIDE the
5
+ * focus worktree, and it also commits from that same worktree (safety / WIP /
6
+ * lockfile commits, all via `guardedCommit`). A verify command that mutates a
7
+ * tracked file and restores it (the general case -- e.g. this repo's
8
+ * verify-gate.test.mjs writes a drift marker into ACTIONS.md, then restores it in
9
+ * a `finally`) has a mutation WINDOW. If a 30s-poll safety-commit's `git add -A`
10
+ * lands inside that window it snapshots the transient drift into the index; the
11
+ * verify's restore then reverts the working tree; the commit never lands --
12
+ * leaving a staged entry with no worktree content behind it (a TORN WRITE, which
13
+ * wedged a focus permanently: escalation 2170fdde, 2026-08-16).
14
+ *
15
+ * The fix belongs at the daemon, not any one product's verify script: a daemon
16
+ * that runs arbitrary configured commands in a worktree it also commits from must
17
+ * serialise the two itself. This module is that serialisation -- an in-memory,
18
+ * per-worktree hold acquired around the verify spawn and consulted by every
19
+ * daemon-authored commit path. While a worktree is held, no commit path stages or
20
+ * commits in it; the commit is DEFERRED (retried on the next poll), never lost.
21
+ *
22
+ * In-memory by design: the hold protects a LIVE process's mutation window, so it
23
+ * is only meaningful while this daemon process is running. A daemon restart kills
24
+ * any in-flight verify AND resets the map -- so a restart can never leave a stale
25
+ * hold that wedges a worktree forever (which would reproduce the very stall this
26
+ * focus removes). The map is keyed by the CANONICAL worktree path (realpath, with
27
+ * a `path.resolve` fallback) so the verify's cwd and a commit path's worktreePath
28
+ * key identically even across symlinks or a trailing slash.
29
+ *
30
+ * @module worktree/verify-interlock
31
+ */
32
+ import { realpathSync } from 'node:fs';
33
+ import { resolve } from 'node:path';
34
+ import { createLogger } from '../shell/log.js';
35
+ const log = createLogger({ module: 'worktree' });
36
+ /**
37
+ * Active verify holds: canonical worktree path -> count of in-flight verifies.
38
+ * A COUNT (not a boolean) so overlapping verifies on the same worktree -- should
39
+ * they ever occur -- release correctly: the hold clears only when the LAST one
40
+ * releases.
41
+ */
42
+ const holds = new Map();
43
+ /** Canonicalize a worktree path so verify cwd and commit worktreePath match. */
44
+ function keyFor(worktreePath) {
45
+ try {
46
+ return realpathSync(worktreePath);
47
+ }
48
+ catch {
49
+ return resolve(worktreePath);
50
+ }
51
+ }
52
+ /**
53
+ * Acquire the verify interlock for `worktreePath` and return a release token.
54
+ *
55
+ * Call the returned token exactly once when the verify process has exited (any
56
+ * exit -- clean, killed, or abnormal). The token is IDEMPOTENT: calling it more
57
+ * than once is a no-op, so a spawn that fires both `'error'` and `'close'` cannot
58
+ * under-count the hold. Acquire BEFORE the spawn and release in a path that runs
59
+ * on every exit (a `finish`/`finally`), so the hold can never outlive the process.
60
+ */
61
+ export function acquireVerifyHold(worktreePath) {
62
+ const key = keyFor(worktreePath);
63
+ holds.set(key, (holds.get(key) ?? 0) + 1);
64
+ log.debug(`verify-interlock: hold acquired for ${key} (depth ${holds.get(key)})`);
65
+ let released = false;
66
+ return () => {
67
+ if (released)
68
+ return;
69
+ released = true;
70
+ const next = (holds.get(key) ?? 1) - 1;
71
+ if (next <= 0) {
72
+ holds.delete(key);
73
+ }
74
+ else {
75
+ holds.set(key, next);
76
+ }
77
+ log.debug(`verify-interlock: hold released for ${key} (depth ${next <= 0 ? 0 : next})`);
78
+ };
79
+ }
80
+ /**
81
+ * True iff a verify command is currently running in `worktreePath` (the hold is
82
+ * held). Consulted by every daemon-authored commit path before it stages/commits,
83
+ * and by the advance-block gate before it decides to remediate -- so a commit that
84
+ * would snapshot a mid-verify tree is deferred, not performed. Per-worktree: a
85
+ * verify in one focus's worktree never blocks a commit in another's.
86
+ */
87
+ export function isWorktreeUnderVerify(worktreePath) {
88
+ return (holds.get(keyFor(worktreePath)) ?? 0) > 0;
89
+ }
90
+ /** Test seam: clear all holds between cases. */
91
+ export function __resetVerifyHolds() {
92
+ holds.clear();
93
+ }
94
+ //# sourceMappingURL=verify-interlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-interlock.js","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC,gFAAgF;AAChF,SAAS,MAAM,CAAC,YAAoB;IAClC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACjC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,uCAAuC,GAAG,WAAW,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,uCAAuC,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1F,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IACxD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,kBAAkB;IAChC,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.21.12",
3
+ "version": "0.21.81",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,15 +30,15 @@
30
30
  "clean": "rm -rf dist",
31
31
  "start": "node dist/index.js",
32
32
  "lint": "eslint .",
33
- "test": "npx tsx --experimental-test-module-mocks --test --test-concurrency=1 src/__tests__/*.test.ts src/*.test.ts src/scanners/*.test.ts src/feeds/*.test.ts",
33
+ "test": "node scripts/run-tests.mjs",
34
34
  "stamp-build-info": "node scripts/stamp-build-info.mjs",
35
35
  "stamp-build-info:local": "node scripts/stamp-build-info.mjs --empty",
36
36
  "prepublishOnly": "npm run build && npm run stamp-build-info"
37
37
  },
38
38
  "//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. See src/__tests__/ for test files.",
39
39
  "dependencies": {
40
- "@telora/daemon-core": "^0.2.76",
41
- "@telora/mcp-products": "^0.22.114",
40
+ "@telora/daemon-core": "^0.2.77",
41
+ "@telora/mcp-products": "^0.22.116",
42
42
  "commander": "^14.0.3",
43
43
  "yaml": "^2.4.0",
44
44
  "zod": "^4.3.6"
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-tracker.d.ts","sourceRoot":"","sources":["../src/activity-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGpG,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,mBAAmB;gBAC1C,SAAS,EAAE,MAAM;CAO9B"}