@telora/daemon 0.20.4 → 0.20.9

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 (586) hide show
  1. package/build-info.json +7 -3
  2. package/dist/ai-inspection-context.d.ts.map +1 -1
  3. package/dist/ai-inspection-context.js +5 -3
  4. package/dist/ai-inspection-context.js.map +1 -1
  5. package/dist/assembly-engine.d.ts.map +1 -1
  6. package/dist/assembly-engine.js +4 -2
  7. package/dist/assembly-engine.js.map +1 -1
  8. package/dist/audit-hooks.d.ts.map +1 -1
  9. package/dist/audit-hooks.js +3 -1
  10. package/dist/audit-hooks.js.map +1 -1
  11. package/dist/auth-liveness.d.ts.map +1 -1
  12. package/dist/auth-liveness.js +4 -2
  13. package/dist/auth-liveness.js.map +1 -1
  14. package/dist/auto-update.d.ts.map +1 -1
  15. package/dist/auto-update.js +14 -12
  16. package/dist/auto-update.js.map +1 -1
  17. package/dist/backends/codex/codex-backend.d.ts.map +1 -1
  18. package/dist/backends/codex/codex-backend.js +4 -2
  19. package/dist/backends/codex/codex-backend.js.map +1 -1
  20. package/dist/backends/codex/codex-mcp-proxy.d.ts.map +1 -1
  21. package/dist/backends/codex/codex-mcp-proxy.js +3 -1
  22. package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
  23. package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
  24. package/dist/backends/lacuna/lifecycle.js +4 -2
  25. package/dist/backends/lacuna/lifecycle.js.map +1 -1
  26. package/dist/backends/resolve.d.ts.map +1 -1
  27. package/dist/backends/resolve.js +3 -1
  28. package/dist/backends/resolve.js.map +1 -1
  29. package/dist/cascade-restatement.d.ts.map +1 -1
  30. package/dist/cascade-restatement.js +15 -13
  31. package/dist/cascade-restatement.js.map +1 -1
  32. package/dist/ci-escalation.d.ts.map +1 -1
  33. package/dist/ci-escalation.js +4 -2
  34. package/dist/ci-escalation.js.map +1 -1
  35. package/dist/ci-sensor-loop.d.ts.map +1 -1
  36. package/dist/ci-sensor-loop.js +6 -4
  37. package/dist/ci-sensor-loop.js.map +1 -1
  38. package/dist/ci-status-git.d.ts +5 -6
  39. package/dist/ci-status-git.d.ts.map +1 -1
  40. package/dist/ci-status-git.js +7 -7
  41. package/dist/ci-status-git.js.map +1 -1
  42. package/dist/cli/connect.d.ts.map +1 -1
  43. package/dist/cli/connect.js +9 -2
  44. package/dist/cli/connect.js.map +1 -1
  45. package/dist/cli/open.d.ts.map +1 -1
  46. package/dist/cli/open.js +9 -2
  47. package/dist/cli/open.js.map +1 -1
  48. package/dist/cli/session-state.d.ts.map +1 -1
  49. package/dist/cli/session-state.js +2 -0
  50. package/dist/cli/session-state.js.map +1 -1
  51. package/dist/cli/verify-setup.d.ts.map +1 -1
  52. package/dist/cli/verify-setup.js +9 -4
  53. package/dist/cli/verify-setup.js.map +1 -1
  54. package/dist/close-loop-dispatcher.d.ts.map +1 -1
  55. package/dist/close-loop-dispatcher.js +6 -4
  56. package/dist/close-loop-dispatcher.js.map +1 -1
  57. package/dist/completion/advanceability.d.ts.map +1 -1
  58. package/dist/completion/advanceability.js +3 -1
  59. package/dist/completion/advanceability.js.map +1 -1
  60. package/dist/completion/agent-completion.d.ts.map +1 -1
  61. package/dist/completion/agent-completion.js +11 -9
  62. package/dist/completion/agent-completion.js.map +1 -1
  63. package/dist/completion/event-escalations.d.ts.map +1 -1
  64. package/dist/completion/event-escalations.js +10 -8
  65. package/dist/completion/event-escalations.js.map +1 -1
  66. package/dist/completion/event-phases.d.ts +104 -0
  67. package/dist/completion/event-phases.d.ts.map +1 -0
  68. package/dist/completion/event-phases.js +572 -0
  69. package/dist/completion/event-phases.js.map +1 -0
  70. package/dist/completion/event.d.ts +1 -1
  71. package/dist/completion/event.d.ts.map +1 -1
  72. package/dist/completion/event.js +36 -592
  73. package/dist/completion/event.js.map +1 -1
  74. package/dist/completion/merge-phase.d.ts.map +1 -1
  75. package/dist/completion/merge-phase.js +14 -12
  76. package/dist/completion/merge-phase.js.map +1 -1
  77. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  78. package/dist/completion/read-only-pristine.js +6 -4
  79. package/dist/completion/read-only-pristine.js.map +1 -1
  80. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  81. package/dist/completion/review-exit-phase.js +28 -26
  82. package/dist/completion/review-exit-phase.js.map +1 -1
  83. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  84. package/dist/completion/status-advance-phase.js +16 -14
  85. package/dist/completion/status-advance-phase.js.map +1 -1
  86. package/dist/completion/team-completion.d.ts.map +1 -1
  87. package/dist/completion/team-completion.js +16 -14
  88. package/dist/completion/team-completion.js.map +1 -1
  89. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  90. package/dist/completion/team-lifecycle.js +32 -33
  91. package/dist/completion/team-lifecycle.js.map +1 -1
  92. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  93. package/dist/completion/terminated-work-reconcile.js +11 -9
  94. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  95. package/dist/condition-evaluators.d.ts.map +1 -1
  96. package/dist/condition-evaluators.js +3 -1
  97. package/dist/condition-evaluators.js.map +1 -1
  98. package/dist/config-reconcile.d.ts.map +1 -1
  99. package/dist/config-reconcile.js +3 -1
  100. package/dist/config-reconcile.js.map +1 -1
  101. package/dist/config.d.ts +4 -4
  102. package/dist/config.d.ts.map +1 -1
  103. package/dist/config.js +39 -37
  104. package/dist/config.js.map +1 -1
  105. package/dist/control-state.d.ts.map +1 -1
  106. package/dist/control-state.js +26 -24
  107. package/dist/control-state.js.map +1 -1
  108. package/dist/crash-recovery.d.ts.map +1 -1
  109. package/dist/crash-recovery.js +43 -41
  110. package/dist/crash-recovery.js.map +1 -1
  111. package/dist/daemon-logs.d.ts.map +1 -1
  112. package/dist/daemon-logs.js +21 -3
  113. package/dist/daemon-logs.js.map +1 -1
  114. package/dist/daemon-process.d.ts +0 -1
  115. package/dist/daemon-process.d.ts.map +1 -1
  116. package/dist/daemon-process.js +15 -10
  117. package/dist/daemon-process.js.map +1 -1
  118. package/dist/delivery-advance-block.d.ts +4 -4
  119. package/dist/delivery-advance-block.d.ts.map +1 -1
  120. package/dist/delivery-advance-block.js +25 -18
  121. package/dist/delivery-advance-block.js.map +1 -1
  122. package/dist/delivery-guards.d.ts.map +1 -1
  123. package/dist/delivery-guards.js +11 -9
  124. package/dist/delivery-guards.js.map +1 -1
  125. package/dist/delivery-lifecycle.d.ts.map +1 -1
  126. package/dist/delivery-lifecycle.js +23 -21
  127. package/dist/delivery-lifecycle.js.map +1 -1
  128. package/dist/delivery-merge.d.ts.map +1 -1
  129. package/dist/delivery-merge.js +10 -8
  130. package/dist/delivery-merge.js.map +1 -1
  131. package/dist/delivery-reconciler-apply.d.ts.map +1 -1
  132. package/dist/delivery-reconciler-apply.js +5 -8
  133. package/dist/delivery-reconciler-apply.js.map +1 -1
  134. package/dist/delivery-reconciler-shadow.d.ts.map +1 -1
  135. package/dist/delivery-reconciler-shadow.js +5 -6
  136. package/dist/delivery-reconciler-shadow.js.map +1 -1
  137. package/dist/directive/close-loop-stage.d.ts.map +1 -1
  138. package/dist/directive/close-loop-stage.js +9 -7
  139. package/dist/directive/close-loop-stage.js.map +1 -1
  140. package/dist/directive/directive-assembly.d.ts.map +1 -1
  141. package/dist/directive/directive-assembly.js +3 -1
  142. package/dist/directive/directive-assembly.js.map +1 -1
  143. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  144. package/dist/directive/directive-dispatch.js +16 -14
  145. package/dist/directive/directive-dispatch.js.map +1 -1
  146. package/dist/directive/directive-queue.d.ts +27 -0
  147. package/dist/directive/directive-queue.d.ts.map +1 -1
  148. package/dist/directive/directive-queue.js +28 -0
  149. package/dist/directive/directive-queue.js.map +1 -1
  150. package/dist/directive/phase-sync.d.ts.map +1 -1
  151. package/dist/directive/phase-sync.js +8 -6
  152. package/dist/directive/phase-sync.js.map +1 -1
  153. package/dist/directive-executor.d.ts +1 -1
  154. package/dist/directive-executor.d.ts.map +1 -1
  155. package/dist/directive-executor.js +12 -10
  156. package/dist/directive-executor.js.map +1 -1
  157. package/dist/discovery-poll.d.ts.map +1 -1
  158. package/dist/discovery-poll.js +8 -6
  159. package/dist/discovery-poll.js.map +1 -1
  160. package/dist/drain-teardown.d.ts.map +1 -1
  161. package/dist/drain-teardown.js +6 -19
  162. package/dist/drain-teardown.js.map +1 -1
  163. package/dist/drift-eval-loop.d.ts.map +1 -1
  164. package/dist/drift-eval-loop.js +10 -8
  165. package/dist/drift-eval-loop.js.map +1 -1
  166. package/dist/escalation-provenance.d.ts.map +1 -1
  167. package/dist/escalation-provenance.js +8 -3
  168. package/dist/escalation-provenance.js.map +1 -1
  169. package/dist/focus-engine.d.ts.map +1 -1
  170. package/dist/focus-engine.js +36 -34
  171. package/dist/focus-engine.js.map +1 -1
  172. package/dist/focus-executor.d.ts +1 -0
  173. package/dist/focus-executor.d.ts.map +1 -1
  174. package/dist/focus-executor.js +16 -14
  175. package/dist/focus-executor.js.map +1 -1
  176. package/dist/focus-lifecycle.d.ts.map +1 -1
  177. package/dist/focus-lifecycle.js +56 -44
  178. package/dist/focus-lifecycle.js.map +1 -1
  179. package/dist/focus-loop-registry.d.ts.map +1 -1
  180. package/dist/focus-loop-registry.js +38 -36
  181. package/dist/focus-loop-registry.js.map +1 -1
  182. package/dist/focus-merge.d.ts.map +1 -1
  183. package/dist/focus-merge.js +40 -34
  184. package/dist/focus-merge.js.map +1 -1
  185. package/dist/focus-provisioning.d.ts.map +1 -1
  186. package/dist/focus-provisioning.js +15 -13
  187. package/dist/focus-provisioning.js.map +1 -1
  188. package/dist/focus-respawn-guard.d.ts.map +1 -1
  189. package/dist/focus-respawn-guard.js +4 -2
  190. package/dist/focus-respawn-guard.js.map +1 -1
  191. package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
  192. package/dist/focus-stage-lifecycle/planning-release.js +10 -8
  193. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  194. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
  195. package/dist/focus-stage-lifecycle/review-convergence.js +11 -9
  196. package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
  197. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  198. package/dist/focus-stage-lifecycle/wedge-watchdog.js +7 -5
  199. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  200. package/dist/focus-stage-lifecycle.d.ts.map +1 -1
  201. package/dist/focus-stage-lifecycle.js +7 -5
  202. package/dist/focus-stage-lifecycle.js.map +1 -1
  203. package/dist/focus-team-state.d.ts +18 -9
  204. package/dist/focus-team-state.d.ts.map +1 -1
  205. package/dist/focus-team-state.js +37 -18
  206. package/dist/focus-team-state.js.map +1 -1
  207. package/dist/focus-worktree-state.d.ts.map +1 -1
  208. package/dist/focus-worktree-state.js +6 -4
  209. package/dist/focus-worktree-state.js.map +1 -1
  210. package/dist/git/branch.d.ts.map +1 -1
  211. package/dist/git/branch.js +7 -5
  212. package/dist/git/branch.js.map +1 -1
  213. package/dist/git/genesis.d.ts.map +1 -1
  214. package/dist/git/genesis.js +3 -1
  215. package/dist/git/genesis.js.map +1 -1
  216. package/dist/git/integration.d.ts.map +1 -1
  217. package/dist/git/integration.js +4 -2
  218. package/dist/git/integration.js.map +1 -1
  219. package/dist/git/merge-helpers.d.ts.map +1 -1
  220. package/dist/git/merge-helpers.js +6 -4
  221. package/dist/git/merge-helpers.js.map +1 -1
  222. package/dist/git/merge-lock.d.ts +0 -7
  223. package/dist/git/merge-lock.d.ts.map +1 -1
  224. package/dist/git/merge-lock.js +5 -3
  225. package/dist/git/merge-lock.js.map +1 -1
  226. package/dist/git/merge.d.ts.map +1 -1
  227. package/dist/git/merge.js +10 -8
  228. package/dist/git/merge.js.map +1 -1
  229. package/dist/git/state-detector.d.ts.map +1 -1
  230. package/dist/git/state-detector.js +9 -7
  231. package/dist/git/state-detector.js.map +1 -1
  232. package/dist/git/utils.d.ts.map +1 -1
  233. package/dist/git/utils.js +6 -4
  234. package/dist/git/utils.js.map +1 -1
  235. package/dist/git.d.ts.map +1 -1
  236. package/dist/git.js +16 -14
  237. package/dist/git.js.map +1 -1
  238. package/dist/guard-evaluator.d.ts.map +1 -1
  239. package/dist/guard-evaluator.js +3 -1
  240. package/dist/guard-evaluator.js.map +1 -1
  241. package/dist/heartbeat.d.ts.map +1 -1
  242. package/dist/heartbeat.js +14 -11
  243. package/dist/heartbeat.js.map +1 -1
  244. package/dist/host-control/catalog.d.ts.map +1 -1
  245. package/dist/host-control/catalog.js +4 -2
  246. package/dist/host-control/catalog.js.map +1 -1
  247. package/dist/host-control/client.d.ts.map +1 -1
  248. package/dist/host-control/client.js +3 -1
  249. package/dist/host-control/client.js.map +1 -1
  250. package/dist/host-control/sizing.d.ts.map +1 -1
  251. package/dist/host-control/sizing.js +4 -1
  252. package/dist/host-control/sizing.js.map +1 -1
  253. package/dist/index.js +110 -127
  254. package/dist/index.js.map +1 -1
  255. package/dist/install-probe-tick.d.ts.map +1 -1
  256. package/dist/install-probe-tick.js +6 -4
  257. package/dist/install-probe-tick.js.map +1 -1
  258. package/dist/intake-control.d.ts +0 -16
  259. package/dist/intake-control.d.ts.map +1 -1
  260. package/dist/intake-control.js +4 -2
  261. package/dist/intake-control.js.map +1 -1
  262. package/dist/listener-auto-advance.d.ts.map +1 -1
  263. package/dist/listener-auto-advance.js +26 -24
  264. package/dist/listener-auto-advance.js.map +1 -1
  265. package/dist/listener.d.ts.map +1 -1
  266. package/dist/listener.js +59 -39
  267. package/dist/listener.js.map +1 -1
  268. package/dist/log.d.ts +84 -0
  269. package/dist/log.d.ts.map +1 -0
  270. package/dist/log.js +182 -0
  271. package/dist/log.js.map +1 -0
  272. package/dist/loops/context-audit-pass.d.ts.map +1 -1
  273. package/dist/loops/context-audit-pass.js +8 -5
  274. package/dist/loops/context-audit-pass.js.map +1 -1
  275. package/dist/loops/engine.d.ts.map +1 -1
  276. package/dist/loops/engine.js +26 -24
  277. package/dist/loops/engine.js.map +1 -1
  278. package/dist/loops/llm-client.d.ts.map +1 -1
  279. package/dist/loops/llm-client.js +4 -2
  280. package/dist/loops/llm-client.js.map +1 -1
  281. package/dist/loops/llm-flag.d.ts +4 -28
  282. package/dist/loops/llm-flag.d.ts.map +1 -1
  283. package/dist/loops/llm-flag.js +11 -30
  284. package/dist/loops/llm-flag.js.map +1 -1
  285. package/dist/loops/prompt-builder.d.ts.map +1 -1
  286. package/dist/loops/prompt-builder.js +3 -1
  287. package/dist/loops/prompt-builder.js.map +1 -1
  288. package/dist/merge-back-loop.d.ts.map +1 -1
  289. package/dist/merge-back-loop.js +20 -18
  290. package/dist/merge-back-loop.js.map +1 -1
  291. package/dist/merge-detector.d.ts.map +1 -1
  292. package/dist/merge-detector.js +7 -5
  293. package/dist/merge-detector.js.map +1 -1
  294. package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
  295. package/dist/nexus/endpoint-clearance.js +3 -1
  296. package/dist/nexus/endpoint-clearance.js.map +1 -1
  297. package/dist/nexus/escalation-bridge.d.ts.map +1 -1
  298. package/dist/nexus/escalation-bridge.js +3 -1
  299. package/dist/nexus/escalation-bridge.js.map +1 -1
  300. package/dist/nexus/incoming.d.ts.map +1 -1
  301. package/dist/nexus/incoming.js +3 -1
  302. package/dist/nexus/incoming.js.map +1 -1
  303. package/dist/nexus/intake-spawn.d.ts.map +1 -1
  304. package/dist/nexus/intake-spawn.js +6 -4
  305. package/dist/nexus/intake-spawn.js.map +1 -1
  306. package/dist/nexus/intake.d.ts.map +1 -1
  307. package/dist/nexus/intake.js +3 -1
  308. package/dist/nexus/intake.js.map +1 -1
  309. package/dist/nexus/return.d.ts.map +1 -1
  310. package/dist/nexus/return.js +3 -1
  311. package/dist/nexus/return.js.map +1 -1
  312. package/dist/non-interactive-init.d.ts.map +1 -1
  313. package/dist/non-interactive-init.js +0 -0
  314. package/dist/non-interactive-init.js.map +1 -1
  315. package/dist/otlp/port-manager.d.ts.map +1 -1
  316. package/dist/otlp/port-manager.js +7 -5
  317. package/dist/otlp/port-manager.js.map +1 -1
  318. package/dist/otlp/receiver.d.ts.map +1 -1
  319. package/dist/otlp/receiver.js +14 -12
  320. package/dist/otlp/receiver.js.map +1 -1
  321. package/dist/output-monitor.d.ts.map +1 -1
  322. package/dist/output-monitor.js +6 -4
  323. package/dist/output-monitor.js.map +1 -1
  324. package/dist/prd/controller.d.ts.map +1 -1
  325. package/dist/prd/controller.js +7 -5
  326. package/dist/prd/controller.js.map +1 -1
  327. package/dist/prd/focus-pushdown.d.ts.map +1 -1
  328. package/dist/prd/focus-pushdown.js +3 -1
  329. package/dist/prd/focus-pushdown.js.map +1 -1
  330. package/dist/product-scaffold.d.ts.map +1 -1
  331. package/dist/product-scaffold.js +8 -6
  332. package/dist/product-scaffold.js.map +1 -1
  333. package/dist/queries/context-assembly.d.ts.map +1 -1
  334. package/dist/queries/context-assembly.js +3 -1
  335. package/dist/queries/context-assembly.js.map +1 -1
  336. package/dist/queries/deliveries.d.ts.map +1 -1
  337. package/dist/queries/deliveries.js +7 -5
  338. package/dist/queries/deliveries.js.map +1 -1
  339. package/dist/queries/focuses.d.ts.map +1 -1
  340. package/dist/queries/focuses.js +3 -1
  341. package/dist/queries/focuses.js.map +1 -1
  342. package/dist/queries/guards.d.ts.map +1 -1
  343. package/dist/queries/guards.js +3 -1
  344. package/dist/queries/guards.js.map +1 -1
  345. package/dist/queries/issues.d.ts.map +1 -1
  346. package/dist/queries/issues.js +3 -1
  347. package/dist/queries/issues.js.map +1 -1
  348. package/dist/queries/system-session.d.ts.map +1 -1
  349. package/dist/queries/system-session.js +5 -3
  350. package/dist/queries/system-session.js.map +1 -1
  351. package/dist/queries/verification.d.ts.map +1 -1
  352. package/dist/queries/verification.js +6 -4
  353. package/dist/queries/verification.js.map +1 -1
  354. package/dist/reality-pole-capture.d.ts.map +1 -1
  355. package/dist/reality-pole-capture.js +7 -4
  356. package/dist/reality-pole-capture.js.map +1 -1
  357. package/dist/reality-pole.d.ts.map +1 -1
  358. package/dist/reality-pole.js +4 -2
  359. package/dist/reality-pole.js.map +1 -1
  360. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  361. package/dist/resolvers/agent-escalations.js +3 -1
  362. package/dist/resolvers/agent-escalations.js.map +1 -1
  363. package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
  364. package/dist/resolvers/agent-session-summaries.js +3 -1
  365. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  366. package/dist/resolvers/deployment-profile.d.ts.map +1 -1
  367. package/dist/resolvers/deployment-profile.js +3 -1
  368. package/dist/resolvers/deployment-profile.js.map +1 -1
  369. package/dist/resolvers/escalation-answers.d.ts.map +1 -1
  370. package/dist/resolvers/escalation-answers.js +4 -2
  371. package/dist/resolvers/escalation-answers.js.map +1 -1
  372. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  373. package/dist/resolvers/focus-anchoring-injections.js +3 -1
  374. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  375. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  376. package/dist/resolvers/focus-injections.js +3 -1
  377. package/dist/resolvers/focus-injections.js.map +1 -1
  378. package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
  379. package/dist/resolvers/focus-last-review-report.js +3 -1
  380. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  381. package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
  382. package/dist/resolvers/focus-reality-tree.js +3 -1
  383. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  384. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  385. package/dist/resolvers/git-diff-against-base.js +3 -1
  386. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  387. package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
  388. package/dist/resolvers/guards-evaluation-results.js +3 -1
  389. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  390. package/dist/resolvers/loop-context.d.ts.map +1 -1
  391. package/dist/resolvers/loop-context.js +6 -2
  392. package/dist/resolvers/loop-context.js.map +1 -1
  393. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  394. package/dist/resolvers/loop-delivery-index.js +3 -1
  395. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  396. package/dist/resolvers/loop-documents.d.ts.map +1 -1
  397. package/dist/resolvers/loop-documents.js +3 -1
  398. package/dist/resolvers/loop-documents.js.map +1 -1
  399. package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
  400. package/dist/resolvers/loop-expected-effects.js +3 -1
  401. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  402. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  403. package/dist/resolvers/loop-frt-statement.js +3 -1
  404. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  405. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  406. package/dist/resolvers/loop-injection.js +3 -1
  407. package/dist/resolvers/loop-injection.js.map +1 -1
  408. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  409. package/dist/resolvers/loop-persona.js +3 -1
  410. package/dist/resolvers/loop-persona.js.map +1 -1
  411. package/dist/resolvers/loop-questions.d.ts.map +1 -1
  412. package/dist/resolvers/loop-questions.js +3 -1
  413. package/dist/resolvers/loop-questions.js.map +1 -1
  414. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  415. package/dist/resolvers/loop-upstream-udes.js +3 -1
  416. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  417. package/dist/resolvers/prd-context.d.ts.map +1 -1
  418. package/dist/resolvers/prd-context.js +3 -1
  419. package/dist/resolvers/prd-context.js.map +1 -1
  420. package/dist/resolvers/reality-metrics.d.ts.map +1 -1
  421. package/dist/resolvers/reality-metrics.js +3 -1
  422. package/dist/resolvers/reality-metrics.js.map +1 -1
  423. package/dist/resolvers/reality-projections.d.ts.map +1 -1
  424. package/dist/resolvers/reality-projections.js +3 -1
  425. package/dist/resolvers/reality-projections.js.map +1 -1
  426. package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
  427. package/dist/resolvers/reality-tree-snapshot.js +3 -1
  428. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  429. package/dist/resolvers/retired-injections.d.ts.map +1 -1
  430. package/dist/resolvers/retired-injections.js +3 -1
  431. package/dist/resolvers/retired-injections.js.map +1 -1
  432. package/dist/resolvers/review-outcomes.d.ts.map +1 -1
  433. package/dist/resolvers/review-outcomes.js +3 -1
  434. package/dist/resolvers/review-outcomes.js.map +1 -1
  435. package/dist/resolvers/security-advisory.d.ts.map +1 -1
  436. package/dist/resolvers/security-advisory.js +3 -1
  437. package/dist/resolvers/security-advisory.js.map +1 -1
  438. package/dist/resolvers/shared/wiki.d.ts.map +1 -1
  439. package/dist/resolvers/shared/wiki.js +5 -3
  440. package/dist/resolvers/shared/wiki.js.map +1 -1
  441. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  442. package/dist/resolvers/wiki-topic.js +3 -1
  443. package/dist/resolvers/wiki-topic.js.map +1 -1
  444. package/dist/resolvers/workflow-stages.d.ts.map +1 -1
  445. package/dist/resolvers/workflow-stages.js +3 -1
  446. package/dist/resolvers/workflow-stages.js.map +1 -1
  447. package/dist/schema-version-gate.d.ts.map +1 -1
  448. package/dist/schema-version-gate.js +16 -18
  449. package/dist/schema-version-gate.js.map +1 -1
  450. package/dist/security-finding-gate.d.ts.map +1 -1
  451. package/dist/security-finding-gate.js +3 -1
  452. package/dist/security-finding-gate.js.map +1 -1
  453. package/dist/security-rescan-resolution.d.ts.map +1 -1
  454. package/dist/security-rescan-resolution.js +4 -2
  455. package/dist/security-rescan-resolution.js.map +1 -1
  456. package/dist/security-scan-engine.d.ts.map +1 -1
  457. package/dist/security-scan-engine.js +9 -6
  458. package/dist/security-scan-engine.js.map +1 -1
  459. package/dist/self-update.d.ts.map +1 -1
  460. package/dist/self-update.js +48 -39
  461. package/dist/self-update.js.map +1 -1
  462. package/dist/sensor-sweep.d.ts.map +1 -1
  463. package/dist/sensor-sweep.js +5 -2
  464. package/dist/sensor-sweep.js.map +1 -1
  465. package/dist/session-stamp.d.ts.map +1 -1
  466. package/dist/session-stamp.js +4 -2
  467. package/dist/session-stamp.js.map +1 -1
  468. package/dist/spawn/model-routing.d.ts.map +1 -1
  469. package/dist/spawn/model-routing.js +19 -16
  470. package/dist/spawn/model-routing.js.map +1 -1
  471. package/dist/spawn/process-spawn.d.ts.map +1 -1
  472. package/dist/spawn/process-spawn.js +29 -22
  473. package/dist/spawn/process-spawn.js.map +1 -1
  474. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  475. package/dist/spawn/prompt-assembly.js +6 -4
  476. package/dist/spawn/prompt-assembly.js.map +1 -1
  477. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  478. package/dist/spawn/spawn-decision.js +16 -14
  479. package/dist/spawn/spawn-decision.js.map +1 -1
  480. package/dist/spawn/worktree-session.d.ts.map +1 -1
  481. package/dist/spawn/worktree-session.js +13 -11
  482. package/dist/spawn/worktree-session.js.map +1 -1
  483. package/dist/spawn-cooldown.d.ts +0 -7
  484. package/dist/spawn-cooldown.d.ts.map +1 -1
  485. package/dist/spawn-cooldown.js +3 -1
  486. package/dist/spawn-cooldown.js.map +1 -1
  487. package/dist/spawn-environment.d.ts.map +1 -1
  488. package/dist/spawn-environment.js +4 -1
  489. package/dist/spawn-environment.js.map +1 -1
  490. package/dist/spawner/helpers.d.ts.map +1 -1
  491. package/dist/spawner/helpers.js +19 -17
  492. package/dist/spawner/helpers.js.map +1 -1
  493. package/dist/spawner/lifecycle.d.ts.map +1 -1
  494. package/dist/spawner/lifecycle.js +17 -13
  495. package/dist/spawner/lifecycle.js.map +1 -1
  496. package/dist/spawner/liveness.d.ts.map +1 -1
  497. package/dist/spawner/liveness.js +7 -5
  498. package/dist/spawner/liveness.js.map +1 -1
  499. package/dist/spawner/resolution.d.ts.map +1 -1
  500. package/dist/spawner/resolution.js +7 -5
  501. package/dist/spawner/resolution.js.map +1 -1
  502. package/dist/spawner/stream-handlers.d.ts +6 -55
  503. package/dist/spawner/stream-handlers.d.ts.map +1 -1
  504. package/dist/spawner/stream-handlers.js +10 -172
  505. package/dist/spawner/stream-handlers.js.map +1 -1
  506. package/dist/spawner/timeout.d.ts.map +1 -1
  507. package/dist/spawner/timeout.js +11 -9
  508. package/dist/spawner/timeout.js.map +1 -1
  509. package/dist/staleness.d.ts.map +1 -1
  510. package/dist/staleness.js +4 -1
  511. package/dist/staleness.js.map +1 -1
  512. package/dist/stall-detector-config.d.ts +6 -17
  513. package/dist/stall-detector-config.d.ts.map +1 -1
  514. package/dist/stall-detector-config.js +10 -36
  515. package/dist/stall-detector-config.js.map +1 -1
  516. package/dist/stall-detectors.d.ts.map +1 -1
  517. package/dist/stall-detectors.js +6 -4
  518. package/dist/stall-detectors.js.map +1 -1
  519. package/dist/state-cascade.d.ts.map +1 -1
  520. package/dist/state-cascade.js +9 -7
  521. package/dist/state-cascade.js.map +1 -1
  522. package/dist/stop-request.d.ts.map +1 -1
  523. package/dist/stop-request.js +6 -2
  524. package/dist/stop-request.js.map +1 -1
  525. package/dist/supabase.d.ts.map +1 -1
  526. package/dist/supabase.js +3 -1
  527. package/dist/supabase.js.map +1 -1
  528. package/dist/telemetry-writer.d.ts.map +1 -1
  529. package/dist/telemetry-writer.js +11 -9
  530. package/dist/telemetry-writer.js.map +1 -1
  531. package/dist/trigger-executor.d.ts.map +1 -1
  532. package/dist/trigger-executor.js +28 -26
  533. package/dist/trigger-executor.js.map +1 -1
  534. package/dist/unified-engine-lifecycle.d.ts +19 -11
  535. package/dist/unified-engine-lifecycle.d.ts.map +1 -1
  536. package/dist/unified-engine-lifecycle.js +71 -70
  537. package/dist/unified-engine-lifecycle.js.map +1 -1
  538. package/dist/unified-init.d.ts.map +1 -1
  539. package/dist/unified-init.js +41 -36
  540. package/dist/unified-init.js.map +1 -1
  541. package/dist/unified-shell-config.d.ts +8 -1
  542. package/dist/unified-shell-config.d.ts.map +1 -1
  543. package/dist/unified-shell-config.js +57 -34
  544. package/dist/unified-shell-config.js.map +1 -1
  545. package/dist/unified-shell-status.d.ts.map +1 -1
  546. package/dist/unified-shell-status.js +39 -37
  547. package/dist/unified-shell-status.js.map +1 -1
  548. package/dist/unified-shell.d.ts.map +1 -1
  549. package/dist/unified-shell.js +37 -41
  550. package/dist/unified-shell.js.map +1 -1
  551. package/dist/verification-baseline.d.ts.map +1 -1
  552. package/dist/verification-baseline.js +7 -4
  553. package/dist/verification-baseline.js.map +1 -1
  554. package/dist/verification-config.d.ts +3 -3
  555. package/dist/verification-config.d.ts.map +1 -1
  556. package/dist/verification-config.js +8 -19
  557. package/dist/verification-config.js.map +1 -1
  558. package/dist/verification-default-on.d.ts +6 -6
  559. package/dist/verification-default-on.d.ts.map +1 -1
  560. package/dist/verification-default-on.js +9 -7
  561. package/dist/verification-default-on.js.map +1 -1
  562. package/dist/verification-deterministic.d.ts.map +1 -1
  563. package/dist/verification-deterministic.js +6 -3
  564. package/dist/verification-deterministic.js.map +1 -1
  565. package/dist/verification-engine.d.ts.map +1 -1
  566. package/dist/verification-engine.js +20 -16
  567. package/dist/verification-engine.js.map +1 -1
  568. package/dist/verification-feedback.d.ts.map +1 -1
  569. package/dist/verification-feedback.js +4 -2
  570. package/dist/verification-feedback.js.map +1 -1
  571. package/dist/version-check.d.ts.map +1 -1
  572. package/dist/version-check.js +5 -3
  573. package/dist/version-check.js.map +1 -1
  574. package/dist/worker-pidfile.d.ts.map +1 -1
  575. package/dist/worker-pidfile.js +8 -3
  576. package/dist/worker-pidfile.js.map +1 -1
  577. package/dist/worktree/focus.d.ts.map +1 -1
  578. package/dist/worktree/focus.js +15 -13
  579. package/dist/worktree/focus.js.map +1 -1
  580. package/dist/worktree/safety.d.ts.map +1 -1
  581. package/dist/worktree/safety.js +13 -11
  582. package/dist/worktree/safety.js.map +1 -1
  583. package/dist/worktree.d.ts.map +1 -1
  584. package/dist/worktree.js +41 -39
  585. package/dist/worktree.js.map +1 -1
  586. package/package.json +3 -3
