@telora/daemon 0.22.187 → 0.22.208

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 (278) hide show
  1. package/build-info.json +6 -3
  2. package/dist/backends/index.d.ts.map +1 -1
  3. package/dist/backends/index.js +2 -0
  4. package/dist/backends/index.js.map +1 -1
  5. package/dist/completion/completion-fact-readers.d.ts +35 -0
  6. package/dist/completion/completion-fact-readers.d.ts.map +1 -0
  7. package/dist/completion/completion-fact-readers.js +70 -0
  8. package/dist/completion/completion-fact-readers.js.map +1 -0
  9. package/dist/completion/escalations.d.ts.map +1 -1
  10. package/dist/completion/escalations.js +2 -1
  11. package/dist/completion/escalations.js.map +1 -1
  12. package/dist/completion/event-dep-defaults.d.ts +27 -0
  13. package/dist/completion/event-dep-defaults.d.ts.map +1 -0
  14. package/dist/completion/event-dep-defaults.js +30 -0
  15. package/dist/completion/event-dep-defaults.js.map +1 -0
  16. package/dist/completion/event-phases.d.ts.map +1 -1
  17. package/dist/completion/event-phases.js +5 -13
  18. package/dist/completion/event-phases.js.map +1 -1
  19. package/dist/completion/event.d.ts +32 -0
  20. package/dist/completion/event.d.ts.map +1 -1
  21. package/dist/completion/event.js +31 -25
  22. package/dist/completion/event.js.map +1 -1
  23. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  24. package/dist/completion/review-exit-phase.js +11 -4
  25. package/dist/completion/review-exit-phase.js.map +1 -1
  26. package/dist/completion/session-hold.d.ts +13 -1
  27. package/dist/completion/session-hold.d.ts.map +1 -1
  28. package/dist/completion/session-hold.js +18 -0
  29. package/dist/completion/session-hold.js.map +1 -1
  30. package/dist/completion/standing-approval-convergence.d.ts.map +1 -1
  31. package/dist/completion/standing-approval-convergence.js +2 -1
  32. package/dist/completion/standing-approval-convergence.js.map +1 -1
  33. package/dist/completion/team-phase.d.ts.map +1 -1
  34. package/dist/completion/team-phase.js +1 -0
  35. package/dist/completion/team-phase.js.map +1 -1
  36. package/dist/completion/unclaimed-migration-notice-phase.d.ts +97 -0
  37. package/dist/completion/unclaimed-migration-notice-phase.d.ts.map +1 -0
  38. package/dist/completion/unclaimed-migration-notice-phase.js +270 -0
  39. package/dist/completion/unclaimed-migration-notice-phase.js.map +1 -0
  40. package/dist/directive/directive-executor.d.ts.map +1 -1
  41. package/dist/directive/directive-executor.js +1 -20
  42. package/dist/directive/directive-executor.js.map +1 -1
  43. package/dist/focus/focus-executor.d.ts +1 -0
  44. package/dist/focus/focus-executor.d.ts.map +1 -1
  45. package/dist/focus/focus-executor.js +18 -17
  46. package/dist/focus/focus-executor.js.map +1 -1
  47. package/dist/focus/focus-loop-registry.js +2 -2
  48. package/dist/focus/focus-loop-registry.js.map +1 -1
  49. package/dist/focus/focus-team-state.js +1 -1
  50. package/dist/focus/listener-spawn.d.ts.map +1 -1
  51. package/dist/focus/listener-spawn.js +5 -20
  52. package/dist/focus/listener-spawn.js.map +1 -1
  53. package/dist/focus/listener-state.d.ts.map +1 -1
  54. package/dist/focus/listener-state.js +1 -0
  55. package/dist/focus/listener-state.js.map +1 -1
  56. package/dist/focus/listener.d.ts +1 -0
  57. package/dist/focus/listener.d.ts.map +1 -1
  58. package/dist/focus/listener.js +9 -0
  59. package/dist/focus/listener.js.map +1 -1
  60. package/dist/focus/migration-claim-pass.d.ts +50 -0
  61. package/dist/focus/migration-claim-pass.d.ts.map +1 -0
  62. package/dist/focus/migration-claim-pass.js +234 -0
  63. package/dist/focus/migration-claim-pass.js.map +1 -0
  64. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  65. package/dist/focus/pending-spawn-pass-deps.js +2 -1
  66. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  67. package/dist/focus/team-actionable-work.d.ts +21 -0
  68. package/dist/focus/team-actionable-work.d.ts.map +1 -1
  69. package/dist/focus/team-actionable-work.js +3 -0
  70. package/dist/focus/team-actionable-work.js.map +1 -1
  71. package/dist/git/types.d.ts.map +1 -1
  72. package/dist/git/types.js +2 -1
  73. package/dist/git/types.js.map +1 -1
  74. package/dist/loops/llm-client.d.ts +1 -1
  75. package/dist/loops/llm-client.d.ts.map +1 -1
  76. package/dist/loops/llm-client.js +29 -106
  77. package/dist/loops/llm-client.js.map +1 -1
  78. package/dist/migrations/migration-claim-lifecycle.d.ts +166 -0
  79. package/dist/migrations/migration-claim-lifecycle.d.ts.map +1 -0
  80. package/dist/migrations/migration-claim-lifecycle.js +198 -0
  81. package/dist/migrations/migration-claim-lifecycle.js.map +1 -0
  82. package/dist/migrations/migration-held-set.d.ts +171 -0
  83. package/dist/migrations/migration-held-set.d.ts.map +1 -0
  84. package/dist/migrations/migration-held-set.js +295 -0
  85. package/dist/migrations/migration-held-set.js.map +1 -0
  86. package/dist/migrations/migration-inventory.d.ts +187 -0
  87. package/dist/migrations/migration-inventory.d.ts.map +1 -0
  88. package/dist/migrations/migration-inventory.js +253 -0
  89. package/dist/migrations/migration-inventory.js.map +1 -0
  90. package/dist/migrations/migration-manifest.d.ts +114 -0
  91. package/dist/migrations/migration-manifest.d.ts.map +1 -0
  92. package/dist/migrations/migration-manifest.js +295 -0
  93. package/dist/migrations/migration-manifest.js.map +1 -0
  94. package/dist/prompt/team-prompt-base.js +1 -1
  95. package/dist/prompt-sections/migration-numbering-section.d.ts +58 -0
  96. package/dist/prompt-sections/migration-numbering-section.d.ts.map +1 -0
  97. package/dist/prompt-sections/migration-numbering-section.js +70 -0
  98. package/dist/prompt-sections/migration-numbering-section.js.map +1 -0
  99. package/dist/prompt-sections/migration-numbering-state.d.ts +30 -0
  100. package/dist/prompt-sections/migration-numbering-state.d.ts.map +1 -0
  101. package/dist/prompt-sections/migration-numbering-state.js +24 -0
  102. package/dist/prompt-sections/migration-numbering-state.js.map +1 -0
  103. package/dist/prompt-sections/unclaimed-migration-section.d.ts +38 -0
  104. package/dist/prompt-sections/unclaimed-migration-section.d.ts.map +1 -0
  105. package/dist/prompt-sections/unclaimed-migration-section.js +57 -0
  106. package/dist/prompt-sections/unclaimed-migration-section.js.map +1 -0
  107. package/dist/queries/agent-resolvable-promotion.d.ts +12 -0
  108. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  109. package/dist/queries/agent-resolvable-promotion.js +17 -6
  110. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  111. package/dist/queries/claim-pass-focuses.d.ts +19 -0
  112. package/dist/queries/claim-pass-focuses.d.ts.map +1 -0
  113. package/dist/queries/claim-pass-focuses.js +72 -0
  114. package/dist/queries/claim-pass-focuses.js.map +1 -0
  115. package/dist/queries/daemon-connection.d.ts.map +1 -1
  116. package/dist/queries/daemon-connection.js +1 -0
  117. package/dist/queries/daemon-connection.js.map +1 -1
  118. package/dist/queries/delivery-gate-state.d.ts +3 -0
  119. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  120. package/dist/queries/delivery-gate-state.js +1 -1
  121. package/dist/queries/delivery-gate-state.js.map +1 -1
  122. package/dist/queries/focus-discovery.d.ts +25 -2
  123. package/dist/queries/focus-discovery.d.ts.map +1 -1
  124. package/dist/queries/focus-discovery.js +16 -9
  125. package/dist/queries/focus-discovery.js.map +1 -1
  126. package/dist/queries/focus-unclaimed-migration.d.ts +146 -0
  127. package/dist/queries/focus-unclaimed-migration.d.ts.map +1 -0
  128. package/dist/queries/focus-unclaimed-migration.js +266 -0
  129. package/dist/queries/focus-unclaimed-migration.js.map +1 -0
  130. package/dist/queries/live-focus-branches.d.ts +32 -0
  131. package/dist/queries/live-focus-branches.d.ts.map +1 -0
  132. package/dist/queries/live-focus-branches.js +66 -0
  133. package/dist/queries/live-focus-branches.js.map +1 -0
  134. package/dist/queries/migration-claims.d.ts +25 -0
  135. package/dist/queries/migration-claims.d.ts.map +1 -0
  136. package/dist/queries/migration-claims.js +79 -0
  137. package/dist/queries/migration-claims.js.map +1 -0
  138. package/dist/queries/schemas.d.ts +2 -0
  139. package/dist/queries/schemas.d.ts.map +1 -1
  140. package/dist/queries/schemas.js +6 -0
  141. package/dist/queries/schemas.js.map +1 -1
  142. package/dist/queries/shared.js +1 -1
  143. package/dist/queries/verify-own-holds.d.ts +89 -0
  144. package/dist/queries/verify-own-holds.d.ts.map +1 -0
  145. package/dist/queries/verify-own-holds.js +93 -0
  146. package/dist/queries/verify-own-holds.js.map +1 -0
  147. package/dist/session/session-lineage.d.ts.map +1 -1
  148. package/dist/session/session-lineage.js +3 -0
  149. package/dist/session/session-lineage.js.map +1 -1
  150. package/dist/shell/heartbeat-metadata.d.ts +48 -2
  151. package/dist/shell/heartbeat-metadata.d.ts.map +1 -1
  152. package/dist/shell/heartbeat-metadata.js +80 -3
  153. package/dist/shell/heartbeat-metadata.js.map +1 -1
  154. package/dist/shell/heartbeat.d.ts +13 -0
  155. package/dist/shell/heartbeat.d.ts.map +1 -1
  156. package/dist/shell/heartbeat.js +31 -10
  157. package/dist/shell/heartbeat.js.map +1 -1
  158. package/dist/shell/mcp-resolution.js +1 -1
  159. package/dist/shell/mcp-resolution.js.map +1 -1
  160. package/dist/shell/migration-held-set-publish.d.ts +170 -0
  161. package/dist/shell/migration-held-set-publish.d.ts.map +1 -0
  162. package/dist/shell/migration-held-set-publish.js +172 -0
  163. package/dist/shell/migration-held-set-publish.js.map +1 -0
  164. package/dist/shell/worker-pidfile.d.ts.map +1 -1
  165. package/dist/shell/worker-pidfile.js +1 -0
  166. package/dist/shell/worker-pidfile.js.map +1 -1
  167. package/dist/spawn/helpers.d.ts.map +1 -1
  168. package/dist/spawn/helpers.js +1 -0
  169. package/dist/spawn/helpers.js.map +1 -1
  170. package/dist/spawn/lead-launch.d.ts.map +1 -1
  171. package/dist/spawn/lead-launch.js +1 -0
  172. package/dist/spawn/lead-launch.js.map +1 -1
  173. package/dist/spawn/lead-process-ownership.d.ts.map +1 -1
  174. package/dist/spawn/lead-process-ownership.js +1 -0
  175. package/dist/spawn/lead-process-ownership.js.map +1 -1
  176. package/dist/spawn/one-shot-model.d.ts +145 -0
  177. package/dist/spawn/one-shot-model.d.ts.map +1 -0
  178. package/dist/spawn/one-shot-model.js +329 -0
  179. package/dist/spawn/one-shot-model.js.map +1 -0
  180. package/dist/spawn/process-group-kill.d.ts.map +1 -1
  181. package/dist/spawn/process-group-kill.js +1 -0
  182. package/dist/spawn/process-group-kill.js.map +1 -1
  183. package/dist/spawn/process-spawn.d.ts +18 -1
  184. package/dist/spawn/process-spawn.d.ts.map +1 -1
  185. package/dist/spawn/process-spawn.js +11 -6
  186. package/dist/spawn/process-spawn.js.map +1 -1
  187. package/dist/spawn/prompt-assembly.d.ts +115 -18
  188. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  189. package/dist/spawn/prompt-assembly.js +121 -2
  190. package/dist/spawn/prompt-assembly.js.map +1 -1
  191. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  192. package/dist/spawn/review-hold-park.js +7 -3
  193. package/dist/spawn/review-hold-park.js.map +1 -1
  194. package/dist/spawn/routing-decider-spawn.d.ts +30 -0
  195. package/dist/spawn/routing-decider-spawn.d.ts.map +1 -1
  196. package/dist/spawn/routing-decider-spawn.js +84 -2
  197. package/dist/spawn/routing-decider-spawn.js.map +1 -1
  198. package/dist/spawn/routing-decider.d.ts.map +1 -1
  199. package/dist/spawn/routing-decider.js +22 -0
  200. package/dist/spawn/routing-decider.js.map +1 -1
  201. package/dist/spawn/spawn-and-acknowledge.d.ts +61 -0
  202. package/dist/spawn/spawn-and-acknowledge.d.ts.map +1 -0
  203. package/dist/spawn/spawn-and-acknowledge.js +117 -0
  204. package/dist/spawn/spawn-and-acknowledge.js.map +1 -0
  205. package/dist/spawn/spawn-cooldown.d.ts +15 -1
  206. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  207. package/dist/spawn/spawn-cooldown.js +67 -19
  208. package/dist/spawn/spawn-cooldown.js.map +1 -1
  209. package/dist/spawn/spawn-decision.d.ts +10 -10
  210. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  211. package/dist/spawn/spawn-decision.js +33 -5
  212. package/dist/spawn/spawn-decision.js.map +1 -1
  213. package/dist/templates/claude-md.d.ts +1 -1
  214. package/dist/templates/claude-md.d.ts.map +1 -1
  215. package/dist/templates/claude-md.js +24 -0
  216. package/dist/templates/claude-md.js.map +1 -1
  217. package/dist/testing/fixtures/index.js +1 -1
  218. package/dist/testing/fixtures/migration-namespace-repo.d.ts +63 -0
  219. package/dist/testing/fixtures/migration-namespace-repo.d.ts.map +1 -0
  220. package/dist/testing/fixtures/migration-namespace-repo.js +164 -0
  221. package/dist/testing/fixtures/migration-namespace-repo.js.map +1 -0
  222. package/dist/testing/fixtures/stubborn-lead-process.d.ts.map +1 -1
  223. package/dist/testing/fixtures/stubborn-lead-process.js +1 -0
  224. package/dist/testing/fixtures/stubborn-lead-process.js.map +1 -1
  225. package/dist/types/index.js +1 -1
  226. package/dist/verify/ai-inspection-runner.d.ts.map +1 -1
  227. package/dist/verify/ai-inspection-runner.js +26 -7
  228. package/dist/verify/ai-inspection-runner.js.map +1 -1
  229. package/dist/verify/de-restatement.d.ts +9 -2
  230. package/dist/verify/de-restatement.d.ts.map +1 -1
  231. package/dist/verify/de-restatement.js +14 -76
  232. package/dist/verify/de-restatement.js.map +1 -1
  233. package/dist/verify/default-on-guards.d.ts +5 -2
  234. package/dist/verify/default-on-guards.d.ts.map +1 -1
  235. package/dist/verify/default-on-guards.js +5 -3
  236. package/dist/verify/default-on-guards.js.map +1 -1
  237. package/dist/verify/no-own-delta-verdict.d.ts +16 -2
  238. package/dist/verify/no-own-delta-verdict.d.ts.map +1 -1
  239. package/dist/verify/no-own-delta-verdict.js +18 -2
  240. package/dist/verify/no-own-delta-verdict.js.map +1 -1
  241. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  242. package/dist/verify/verification-deps-default.js +6 -0
  243. package/dist/verify/verification-deps-default.js.map +1 -1
  244. package/dist/verify/verification-deps.d.ts +10 -0
  245. package/dist/verify/verification-deps.d.ts.map +1 -1
  246. package/dist/verify/verification-deterministic.d.ts +7 -0
  247. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  248. package/dist/verify/verification-deterministic.js.map +1 -1
  249. package/dist/verify/verification-engine.d.ts +1 -20
  250. package/dist/verify/verification-engine.d.ts.map +1 -1
  251. package/dist/verify/verification-engine.js +24 -55
  252. package/dist/verify/verification-engine.js.map +1 -1
  253. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +3 -1
  254. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  255. package/dist/verify/verification-evidence-unavailable-feedback.js +3 -1
  256. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  257. package/dist/verify/verification-feedback.d.ts +4 -12
  258. package/dist/verify/verification-feedback.d.ts.map +1 -1
  259. package/dist/verify/verification-feedback.js +7 -12
  260. package/dist/verify/verification-feedback.js.map +1 -1
  261. package/dist/verify/verification-history-reset.d.ts.map +1 -1
  262. package/dist/verify/verification-history-reset.js +11 -3
  263. package/dist/verify/verification-history-reset.js.map +1 -1
  264. package/dist/verify/verification-model-unavailable-hold.d.ts +92 -0
  265. package/dist/verify/verification-model-unavailable-hold.d.ts.map +1 -0
  266. package/dist/verify/verification-model-unavailable-hold.js +207 -0
  267. package/dist/verify/verification-model-unavailable-hold.js.map +1 -0
  268. package/dist/verify/verification-strategies.d.ts +32 -0
  269. package/dist/verify/verification-strategies.d.ts.map +1 -0
  270. package/dist/verify/verification-strategies.js +47 -0
  271. package/dist/verify/verification-strategies.js.map +1 -0
  272. package/dist/verify/verify-reconciliation.d.ts.map +1 -1
  273. package/dist/verify/verify-reconciliation.js +2 -1
  274. package/dist/verify/verify-reconciliation.js.map +1 -1
  275. package/dist/verify/verify-restatement.d.ts.map +1 -1
  276. package/dist/verify/verify-restatement.js +21 -8
  277. package/dist/verify/verify-restatement.js.map +1 -1
  278. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-claim-pass.js","sourceRoot":"","sources":["../../src/focus/migration-claim-pass.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pending-spawn-pass-deps.d.ts","sourceRoot":"","sources":["../../src/focus/pending-spawn-pass-deps.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAoB,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gEAAgE;IAChE,2BAA2B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;IACjG,sEAAsE;IACtE,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CACpB,cAAc,EAAE,MAAM,KACnB,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtG,wHAAwH;IACxH,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,EAAE,kBAInC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,gBAAgB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5F,0FAA0F;IAC1F,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,mGAAmG;IACnG,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD,kFAAkF;IAClF,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mGAAmG;IACnG,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IACnD,wFAAwF;IACxF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,uFAAuF;IACvF,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,EAAE,oBAGrC,CAAC"}