@@ -15,6 +15,8 @@ import { withRetry, sendMessage, ESCALATION_REASONS, ESCALATION_DISPOSITIONS } f
15
15
  import { spawnResolutionAgent } from './spawner/index.js';
16
16
  import { getFocusWorktree } from './focus-worktree-state.js';
17
17
  import { worktreeHasUncommittedChanges } from './worktree/index.js';
18
+ import { createLogger } from './log.js';
19
+ const log = createLogger({ module: 'focus-merge' });
18
20
  /**
19
21
  * Refuse a focus-branch merge when the worktree still has uncommitted changes.
20
22
  *
@@ -37,7 +39,7 @@ export async function refuseMergeIfWorktreeDirty(params, deps = {}) {
37
39
  if (!worktreePath || !hasUncommitted(worktreePath)) {
38
40
  return { refused: false };
39
41
  }
40
- console.warn(`[focus-merge] REFUSING merge of "${deliveryName}" (${branchName} -> ${integrationBranch}): ` +
42
+ log.warn(`[focus-merge] REFUSING merge of "${deliveryName}" (${branchName} -> ${integrationBranch}): ` +
41
43
  `worktree ${worktreePath} has uncommitted changes.`);
42
44
  // Durable, focus-grain dedup: at most one open worktree-dirty escalation per
43
45
  // FOCUS, collapsed across the sibling classes (advance_blocked /
@@ -51,7 +53,7 @@ export async function refuseMergeIfWorktreeDirty(params, deps = {}) {
51
53
  alreadyOpen = await hasOpenEsc(focusId);
52
54
  }
53
55
  catch (err) {
54
- console.warn(`[focus-merge] Open worktree-dirty escalation lookup failed for "${deliveryName}", proceeding to file: ${err.message}`);
56
+ log.warn(`[focus-merge] Open worktree-dirty escalation lookup failed for "${deliveryName}", proceeding to file: ${err.message}`);
55
57
  }
56
58
  if (alreadyOpen) {
57
59
  return { refused: true };
@@ -76,10 +78,10 @@ export async function refuseMergeIfWorktreeDirty(params, deps = {}) {
76
78
  whatWasTried: `Daemon was about to merge ${branchName} into ${integrationBranch} but \`git status --porcelain\` reported uncommitted changes in ${worktreePath}.`,
77
79
  helpNeeded: `Inspect ${worktreePath}; commit or discard the uncommitted changes (for a read-only audit, discard them), then the merge can be retried.`,
78
80
  }), { maxAttempts: 3, label: `escalation-dirty-worktree-merge-${deliveryId}` });
79
- console.log(`[focus-merge] Filed dirty-worktree merge-refusal escalation for "${deliveryName}"`);
81
+ log.info(`Filed dirty-worktree merge-refusal escalation for "${deliveryName}"`);
80
82
  }
81
83
  catch (err) {
82
- console.error(`[focus-merge] Failed to file dirty-worktree merge-refusal escalation for "${deliveryName}": ${err.message}`);
84
+ log.error(`[focus-merge] Failed to file dirty-worktree merge-refusal escalation for "${deliveryName}": ${err.message}`);
83
85
  }
84
86
  return { refused: true };
85
87
  }
@@ -93,7 +95,7 @@ export async function reportMergeConflictState(deliveryId, branchName) {
93
95
  await reportGitState(deliveryId, 'merge_conflict', branchName);
94
96
  }
95
97
  catch (err) {
96
- console.warn(`[focus-merge] reportGitState merge_conflict failed for ${deliveryId}:`, err.message);
98
+ log.warn(`[focus-merge] reportGitState merge_conflict failed for ${deliveryId}:`, err.message);
97
99
  }
98
100
  }
99
101
  /**
@@ -119,7 +121,7 @@ export async function escalateMergeConflict(params, deps = {}) {
119
121
  await reportState(deliveryId, 'merge_conflict', branchName);
120
122
  }
121
123
  catch (err) {
122
- console.warn(`[focus-merge] reportGitState merge_conflict failed for ${deliveryId}:`, err.message);
124
+ log.warn(`[focus-merge] reportGitState merge_conflict failed for ${deliveryId}:`, err.message);
123
125
  }
124
126
  // Durable, focus-grain dedup across the sibling classes. Fail open: if the
125
127
  // lookup errors we proceed to file rather than swallow a genuine first
@@ -129,10 +131,10 @@ export async function escalateMergeConflict(params, deps = {}) {
129
131
  alreadyOpen = await hasOpenEsc(focusId);
130
132
  }
131
133
  catch (err) {
132
- console.warn(`[focus-merge] Open worktree-dirty escalation lookup failed for "${deliveryName}", proceeding to file: ${err.message}`);
134
+ log.warn(`[focus-merge] Open worktree-dirty escalation lookup failed for "${deliveryName}", proceeding to file: ${err.message}`);
133
135
  }
134
136
  if (alreadyOpen) {
135
- console.log(`[focus-merge] Worktree-dirty escalation already open for focus ${focusId}, skipping duplicate merge-conflict row`);
137
+ log.info(`Worktree-dirty escalation already open for focus ${focusId}, skipping duplicate merge-conflict row`);
136
138
  return;
137
139
  }
138
140
  try {
@@ -153,10 +155,10 @@ export async function escalateMergeConflict(params, deps = {}) {
153
155
  whatWasTried: `Attempted automatic merge of ${branchName} into ${integrationBranch}.`,
154
156
  helpNeeded: `Resolve the merge conflicts between ${branchName} and ${integrationBranch}, then mark this escalation as resolved.`,
155
157
  }), { maxAttempts: 3, label: `escalation-focus-merge-conflict-${deliveryId}` });
156
- console.log(`[focus-merge] Created merge conflict escalation for delivery "${deliveryName}"`);
158
+ log.info(`Created merge conflict escalation for delivery "${deliveryName}"`);
157
159
  }
158
160
  catch (err) {
159
- console.error(`[focus-merge] Failed to create merge conflict escalation for "${deliveryName}": ${err.message}`);
161
+ log.error(`[focus-merge] Failed to create merge conflict escalation for "${deliveryName}": ${err.message}`);
160
162
  }
161
163
  }
162
164
  /**
@@ -173,10 +175,10 @@ function resolveMergeConflictEscalations(deliveries) {
173
175
  resolveOpenWorktreeDirtyEscalations(focusId, [MERGE_CONFLICT_ESCALATION_KIND])
174
176
  .then((n) => {
175
177
  if (n > 0) {
176
- console.log(`[focus-merge] Merge resolved for focus ${focusId}; auto-resolved ${n} merge-conflict escalation(s).`);
178
+ log.info(`[focus-merge] Merge resolved for focus ${focusId}; auto-resolved ${n} merge-conflict escalation(s).`);
177
179
  }
178
180
  })
179
- .catch((err) => console.warn(`[focus-merge] Auto-resolve of merge-conflict escalation failed for focus ${focusId}: ${err.message}`));
181
+ .catch((err) => log.warn(`[focus-merge] Auto-resolve of merge-conflict escalation failed for focus ${focusId}: ${err.message}`));
180
182
  }
181
183
  }
182
184
  /**
@@ -196,7 +198,7 @@ export async function checkResolvedMergeConflicts(config) {
196
198
  conflictDeliveries = await getMergeConflictDeliveries(config.organizationId, config.productId);
197
199
  }
198
200
  catch (err) {
199
- console.warn(`[focus-merge] Failed to fetch merge conflict deliveries:`, err.message);
201
+ log.warn(`[focus-merge] Failed to fetch merge conflict deliveries:`, err.message);
200
202
  return;
201
203
  }
202
204
  if (conflictDeliveries.length === 0)
@@ -212,7 +214,7 @@ export async function checkResolvedMergeConflicts(config) {
212
214
  }
213
215
  for (const [branchName, deliveries] of byBranch) {
214
216
  const representative = deliveries[0];
215
- console.log(`[focus-merge] Retrying merge for branch ${branchName} ` +
217
+ log.info(`[focus-merge] Retrying merge for branch ${branchName} ` +
216
218
  `(${deliveries.length} delivery/ies in merge_conflict state)`);
217
219
  const mergeResult = await mergeToIntegration({
218
220
  config,
@@ -221,23 +223,23 @@ export async function checkResolvedMergeConflicts(config) {
221
223
  deliveryId: representative.delivery_id,
222
224
  });
223
225
  if (mergeResult.success) {
224
- console.log(`[focus-merge] Merge retry succeeded for branch ${branchName}`);
226
+ log.info(`[focus-merge] Merge retry succeeded for branch ${branchName}`);
225
227
  // Update all deliveries in this branch group. Dedup is durable now (an
226
228
  // open escalation suppresses re-filing); now that the merge succeeded we
227
229
  // also auto-resolve the open merge_conflict escalation(s) for the focus so
228
230
  // a resolved-in-fact conflict stops sitting in the human inbox.
229
231
  for (const d of deliveries) {
230
- reportGitState(d.delivery_id, 'merged_to_integration').catch((err) => console.warn(`[focus-merge] reportGitState merged_to_integration failed for ${d.delivery_id}:`, err.message));
232
+ reportGitState(d.delivery_id, 'merged_to_integration').catch((err) => log.warn(`[focus-merge] reportGitState merged_to_integration failed for ${d.delivery_id}:`, err.message));
231
233
  }
232
234
  resolveMergeConflictEscalations(deliveries);
233
235
  }
234
236
  else {
235
- console.log(`[focus-merge] Merge retry still failing for branch ${branchName}: ${mergeResult.error ?? 'unknown'}`);
237
+ log.info(`[focus-merge] Merge retry still failing for branch ${branchName}: ${mergeResult.error ?? 'unknown'}`);
236
238
  // Attempt fallback resolution agent if a worktree exists for this focus
237
239
  if (representative.focus_id) {
238
240
  const worktreeInfo = getFocusWorktree(representative.focus_id);
239
241
  if (worktreeInfo) {
240
- console.log(`[focus-merge] Spawning fallback resolution agent for branch ${branchName}`);
242
+ log.info(`[focus-merge] Spawning fallback resolution agent for branch ${branchName}`);
241
243
  // Merge integration back into the focus worktree to surface conflicts
242
244
  const mergeBackResult = await mergeBackFromIntegration({
243
245
  worktreePath: worktreeInfo.worktreePath,
@@ -263,9 +265,9 @@ export async function checkResolvedMergeConflicts(config) {
263
265
  deliveryId: representative.delivery_id,
264
266
  });
265
267
  if (retryResult.success) {
266
- console.log(`[focus-merge] Merge succeeded after fallback resolution for branch ${branchName}`);
268
+ log.info(`Merge succeeded after fallback resolution for branch ${branchName}`);
267
269
  for (const d of deliveries) {
268
- reportGitState(d.delivery_id, 'merged_to_integration').catch((err) => console.warn(`[focus-merge] reportGitState failed for ${d.delivery_id}:`, err.message));
270
+ reportGitState(d.delivery_id, 'merged_to_integration').catch((err) => log.warn(`reportGitState failed for ${d.delivery_id}:`, err.message));
269
271
  }
270
272
  resolveMergeConflictEscalations(deliveries);
271
273
  }
@@ -312,7 +314,7 @@ export async function requestTeamLeadResolution(teamState, conflictFiles, branch
312
314
  `5. If typecheck or the targeted tests fail, fix the issues, commit, and re-run\n\n` +
313
315
  `Do NOT run git merge --abort. Your goal is to produce a clean merge commit that passes typecheck and the targeted tests.`;
314
316
  sendMessage(leadStdin, message);
315
- console.log(`[focus-merge] Sent merge conflict resolution request to team lead for "${focusName}"`);
317
+ log.info(`Sent merge conflict resolution request to team lead for "${focusName}"`);
316
318
  // Poll git state to detect resolution
317
319
  const deadline = Date.now() + timeoutMs;
318
320
  const preResolutionHead = runGitSync(['rev-parse', 'HEAD'], worktreePath).output;
@@ -327,13 +329,13 @@ export async function requestTeamLeadResolution(teamState, conflictFiles, branch
327
329
  // No unmerged files -- check if HEAD advanced (merge commit created)
328
330
  const currentHead = runGitSync(['rev-parse', 'HEAD'], worktreePath).output;
329
331
  if (currentHead !== preResolutionHead) {
330
- console.log(`[focus-merge] Team lead resolved merge conflicts for "${focusName}"`);
332
+ log.info(`Team lead resolved merge conflicts for "${focusName}"`);
331
333
  return { resolved: true };
332
334
  }
333
335
  }
334
336
  }
335
337
  // Timeout expired
336
- console.warn(`[focus-merge] Team lead did not resolve merge conflicts within ${timeoutMs / 1000}s for "${focusName}"`);
338
+ log.warn(`[focus-merge] Team lead did not resolve merge conflicts within ${timeoutMs / 1000}s for "${focusName}"`);
337
339
  return { resolved: false, reason: `Resolution timeout (${timeoutMs / 1000}s)` };
338
340
  }
339
341
  finally {
@@ -356,6 +358,10 @@ export async function requestTeamLeadResolution(teamState, conflictFiles, branch
356
358
  * `shouldAttemptMerge`, not here.
357
359
  */