1
+ {"version":3,"file":"pending-spawn-pass-deps.d.ts","sourceRoot":"","sources":["../../src/focus/pending-spawn-pass-deps.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAoB,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gEAAgE;IAChE,2BAA2B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;IACjG,sEAAsE;IACtE,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CACpB,cAAc,EAAE,MAAM,KACnB,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtG,wHAAwH;IACxH,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,EAAE,kBAInC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,gBAAgB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5F,0FAA0F;IAC1F,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,mGAAmG;IACnG,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD,kFAAkF;IAClF,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mGAAmG;IACnG,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IACnD,wFAAwF;IACxF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,uFAAuF;IACvF,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,EAAE,oBAGrC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/completion/review-window-idle-coding-lead-regression.test.ts,
3
3
  // packages/daemon/src/focus/awaiting-slot.test.ts,
4
- // packages/daemon/src/focus/pending-review-approved-head.test.ts
4
+ // packages/daemon/src/focus/pending-review-approved-head.test.ts,
5
+ // packages/daemon/src/focus/unclaimed-notice-coding-precedence.test.ts
5
6
  // PINNED-BY-END
6
7
  /**
7
8
  * Injectable seam for the pending-spawn pass (focus/listener-spawn.ts
@@ -1 +1 @@
1
- {"version":3,"file":"pending-spawn-pass-deps.js","sourceRoot":"","sources":["../../src/focus/pending-spawn-pass-deps.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+FAA+F;AAC/F,qDAAqD;AACrD,mEAAmE;AACnE,gBAAgB;AAEhB;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAuB,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,2BAA2B,EAA0B,MAAM,2BAA2B,CAAC;AA4BhG,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,eAAe;IACf,2BAA2B,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC;IAC9E,cAAc;CACf,CAAC;AAuBF,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IAC3D,gBAAgB;IAChB,cAAc;CACf,CAAC"}
1
+ {"version":3,"file":"pending-spawn-pass-deps.js","sourceRoot":"","sources":["../../src/focus/pending-spawn-pass-deps.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+FAA+F;AAC/F,qDAAqD;AACrD,oEAAoE;AACpE,yEAAyE;AACzE,gBAAgB;AAEhB;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAuB,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,2BAA2B,EAA0B,MAAM,2BAA2B,CAAC;AA4BhG,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,eAAe;IACf,2BAA2B,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC;IAC9E,cAAc;CACf,CAAC;AAuBF,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IAC3D,gBAAgB;IAChB,cAAc;CACf,CAAC"}
@@ -84,6 +84,24 @@ export interface TeamActionableWorkInput {
84
84
  * that is not the completion team-exit decision.
85
85
  */
86
86
  mergeResolutionOutstanding?: boolean;
87
+ /**
88
+ * Whether this focus's branch holds a migration file with no claim behind it
89
+ * that the team has NOT YET BEEN SHOWN (`focus_debug_artifacts` kind
90
+ * `unclaimed_migration`, with no `Named to the team at:` line). Like an
91
+ * outstanding merge resolution, it is actionable work: the number that file
92
+ * carries is one no claim knows about, so the next team to claim can be
93
+ * granted it, and the team that wrote it is the only one that can claim or
94
+ * remove it. Torn down first, it lands on integration with nobody told.
95
+ *
96
+ * ONE TURN, NOT UNTIL COMPLIANCE. The marker is written the moment the record
97
+ * is composed into a spawn prompt, so this is true for exactly one coding
98
+ * turn per newly-named ordinal. Holding until the team complied would be a
99
+ * wedge: the record clears only on a claim or a removal, neither of which the
100
+ * daemon can perform.
101
+ *
102
+ * Absent (falsy) for every caller that does not read the record.
103
+ */
104
+ unclaimedMigrationUnnamed?: boolean;
87
105
  }
88
106
  /**
89
107
  * The one predicate. An outstanding merge-conflict resolution request the daemon
@@ -116,6 +134,9 @@ export declare function resolveTeamActionableWork(args: {
116
134
  /** See TeamActionableWorkInput.mergeResolutionOutstanding. Optional; defaults
117
135
  * to false so callers that do not track it are unaffected. */
118
136
  mergeResolutionOutstanding?: boolean;
137
+ /** See TeamActionableWorkInput.unclaimedMigrationUnnamed. Optional; absent
138
+ * for every caller that does not read the record. */
139
+ unclaimedMigrationUnnamed?: boolean;
119
140
  }): {
120
141
  underVerifyHold: boolean;
121
142
  teamHasActionableWork: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"team-actionable-work.d.ts","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-actionable-work.d.ts","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,8 @@ export function hasTeamWorkOutsideVerify(input) {
105
105
  export function focusHasTeamActionableWork(input) {
106
106
  if (input.mergeResolutionOutstanding)
107
107
  return true;
108
+ if (input.unclaimedMigrationUnnamed)
109
+ return true;
108
110
  if (input.underVerifyHold)
109
111
  return input.hasUnheldActionableWork && input.workOutsideVerifyHold === true;
110
112
  return input.hasUnheldActionableWork;
@@ -132,6 +134,7 @@ export function resolveTeamActionableWork(args) {
132
134
  underVerifyHold,
133
135
  workOutsideVerifyHold,
134
136
  mergeResolutionOutstanding: args.mergeResolutionOutstanding,
137
+ unclaimedMigrationUnnamed: args.unclaimedMigrationUnnamed,
135
138
  }),
136
139
  };