358
360
  export async function mergeFocusBranch(config, teamState, sessionId, branchName, workedDeliveryIds) {
361
+ log.info(`Merging focus branch ${branchName} for "${teamState.focusName}"`, {
362
+ focusId: teamState.focusId,
363
+ sessionId,
364
+ });
359
365
  // Pick a representative delivery for merge operations (workflow lookup,
360
366
  // escalation references, mergeDeliveryBranch). Prefer a worked delivery;
361
367
  // fall back to any known delivery on the focus. Only return early if the
@@ -389,7 +395,7 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
389
395
  workflow = await fetchEffectiveWorkflow(representativeDeliveryId);
390
396
  }
391
397
  catch (err) {
392
- console.warn(`[focus-executor] Failed to fetch workflow for merge, using fallback:`, err.message);
398
+ log.warn(`[focus-executor] Failed to fetch workflow for merge, using fallback:`, err.message);
393
399
  workflow = { id: 'fallback', stages: [] };
394
400
  }
395
401
  // ── Merge-back: sync integration into focus branch before merging out ──
@@ -402,14 +408,14 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
402
408
  });
403
409
  if (mergeBackResult.status === 'conflict') {
404
410
  const conflictFiles = mergeBackResult.conflictFiles ?? [];
405
- console.log(`[focus-merge] Merge-back produced conflicts for "${teamState.focusName}": ` +
411
+ log.info(`[focus-merge] Merge-back produced conflicts for "${teamState.focusName}": ` +
406
412
  `${conflictFiles.join(', ') || 'unknown files'}`);
407
413
  // If team lead is alive, delegate resolution to them
408
414
  if (teamState.leadStdin && teamState.phase === 'executing') {
409
415
  const resolution = await requestTeamLeadResolution(teamState, conflictFiles, branchName, config.integrationBranch);
410
416
  if (resolution.resolved) {
411
417
  // Agent committed the merge resolution, proceed to integration merge
412
- console.log(`[focus-merge] Conflict resolved by team lead for "${teamState.focusName}", proceeding`);
418
+ log.info(`Conflict resolved by team lead for "${teamState.focusName}", proceeding`);
413
419
  }
414
420
  else {
415
421
  // Team lead could not resolve -- escalate
@@ -428,11 +434,11 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
428
434
  }
429
435
  else {
430
436
  // No active team lead -- spawn a short-lived resolution agent
431
- console.log(`[focus-merge] No active team lead for "${teamState.focusName}", spawning fallback resolution agent`);
437
+ log.info(`No active team lead for "${teamState.focusName}", spawning fallback resolution agent`);
432
438
  // Report resolving_conflict state for all unmerged deliveries
433
439
  for (const deliveryId of teamState.knownDeliveryIds) {
434
440
  if (!teamState.mergedDeliveryIds.has(deliveryId)) {
435
- reportGitState(deliveryId, 'resolving_conflict').catch(err => console.warn(`[focus-merge] reportGitState resolving_conflict failed for ${deliveryId}:`, err.message));
441
+ reportGitState(deliveryId, 'resolving_conflict').catch(err => log.warn(`reportGitState resolving_conflict failed for ${deliveryId}:`, err.message));
436
442
  }
437
443
  }
438
444
  const fallbackResult = await spawnResolutionAgent({
@@ -446,7 +452,7 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
446
452
  focusId: teamState.focusId,
447
453
  });
448
454
  if (fallbackResult.success) {
449
- console.log(`[focus-merge] Fallback resolution agent resolved conflicts for "${teamState.focusName}", proceeding`);
455
+ log.info(`Fallback resolution agent resolved conflicts for "${teamState.focusName}", proceeding`);
450
456
  }
451
457
  else {
452
458
  await escalateMergeConflict({
@@ -464,11 +470,11 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
464
470
  }
465
471
  }
466
472
  if (mergeBackResult.status === 'error') {
467
- console.error(`[focus-merge] Merge-back error for "${teamState.focusName}": ${mergeBackResult.message}`);
473
+ log.error(`[focus-merge] Merge-back error for "${teamState.focusName}": ${mergeBackResult.message}`);
468
474
  return { mergeSucceeded: false, exitReason: mergeBackResult.message };
469
475
  }
470
476
  // status === 'clean' -- proceed to merge to integration
471
- console.log(`[focus-merge] Merge-back clean for "${teamState.focusName}", proceeding to integration merge`);
477
+ log.info(`Merge-back clean for "${teamState.focusName}", proceeding to integration merge`);
472
478
  }
473
479
  const mergeOutcome = await mergeDeliveryBranch({
474
480
  config,
@@ -486,11 +492,11 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
486
492
  if (mergeOutcome.mergeSucceeded) {
487
493
  for (const deliveryId of deliveryIdsForGitState) {
488
494
  if (!teamState.mergedDeliveryIds.has(deliveryId)) {
489
- reportGitState(deliveryId, 'merged_to_integration').catch(err => console.warn(`[focus-executor] reportGitState merged_to_integration failed for ${deliveryId}:`, err.message));
495
+ reportGitState(deliveryId, 'merged_to_integration').catch(err => log.warn(`[focus-executor] reportGitState merged_to_integration failed for ${deliveryId}:`, err.message));
490
496
  // Propagate the merge commit SHA to all deliveries so the git state
491
497
  // detector can track their containment in main/remote independently.
492
498
  if (mergeOutcome.commitSha) {
493
- updateDeliveryMergeCommitSha(deliveryId, mergeOutcome.commitSha).catch(err => console.warn(`[focus-merge] updateDeliveryMergeCommitSha failed for ${deliveryId}:`, err.message));
499
+ updateDeliveryMergeCommitSha(deliveryId, mergeOutcome.commitSha).catch(err => log.warn(`updateDeliveryMergeCommitSha failed for ${deliveryId}:`, err.message));
494
500
  }
495
501
  }
496
502
  }
@@ -499,7 +505,7 @@ export async function mergeFocusBranch(config, teamState, sessionId, branchName,
499
505
  // Report merge_conflict state for worked deliveries only
500
506
  for (const deliveryId of deliveryIdsForGitState) {
501
507
  if (!teamState.mergedDeliveryIds.has(deliveryId)) {
502
- reportMergeConflictState(deliveryId, branchName).catch(err => console.warn(`[focus-merge] reportMergeConflictState failed for ${deliveryId}:`, err.message));
508
+ reportMergeConflictState(deliveryId, branchName).catch(err => log.warn(`reportMergeConflictState failed for ${deliveryId}:`, err.message));
503
509
  }
504
510
  }
505
511
  }
@@ -1 +1 @@
1
- {"version":3,"file":"focus-merge.js","sourceRoot":"","sources":["../src/focus-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-merge.js","sourceRoot":"","sources":["../src/focus-merge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"focus-provisioning.d.ts","sourceRoot":"","sources":["../src/focus-provisioning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAU1D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiGf"}
1
+ {"version":3,"file":"focus-provisioning.d.ts","sourceRoot":"","sources":["../src/focus-provisioning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAc1D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiGf"}
@@ -11,6 +11,8 @@ import { getReadyFocuses } from './supabase.js';
11
11
  import { createWorktree, syncIntegrationWithMain, runGitSync, generateMcpConfigInWorktree, generateCodexConfigInWorktree } from './git.js';
12
12
  import { generateFocusBranchName } from './focus-executor.js';
13
13
  import { setFocusWorktree, hasFocusWorktree, } from './focus-worktree-state.js';
14
+ import { createLogger } from './log.js';
15
+ const log = createLogger({ module: 'focus-lifecycle' });
14
16
  /**
15
17
  * Ensure persistent worktrees exist for all active focuses.
16
18
  *
@@ -24,7 +26,7 @@ export async function ensureFocusWorktrees(config, roles) {
24
26
  readyFocuses = await getReadyFocuses(config.organizationId, config.productId);
25
27
  }
26
28
  catch (err) {
27
- console.warn(`[focus-lifecycle] Failed to query ready focuses for worktree provisioning: ${err.message}`);
29
+ log.warn(`Failed to query ready focuses for worktree provisioning: ${err.message}`);
28
30
  return;
29
31
  }
30
32
  // Find focuses that need worktrees
@@ -35,19 +37,19 @@ export async function ensureFocusWorktrees(config, roles) {
35
37
  try {
36
38
  const syncResult = await syncIntegrationWithMain(config);
37
39
  if (syncResult.success) {
38
- console.log(`[focus-lifecycle] Synced integration with main before worktree provisioning`);
40
+ log.info(`Synced integration with main before worktree provisioning`);
39
41
  }
40
42
  else {
41
- console.warn(`[focus-lifecycle] Could not sync integration with main: ${syncResult.error}`);
43
+ log.warn(`Could not sync integration with main: ${syncResult.error}`);
42
44
  }
43
45
  }
44
46
  catch (err) {
45
- console.warn(`[focus-lifecycle] Sync failed (continuing): ${err instanceof Error ? err.message : String(err)}`);
47
+ log.warn(`Sync failed (continuing): ${err instanceof Error ? err.message : String(err)}`);
46
48
  }
47
49
  for (const focus of needsWorktree) {
48
50
  const role = roles.get(focus.assigned_agent_role_id);
49
51
  if (!role) {
50
- console.warn(`[focus-lifecycle] Unknown agent role ${focus.assigned_agent_role_id} for focus "${focus.focus_name}", skipping worktree`);
52
+ log.warn(`Unknown agent role ${focus.assigned_agent_role_id} for focus "${focus.focus_name}", skipping worktree`);
51
53
  continue;
52
54
  }
53
55
  const branchName = generateFocusBranchName(role, focus.focus_name, focus.focus_id);
@@ -59,7 +61,7 @@ export async function ensureFocusWorktrees(config, roles) {
59
61
  const branchResult = runGitSync(['rev-parse', '--abbrev-ref', 'HEAD'], worktreePath);
60
62
  if (gitDirResult.success && branchResult.success && branchResult.output === branchName) {
61
63
  // Valid worktree on the expected branch -- adopt it
62
- console.log(`[focus-lifecycle] Adopting existing worktree for "${focus.focus_name}": ${worktreePath}`);
64
+ log.info(`Adopting existing worktree for "${focus.focus_name}": ${worktreePath}`);
63
65
  setFocusWorktree(focus.focus_id, {
64
66
  focusId: focus.focus_id,
65
67
  focusName: focus.focus_name,
@@ -71,10 +73,10 @@ export async function ensureFocusWorktrees(config, roles) {
71
73
  const rebaseResult = runGitSync(['rebase', config.integrationBranch], worktreePath);
72
74
  if (!rebaseResult.success) {
73
75
  runGitSync(['rebase', '--abort'], worktreePath);
74
- console.warn(`[focus-lifecycle] Could not rebase adopted worktree for "${focus.focus_name}" onto integration. Continuing with existing state.`);
76
+ log.warn(`Could not rebase adopted worktree for "${focus.focus_name}" onto integration. Continuing with existing state.`);
75
77
  }
76
78
  else {
77
- console.log(`[focus-lifecycle] Rebased adopted worktree for "${focus.focus_name}" onto ${config.integrationBranch}`);
79
+ log.info(`Rebased adopted worktree for "${focus.focus_name}" onto ${config.integrationBranch}`);
78
80
  }
79
81
  // Generate .mcp.json in worktree
80
82
  generateMcpConfigInWorktree(worktreePath);
@@ -82,12 +84,12 @@ export async function ensureFocusWorktrees(config, roles) {
82
84
  // Install read-only audit guards (pre-commit hook + write-deny overlay)
83
85
  if (focus.read_only) {
84
86
  installReadOnlyAuditGuards(worktreePath);
85
- console.log(`[focus-lifecycle] Installed read-only audit guards for "${focus.focus_name}"`);
87
+ log.info(`Installed read-only audit guards for "${focus.focus_name}"`);
86
88
  }
87
89
  continue;
88
90
  }
89
91
  // Directory exists but is not a valid worktree for this branch -- fall through to createWorktree
90
- console.log(`[focus-lifecycle] Existing directory at ${worktreePath} is not a valid worktree for ${branchName}, recreating`);
92
+ log.info(`Existing directory at ${worktreePath} is not a valid worktree for ${branchName}, recreating`);
91
93
  }
92
94
  try {
93
95
  const createdPath = await createWorktree(config, branchName);
@@ -98,15 +100,15 @@ export async function ensureFocusWorktrees(config, roles) {
98
100
  branchName,
99
101
  createdAt: new Date(),
100
102
  });
101
- console.log(`[focus-lifecycle] Created persistent worktree for "${focus.focus_name}": ${createdPath}`);
103
+ log.info(`Created persistent worktree for "${focus.focus_name}": ${createdPath}`);
102
104
  // Install read-only audit guards (pre-commit hook + write-deny overlay)
103
105
  if (focus.read_only) {
104
106
  installReadOnlyAuditGuards(createdPath);
105
- console.log(`[focus-lifecycle] Installed read-only audit guards for "${focus.focus_name}"`);
107
+ log.info(`Installed read-only audit guards for "${focus.focus_name}"`);
106
108
  }
107
109
  }
108
110
  catch (err) {
109
- console.error(`[focus-lifecycle] Failed to create worktree for "${focus.focus_name}": ${err instanceof Error ? err.message : String(err)}`);
111
+ log.error(`Failed to create worktree for "${focus.focus_name}": ${err instanceof Error ? err.message : String(err)}`);
110
112
  // Continue with other focuses
111
113
  }
112
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"focus-provisioning.js","sourceRoot":"","sources":["../src/focus-provisioning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-provisioning.js","sourceRoot":"","sources":["../src/focus-provisioning.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"focus-respawn-guard.d.ts","sourceRoot":"","sources":["../src/focus-respawn-guard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,yDAAyD;AACzD,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B5F"}
1
+ {"version":3,"file":"focus-respawn-guard.d.ts","sourceRoot":"","sources":["../src/focus-respawn-guard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,yDAAyD;AACzD,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B5F"}
@@ -6,6 +6,8 @@
6
6
  */
7
7
  import { hasOpenTeamFailureEscalation } from './queries/issues.js';
8
8
  import { resetDeliveryAdvancementGuard } from './completion/delivery-advancement-guard.js';
9
+ import { createLogger } from './log.js';
10
+ const log = createLogger({ module: 'focus-executor' });
9
11
  /**
10
12
  * Focuses for which we have already logged the "skipping spawn" notice while a
11
13
  * team_failure escalation stays open. Without throttling, every caller that
@@ -36,7 +38,7 @@ export async function applyRespawnGuard(focusId, focusName) {
36
38
  if (await hasOpenTeamFailureEscalation(focusId)) {
37
39
  if (!skipLoggedFocuses.has(focusId)) {
38
40
  skipLoggedFocuses.add(focusId);
39
- console.log(`[focus-executor] Skipping spawn for focus "${focusName}": open team_failure escalation`);
41
+ log.info(`[focus-executor] Skipping spawn for focus "${focusName}": open team_failure escalation`);
40
42
  }
41
43
  return true;
42
44
  }
@@ -55,7 +57,7 @@ export async function applyRespawnGuard(focusId, focusName) {
55
57
  skipLoggedFocuses.delete(focusId);
56
58
  }
57
59
  catch (err) {
58
- console.warn(`[focus-executor] team_failure precondition check failed for "${focusName}", proceeding with spawn: ${err.message}`);
60
+ log.warn(`[focus-executor] team_failure precondition check failed for "${focusName}", proceeding with spawn: ${err.message}`);
59
61
  }
60
62
  return false;
61
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"focus-respawn-guard.js","sourceRoot":"","sources":["../src/focus-respawn-guard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,yDAAyD;AACzD,MAAM,UAAU,sBAAsB;IACpC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,SAAiB;IACxE,IAAI,CAAC;QACH,IAAI,MAAM,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CACT,8CAA8C,SAAS,iCAAiC,CACzF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E,iEAAiE;QACjE,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,4DAA4D;QAC5D,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,gEAAgE,SAAS,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAC/H,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"focus-respawn-guard.js","sourceRoot":"","sources":["../src/focus-respawn-guard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAGvD;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,yDAAyD;AACzD,MAAM,UAAU,sBAAsB;IACpC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,SAAiB;IACxE,IAAI,CAAC;QACH,IAAI,MAAM,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,GAAG,CAAC,IAAI,CACN,8CAA8C,SAAS,iCAAiC,CACzF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E,iEAAiE;QACjE,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,4DAA4D;QAC5D,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,gEAAgE,SAAS,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAC/H,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"planning-release.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAC/C,mBAAmB,IAAI,0BAA0B,EAClD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,mBAAmB,EAAE,OAAO,0BAA0B,CAAC;IACvD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;CACzC;AASD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,EACD,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,MAAM,CAAC,CAsFjB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,aAAa,CAAC;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAsBV;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,EACD,IAAI,GAAE,mBAAgD,GACrD,OAAO,CAAC,MAAM,CAAC,CA4EjB"}
1
+ {"version":3,"file":"planning-release.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAC/C,mBAAmB,IAAI,0BAA0B,EAClD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,mBAAmB,EAAE,OAAO,0BAA0B,CAAC;IACvD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;CACzC;AASD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,EACD,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,MAAM,CAAC,CAsFjB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,aAAa,CAAC;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAsBV;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,EACD,IAAI,GAAE,mBAAgD,GACrD,OAAO,CAAC,MAAM,CAAC,CA4EjB"}
@@ -19,6 +19,8 @@ import { emitLoopTrigger } from '../loops/index.js';
19
19
  import { deriveFocusPhase } from '../focus-phase.js';
20
20
  import { hasActiveTeam as defaultHasActiveTeam } from '../focus-team-state.js';
21
21
  import { isAuditPhaseFocus } from '../audit-shape.js';
22
+ import { createLogger } from '../log.js';
23
+ const log = createLogger({ module: 'focus-stage-lifecycle' });
22
24
  // ── Ratify-to-execute release (Safe audit-to-remediation D3) ──────
23
25
  /**
24
26
  * Pure predicate: a read-only focus is ready to cross planning->execution
@@ -88,7 +90,7 @@ export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyRe
88
90
  deliveries = await deps.getFocusDeliveries(focus.focusId);
89
91
  }
90
92
  catch (err) {
91
- console.warn(`[focus-stage-lifecycle] Ratify-release: failed to fetch deliveries to ` +
93
+ log.warn(`[focus-stage-lifecycle] Ratify-release: failed to fetch deliveries to ` +
92
94
  `release for "${focus.focusName}" (leaving read_only=true to retry next ` +
93
95
  `tick): ${err.message}`);
94
96
  return 0;
@@ -104,7 +106,7 @@ export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyRe
104
106
  }
105
107
  catch (err) {
106
108
  allReleased = false;
107
- console.warn(`[focus-stage-lifecycle] Ratify-release: failed to queue held delivery ` +
109
+ log.warn(`[focus-stage-lifecycle] Ratify-release: failed to queue held delivery ` +
108
110
  `${d.id.slice(0, 8)} on "${focus.focusName}": ${err.message}`);
109
111
  }
110
112
  }
@@ -113,7 +115,7 @@ export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyRe
113
115
  // the next tick retries the (planning-only, idempotent) release -- never
114
116
  // crossing the gate with held deliveries still stuck in planning.
115
117
  if (!allReleased) {
116
- console.warn(`[focus-stage-lifecycle] Ratify-release: not all held deliveries queued ` +
118
+ log.warn(`[focus-stage-lifecycle] Ratify-release: not all held deliveries queued ` +
117
119
  `for "${focus.focusName}" (released ${released}); leaving read_only=true ` +
118
120
  `to retry next tick.`);
119
121
  return released;
@@ -122,12 +124,12 @@ export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyRe
122
124
  await deps.updateFocusReadOnly(focus.focusId, false);
123
125
  }
124
126
  catch (err) {
125
- console.warn(`[focus-stage-lifecycle] Ratify-release: held deliveries queued for ` +
127
+ log.warn(`[focus-stage-lifecycle] Ratify-release: held deliveries queued for ` +
126
128
  `"${focus.focusName}" but failed to flip read_only=false (will retry ` +
127
129
  `next tick): ${err.message}`);
128
130
  return released;
129
131
  }
130
- console.log(`[focus-stage-lifecycle] Focus "${focus.focusName}" ratified -> execute: ` +
132
+ log.info(`[focus-stage-lifecycle] Focus "${focus.focusName}" ratified -> execute: ` +
131
133
  `read_only=false, released ${released} held planning ` +
132
134
  `deliver${released === 1 ? 'y' : 'ies'} to queued.`);
133
135
  deps.emitLoopTrigger({
@@ -270,7 +272,7 @@ export async function releaseWritableFocusPlanningDeliveries(focus, deps = defau
270
272
  deliveries = await deps.getFocusDeliveries(focus.focusId);
271
273
  }
272
274
  catch (err) {
273
- console.warn(`[focus-stage-lifecycle] Writable-release: failed to fetch deliveries to ` +
275
+ log.warn(`[focus-stage-lifecycle] Writable-release: failed to fetch deliveries to ` +
274
276
  `release for "${focus.focusName}" (retry next tick): ${err.message}`);
275
277
  return 0;
276
278
  }
@@ -294,12 +296,12 @@ export async function releaseWritableFocusPlanningDeliveries(focus, deps = defau
294
296
  released += 1;
295
297
  }
296
298
  catch (err) {
297
- console.warn(`[focus-stage-lifecycle] Writable-release: failed to queue held delivery ` +
299
+ log.warn(`[focus-stage-lifecycle] Writable-release: failed to queue held delivery ` +
298
300
  `${d.id.slice(0, 8)} on "${focus.focusName}": ${err.message}`);
299
301
  }
300
302
  }
301
303
  if (released > 0) {
302
- console.log(`[focus-stage-lifecycle] Focus "${focus.focusName}" (writable, past kickoff): ` +
304
+ log.info(`[focus-stage-lifecycle] Focus "${focus.focusName}" (writable, past kickoff): ` +
303
305
  `released ${released} born-planning deliver${released === 1 ? 'y' : 'ies'} to queued.`);
304
306
  deps.emitLoopTrigger({
305
307
  type: 'focus_status_changed',