137
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"team-actionable-work.js","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-actionable-work.js","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,sBAAsB,EACtB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,iBAAiB,GAC1B,SAAS,CAGX;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,sBAAsB,EACtB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,iBAAiB,GAC1B,SAAS,CAGX;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEjE"}
package/dist/git/types.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: none -- no test imports this module directly (baselined; see lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/migrations/concurrent-claim-regression.test.ts,
3
+ // packages/daemon/src/migrations/migration-held-set.test.ts
3
4
  // PINNED-BY-END
4
5
  /**
5
6
  * Shared types and utilities for the git subsystem.
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,gBAAgB;AAEhB;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,MAAM,EACN,sBAAsB,GAEvB,MAAM,qBAAqB,CAAC;AAG7B,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAoClC;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,IAAc,EACd,GAAW,EACX,OAA2B;IAE3B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,sBAAsB,CAAC;IAC/D,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iFAAiF;AACjF,8DAA8D;AAC9D,gBAAgB;AAEhB;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,MAAM,EACN,sBAAsB,GAEvB,MAAM,qBAAqB,CAAC;AAG7B,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAoClC;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,IAAc,EACd,GAAW,EACX,OAA2B;IAE3B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,sBAAsB,CAAC;IAC/D,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC"}
@@ -17,7 +17,7 @@
17
17
  * agent_telemetry_metrics too -- the same capture path as the audit assessor
18
18
  * (spawn/lifecycle.ts buildAuditMetricRow).
19
19
  */
20
- import { type ChildProcess } from 'node:child_process';
20
+ import type { ChildProcess } from 'node:child_process';
21
21
  import { bufferMetric, type TelemetryMetricRow } from '../otlp/telemetry-writer.js';
22
22
  import type { LoopUpdatePrompt } from './prompt-builder.js';
23
23
  /** Anthropic usage block (token counts). All fields optional/defensive. */
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../src/loops/llm-client.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,2EAA2E;AAC3E,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAiBD,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,YAAY,CAAC;IACzE;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACtF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;CACpC;AA+CD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAchF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,kBAAkB,CA4BrB;AAwGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxB"}
1
+ {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../src/loops/llm-client.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,2EAA2E;AAC3E,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,YAAY,CAAC;IACzE;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACtF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;CACpC;AAkDD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAoBhF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,kBAAkB,CA4BrB;AAqCD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxB"}
@@ -1,27 +1,7 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/loops/loop-llm-client.test.ts
3
3
  // PINNED-BY-END
4
- /**
5
- * LLM client for loop data updates and PRD/loop differential evaluation.
6
- *
7
- * Runs ONE model call per focus per cycle by spawning the `claude` CLI in print
8
- * mode -- the same pattern as `verify/de-restatement.ts` -- so it
9
- * rides the operator's existing Claude Code auth and needs NO Anthropic API key,
10
- * org LLM secret, or any other key beyond what the spawned agent teams already
11
- * use. (Previously this did a raw fetch to api.anthropic.com with an x-api-key
12
- * header; when no key was configured the call returned null and the differential
13
- * loop / PRD steward froze -- exactly the gap this client now closes.)
14
- *
15
- * Capture: a `--print` one-shot session produces NO OTLP rows (the OTLP exporter
16
- * only fires for long-lived interactive sessions), so loop-layer token/cost spend
17
- * would otherwise be invisible to agent_telemetry_metrics. We parse the usage
18
- * block off the print-mode JSON (`--output-format json`) and buffer a telemetry
19
- * metric row on the same writer the OTLP receiver feeds, so loop spend lands in
20
- * agent_telemetry_metrics too -- the same capture path as the audit assessor
21
- * (spawn/lifecycle.ts buildAuditMetricRow).
22
- */
23
- import { spawn } from 'node:child_process';
24
- import { trackChildProcess } from '../spawn/worker-registry.js';
4
+ import { invokeOneShotModel } from '../spawn/one-shot-model.js';
25
5
  import { bufferMetric } from '../otlp/telemetry-writer.js';
26
6
  import { createLogger } from '../shell/log.js';
27
7
  const log = createLogger({ module: 'Loop' });
@@ -37,7 +17,6 @@ const log = createLogger({ module: 'Loop' });
37
17
  * from total_cost_usd).
38
18
  */
39
19
  const DEFAULT_MODEL = 'claude-sonnet-4-6';
40
- const DEFAULT_TIMEOUT_MS = 2 * 60 * 1000;
41
20
  /**
42
21
  * Per-model-family pricing in USD per 1M tokens. Used only as a FALLBACK when
43
22
  * the print-mode JSON does not carry total_cost_usd; Claude Code normally
@@ -64,6 +43,10 @@ const MODEL_PRICING = {
64
43
  // Opus 5 / 4.8 / 4.7 / 4.6 all price at 5/25. The prior 15/75 row was Opus 3
65
44
  // era pricing and over-reported every Opus call by 3x.
66
45
  opus: { input: 5, output: 25, cacheWrite: 6.25, cacheRead: 0.50 },
46
+ // Opus 5.5 is the one Opus that does NOT price at 5/25: it is cheaper (4/20,
47
+ // cache read 0.20). It needs its own row because the family lookup below is a
48
+ // substring match, and 'claude-opus-5-5' contains 'opus'.
49
+ 'opus-5-5': { input: 4, output: 20, cacheWrite: 5.00, cacheRead: 0.20 },
67
50
  haiku: { input: 1, output: 5, cacheWrite: 1.25, cacheRead: 0.10 },
68
51
  };
69
52
  /**
@@ -71,7 +54,13 @@ const MODEL_PRICING = {
71
54
  * Returns 0 when the model family is unrecognized.
72
55
  */
73
56
  export function estimateLoopCostUsd(model, usage) {
74
- const family = Object.keys(MODEL_PRICING).find(f => model.includes(f));
57
+ // Longest match wins, so a version-specific row ('opus-5-5') beats the family
58
+ // row ('opus') it is a superstring of, whatever order the table declares them
59
+ // in. A first-match-in-key-order lookup would silently price Opus 5.5 at the
60
+ // generic Opus rate depending on where its row happened to sit.
61
+ const family = Object.keys(MODEL_PRICING)
62
+ .filter(f => model.includes(f))
63
+ .sort((a, b) => b.length - a.length)[0];
75
64
  if (!family)
76
65
  return 0;
77
66
  const p = MODEL_PRICING[family];
@@ -124,93 +113,27 @@ export function buildLoopMetricRow(params) {
124
113
  // Default model invocation: spawn the `claude` CLI in print mode
125
114
  // ---------------------------------------------------------------------------
126
115
  /**
127
- * Parse a `claude --print --output-format json` stdout payload into a
128
- * LoopModelResult. Returns text:null on unparseable / empty output so the
129
- * caller degrades gracefully (the loop skips a cycle rather than crashing).
116
+ * Default model invocation: the shared one-shot wrapper (spawn/one-shot-model.ts)
117
+ * mapped onto LoopModelResult. Rides Claude Code auth -- no key wiring. The
118
+ * model tag is whatever the CLI reported (its init event, else the modelUsage
119
+ * key); only when it reported neither does the caller apply DEFAULT_MODEL.
120
+ * Rejects with ModelUnavailable when the model could not be reached; callLoopLLM
121
+ * treats that as a skipped cycle, never as an answer.
130
122
  */
131
- function parsePrintJson(stdout) {
132
- const trimmed = stdout.trim();
133
- if (trimmed === '')
134
- return { text: null };
135
- let parsed;
136
- try {
137
- parsed = JSON.parse(trimmed);
138
- }
139
- catch {
140
- return { text: null };
141
- }
142
- // Prefer the explicit top-level model id; fall back to the first modelUsage
143
- // key. Only when neither is present does the caller apply DEFAULT_MODEL -- so
144
- // the telemetry tag reflects the real model whenever the CLI reports it.
145
- const model = typeof parsed.model === 'string' && parsed.model !== ''
146
- ? parsed.model
147
- : parsed.modelUsage && typeof parsed.modelUsage === 'object'
148
- ? Object.keys(parsed.modelUsage)[0]
149
- : undefined;
123
+ async function invokeClaudeCli(systemPrompt, userMessage, opts) {
124
+ const result = await invokeOneShotModel(systemPrompt, userMessage, {
125
+ label: 'loop-llm',
126
+ ...(opts.claudeBin !== undefined ? { claudeBin: opts.claudeBin } : {}),
127
+ ...(opts.timeoutMs !== undefined ? { timeoutMs: opts.timeoutMs } : {}),
128
+ ...(opts.spawnFn !== undefined ? { spawnFn: opts.spawnFn } : {}),
129
+ });
150
130
  return {
151
- text: typeof parsed.result === 'string' ? parsed.result : null,
152
- usage: parsed.usage,
153
- model,
154
- costUsd: typeof parsed.total_cost_usd === 'number' ? parsed.total_cost_usd : null,
131
+ text: result.text === '' ? null : result.text,
132
+ ...(result.usage ? { usage: result.usage } : {}),
133
+ ...(result.model ? { model: result.model } : {}),
134
+ costUsd: result.costUsd ?? null,
155
135
  };
156
136
  }
157
- /**
158
- * Default model invocation: spawn the `claude` CLI in print mode with JSON
159
- * output and return the parsed result. Rides Claude Code auth -- no key wiring.
160
- */
161
- function invokeClaudeCli(systemPrompt, userMessage, opts) {
162
- const claudeBin = opts.claudeBin ?? 'claude';
163
- const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
164
- const spawnFn = opts.spawnFn ?? ((cmd, args, sopts) => spawn(cmd, args, sopts));
165
- const args = [
166
- '--print',
167
- '--output-format', 'json',
168
- '--no-session-persistence',
169
- '--system-prompt', systemPrompt,
170
- ];
171
- return new Promise((resolve, reject) => {
172
- let child;
173
- try {
174
- child = spawnFn(claudeBin, args, { stdio: ['pipe', 'pipe', 'pipe'] });
175
- }
176
- catch (err) {
177
- reject(new Error(`loop-llm spawn failed: ${err.message}`));
178
- return;
179
- }
180
- // Register so a graceful stop reaps this one-shot if the loop eval is still running.
181
- trackChildProcess(child, 'loop-llm');
182
- let stdout = '';
183
- let stderr = '';
184
- child.stdout?.on('data', (chunk) => { stdout += chunk.toString('utf8'); });
185
- child.stderr?.on('data', (chunk) => { stderr += chunk.toString('utf8'); });
186
- const timer = setTimeout(() => {
187
- try {
188
- child.kill('SIGKILL');
189
- }
190
- catch { /* ignore */ }
191
- }, timeoutMs);
192
- child.on('error', (err) => {
193
- clearTimeout(timer);
194
- reject(new Error(`loop-llm spawn error: ${err.message}`));
195
- });
196
- child.on('close', (code) => {
197
- clearTimeout(timer);
198
- if (code !== 0) {
199
- reject(new Error(`loop-llm exited ${code}: ${stderr.slice(-2000)}`));
200
- return;
201
- }
202
- resolve(parsePrintJson(stdout));
203
- });
204
- try {
205
- child.stdin?.write(userMessage);
206
- child.stdin?.end();
207
- }
208
- catch (err) {
209
- clearTimeout(timer);
210
- reject(new Error(`loop-llm stdin write failed: ${err.message}`));
211
- }
212
- });
213
- }
214
137
  // ---------------------------------------------------------------------------
215
138
  // LLM call
216
139
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../src/loops/llm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../src/loops/llm-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * A claim follows its branch: what to confirm, what to release, and which files
3
+ * have no claim behind them.
4
+ *
5
+ * THE PURE DECISION, SEPARATED FROM THE PASS
6
+ * ------------------------------------------
7
+ * Everything here is a function of what was READ -- the claims on a focus, what
8
+ * its branch holds, what integration holds, and whether the focus has ended.
9
+ * Nothing here reads or writes anything. The pass (`focus/migration-claim-pass`)
10
+ * does the IO and applies these decisions, which is what lets every rule below
11
+ * be stated as a case rather than traced through a loop.
12
+ *
13
+ * WHY CONFIRM EXISTS
14
+ * ------------------
15
+ * A claim is an intent; the file that lands is the reality. Confirming records
16
+ * that the intent was realised, with the tag the FILE carries -- which may
17
+ * differ from the tag declared at claim time, because a team renames as it
18
+ * writes. Without confirmation there is no way to tell a claim whose work
19
+ * happened from one whose focus simply has not got there yet, and the release
20
+ * pass would have to guess.
21
+ *
22
+ * WHY RELEASE EXISTS, AND WHY IT IS SAFE
23
+ * --------------------------------------
24
+ * An allocator with no release path leaks a number every time work is
25
+ * abandoned, and on a dense sequential scheme a leaked number is leaked
26
+ * forever: every later claimant steps over it. So a claim on a focus that ended
27
+ * WITHOUT its file is released.
28
+ *
29
+ * THE RELEASE RULE, in one sentence: a claim is released only when its focus
30
+ * has ENDED and its file's absence is ESTABLISHED in both places a file can be
31
+ * -- the branch and integration.
32
+ *
33
+ * Each half of that has a failure mode, in opposite directions:
34
+ *
35
+ * - LEAKING. Absence from the branch is established by reading the branch AND
36
+ * by there being no branch at all: a deleted one, or a focus that never got
37
+ * one, wrote no file, which is positive evidence rather than a gap. Reading
38
+ * those as "unknown" means such a focus never releases and its numbers are
39
+ * gone for good.
40
+ * - RE-GRANTING. Absence from INTEGRATION must be established for EVERY
41
+ * claim, not only confirmed ones. A claim can be unconfirmed simply because
42
+ * the confirm pass never ran before the branch merged -- its file is on
43
+ * integration, and releasing it hands a landed migration's number out a
44
+ * second time. That is the cleanup re-creating the failure it cleans up
45
+ * after, so an unreadable integration HOLDS.
46
+ *
47
+ * WHY UN-ARMING RELEASES
48
+ * ----------------------
49
+ * An un-armed focus may be re-armed, so releasing looks premature. The trade is
50
+ * asymmetric: re-claiming costs the next team ONE MCP call, while a
51
+ * held-but-unused number on a dense sequential scheme costs every later
52
+ * claimant, permanently. The cheap side wins.
53
+ *
54
+ * WHY AN UNREADABLE BRANCH CHANGES NOTHING
55
+ * ----------------------------------------
56
+ * Every decision here is driven by evidence of PRESENCE or ABSENCE of a file.
57
+ * A branch that could not be read supplies neither. The destructive actions --
58
+ * releasing a number, clearing a record -- must never fire on an absence of
59
+ * evidence, so an unreadable reading produces an empty decision rather than a
60
+ * decision to release everything.
61
+ *
62
+ * @module migration-claim-lifecycle
63
+ */
64
+ import type { MigrationInventoryResult } from './migration-inventory.js';
65
+ /**
66
+ * What the pass could learn about a focus's branch.
67
+ *
68
+ * `noBranch` is a real and distinct case: a focus that never got a branch
69
+ * NEVER WROTE A FILE ON ONE, which is positive evidence, not a gap. Treating it
70
+ * as unknown (or skipping the focus, as the pass used to) means a claim on such
71
+ * a focus is never released and its number leaks for good.
72
+ */
73
+ export type BranchReading = MigrationInventoryResult | {
74
+ kind: 'noBranch';
75
+ };
76
+ /** One claim, as the lifecycle needs to see it. */
77
+ export interface LifecycleClaim {
78
+ migrationClaimId: string;
79
+ focusId: string | null;
80
+ ordinal: string;
81
+ /** The tag the team DECLARED at claim time. Intent; never changes. */
82
+ tag: string | null;
83
+ confirmedAt: string | null;
84
+ /**
85
+ * The tag the FILE carried at the last confirmation, or null if never
86
+ * confirmed.
87
+ *
88
+ * This is what a re-confirmation must compare against, not `tag`. A team is
89
+ * free to claim under one name and write another -- the file is the reality
90
+ * -- and `tag` is frozen intent that never catches up. Comparing the file to
91
+ * `tag` therefore finds a difference on EVERY pass forever: a write per tick,
92
+ * per product, for the life of the claim.
93
+ */
94
+ confirmedTag: string | null;
95
+ }
96
+ /** Why a focus's claims are being released. */
97
+ export type ReleaseReason = 'focus_completed' | 'focus_cancelled' | 'arm_cleared';
98
+ /** Ordinals an unclaimed-migration record ALREADY names for this focus. */
99
+ export interface RecordedUnclaimedFile {
100
+ ordinal: string;
101
+ /** The file the record named. Needed to carry an unresolved one forward. */
102
+ path: string;
103
+ }
104
+ export type RecordedUnclaimed = readonly RecordedUnclaimedFile[];
105
+ /** The focus's own state, as far as the lifecycle cares. */
106
+ export interface LifecycleFocus {
107
+ focusId: string;
108
+ /** Null while the focus is live; the reason when it has ended. */
109
+ endedBecause: ReleaseReason | null;
110
+ }
111
+ /** A claim to mark confirmed, with the tag the file actually carries. */
112
+ export interface ConfirmDecision {
113
+ migrationClaimId: string;
114
+ ordinal: string;
115
+ confirmedTag: string | null;
116
+ }
117
+ /** A claim to release, with the reason to record. */
118
+ export interface ReleaseDecision {
119
+ migrationClaimId: string;
120
+ ordinal: string;
121
+ reason: ReleaseReason;
122
+ }
123
+ /** A migration file on the branch that no live claim accounts for. */
124
+ export interface UnclaimedFile {
125
+ ordinal: string;
126
+ tag: string;
127
+ path: string;
128
+ }
129
+ /** Everything one pass over one focus decided. */
130
+ export interface LifecycleDecision {
131
+ confirm: ConfirmDecision[];
132
+ release: ReleaseDecision[];
133
+ unclaimed: UnclaimedFile[];
134
+ /**
135
+ * True only when every ordinal an existing record NAMES has been RESOLVED --
136
+ * a live claim now covers it, or the file is gone from the branch AND from
137
+ * integration. False whenever any named ordinal is unresolved or its fate
138
+ * cannot be established, so the record stands.
139
+ *
140
+ * The pass clears the record on this flag and on nothing else. Clearing
141
+ * because the detection went quiet is how a record used to disappear with
142
+ * the file still sitting on integration: the branch merged, its own file read
143
+ * as "inherited", and a record that had never been resolved reported success.
144
+ */
145
+ clearUnclaimed: boolean;
146
+ /**
147
+ * False when the branch could not be read. The pass applies NOTHING on a
148
+ * false reading -- not a confirm, not a release, not a record, not a clear.
149
+ */
150
+ readable: boolean;
151
+ }
152
+ /**
153
+ * Decide what this focus's claims and files call for.
154
+ *
155
+ * @param claims The focus's UNRELEASED claims.
156
+ * @param branch What its branch holds (the reader's result).
157
+ * @param integration What integration holds. Used to keep a confirmed claim
158
+ * whose file has merged and left the branch, and to tell a
159
+ * removed migration from a merged one.
160
+ * @param focus The focus, and whether it has ended.
161
+ * @param recorded Ordinals an existing unclaimed record already names.
162
+ * Once named, an ordinal stays named until the team
163
+ * RESOLVES it; see `decideUnclaimed`.
164
+ */
165
+ export declare function decideClaimLifecycle(claims: readonly LifecycleClaim[], branch: BranchReading, integration: MigrationInventoryResult, focus: LifecycleFocus, recorded?: RecordedUnclaimed): LifecycleDecision;
166
+ //# sourceMappingURL=migration-claim-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-claim-lifecycle.d.ts","sourceRoot":"","sources":["../../src/migrations/migration-claim-lifecycle.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,wBAAwB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;OASG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAElF,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,qBAAqB,EAAE,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;CACpC;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgLD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,wBAAwB,EACrC,KAAK,EAAE,cAAc,EACrB,QAAQ,GAAE,iBAAsB,GAC/B,iBAAiB,CAuBnB"}