crewly 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/README.md +28 -0
  2. package/config/constants.ts +57 -0
  3. package/config/index.ts +6 -2
  4. package/config/roles/architect/soul.md +31 -0
  5. package/config/roles/auditor/soul.md +30 -0
  6. package/config/roles/backend-developer/soul.md +30 -0
  7. package/config/roles/content-strategist/soul.md +29 -0
  8. package/config/roles/designer/soul.md +30 -0
  9. package/config/roles/developer/soul.md +4 -1
  10. package/config/roles/frontend-developer/soul.md +28 -0
  11. package/config/roles/fullstack-dev/soul.md +28 -0
  12. package/config/roles/generalist/soul.md +28 -0
  13. package/config/roles/ops/soul.md +31 -0
  14. package/config/roles/orchestrator/fragments/lifecycle.md +2 -22
  15. package/config/roles/orchestrator/fragments/recovery.md +1 -1
  16. package/config/roles/orchestrator/prompt.md +18 -49
  17. package/config/roles/orchestrator/soul.md +2 -1
  18. package/config/roles/product-manager/prompt.md +1 -1
  19. package/config/roles/product-manager/soul.md +30 -0
  20. package/config/roles/qa/soul.md +31 -0
  21. package/config/roles/qa-engineer/soul.md +31 -0
  22. package/config/roles/researcher/soul.md +4 -1
  23. package/config/roles/sales/soul.md +30 -0
  24. package/config/roles/support/soul.md +30 -0
  25. package/config/roles/team-leader/prompt.md +1 -1
  26. package/config/roles/team-leader/soul.md +32 -0
  27. package/config/roles/tpm/soul.md +31 -0
  28. package/config/roles/ux-designer/soul.md +31 -0
  29. package/config/skills/_common/lib.sh +124 -2
  30. package/config/skills/_common/lib.test.sh +68 -1
  31. package/config/skills/orchestrator/delegate-task/SKILL.md +17 -21
  32. package/config/skills/orchestrator/delegate-task/execute.sh +18 -9
  33. package/config/skills/orchestrator/delegate-task/execute.test.sh +1 -1
  34. package/config/skills/orchestrator/wiki-migrate/SKILL.md +33 -3
  35. package/config/skills/orchestrator/wiki-migrate/compact.jq +36 -0
  36. package/config/skills/orchestrator/wiki-migrate/execute.sh +35 -5
  37. package/config/skills/orchestrator/wiki-migrate/execute.test.sh +124 -0
  38. package/config/skills/team-leader/verify-output/execute.sh +14 -6
  39. package/config/skills/team-leader/verify-output/execute.test.sh +117 -0
  40. package/dist/backend/backend/src/constants.d.ts +100 -0
  41. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  42. package/dist/backend/backend/src/constants.js +88 -1
  43. package/dist/backend/backend/src/constants.js.map +1 -1
  44. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.d.ts.map +1 -1
  45. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.js +4 -6
  46. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.js.map +1 -1
  47. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.d.ts +10 -0
  48. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.d.ts.map +1 -1
  49. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js +78 -16
  50. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js.map +1 -1
  51. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
  52. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +11 -1
  53. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
  54. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +14 -0
  55. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  56. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +59 -0
  57. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  58. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts +9 -0
  59. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
  60. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +14 -1
  61. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
  62. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  63. package/dist/backend/backend/src/controllers/team/team.controller.js +16 -1
  64. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  65. package/dist/backend/backend/src/index.d.ts +12 -0
  66. package/dist/backend/backend/src/index.d.ts.map +1 -1
  67. package/dist/backend/backend/src/index.js +195 -9
  68. package/dist/backend/backend/src/index.js.map +1 -1
  69. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts +139 -0
  70. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts.map +1 -0
  71. package/dist/backend/backend/src/middleware/api-token.middleware.js +301 -0
  72. package/dist/backend/backend/src/middleware/api-token.middleware.js.map +1 -0
  73. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  74. package/dist/backend/backend/src/routes/api.routes.js +3 -1
  75. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  76. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +68 -0
  77. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  78. package/dist/backend/backend/src/services/agent/agent-registration.service.js +280 -10
  79. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  80. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +7 -0
  81. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  82. package/dist/backend/backend/src/services/agent/claude-runtime.service.js +10 -1
  83. package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  84. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +8 -0
  85. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  86. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +11 -1
  87. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  88. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +36 -1
  89. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +66 -9
  91. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  92. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +7 -0
  93. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  94. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +10 -1
  95. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  96. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +197 -0
  97. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  98. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +422 -3
  99. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  100. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +27 -0
  101. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +50 -1
  103. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  104. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -1
  105. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  106. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -1
  107. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  108. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts +35 -0
  109. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  110. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +73 -2
  111. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  112. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +42 -0
  113. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  114. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js +33 -0
  115. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  116. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  117. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +13 -1
  118. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  119. package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts +26 -2
  120. package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
  121. package/dist/backend/backend/src/services/backup/backup-archive.service.js +91 -10
  122. package/dist/backend/backend/src/services/backup/backup-archive.service.js.map +1 -1
  123. package/dist/backend/backend/src/services/backup/backup-restore.service.d.ts +15 -2
  124. package/dist/backend/backend/src/services/backup/backup-restore.service.d.ts.map +1 -1
  125. package/dist/backend/backend/src/services/backup/backup-restore.service.js +100 -21
  126. package/dist/backend/backend/src/services/backup/backup-restore.service.js.map +1 -1
  127. package/dist/backend/backend/src/services/backup/backup.types.d.ts +85 -2
  128. package/dist/backend/backend/src/services/backup/backup.types.d.ts.map +1 -1
  129. package/dist/backend/backend/src/services/backup/backup.types.js +21 -0
  130. package/dist/backend/backend/src/services/backup/backup.types.js.map +1 -1
  131. package/dist/backend/backend/src/services/backup/project-file-filter.d.ts +35 -0
  132. package/dist/backend/backend/src/services/backup/project-file-filter.d.ts.map +1 -0
  133. package/dist/backend/backend/src/services/backup/project-file-filter.js +90 -0
  134. package/dist/backend/backend/src/services/backup/project-file-filter.js.map +1 -0
  135. package/dist/backend/backend/src/services/budget/team-budget-gate.service.d.ts +165 -0
  136. package/dist/backend/backend/src/services/budget/team-budget-gate.service.d.ts.map +1 -0
  137. package/dist/backend/backend/src/services/budget/team-budget-gate.service.js +364 -0
  138. package/dist/backend/backend/src/services/budget/team-budget-gate.service.js.map +1 -0
  139. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +29 -0
  140. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  141. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +42 -0
  142. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  143. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +16 -0
  144. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  145. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +22 -0
  146. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  147. package/dist/backend/backend/src/services/core/api-token.service.d.ts +78 -0
  148. package/dist/backend/backend/src/services/core/api-token.service.d.ts.map +1 -0
  149. package/dist/backend/backend/src/services/core/api-token.service.js +149 -0
  150. package/dist/backend/backend/src/services/core/api-token.service.js.map +1 -0
  151. package/dist/backend/backend/src/services/core/logger.service.d.ts +10 -1
  152. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
  153. package/dist/backend/backend/src/services/core/logger.service.js +18 -3
  154. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  155. package/dist/backend/backend/src/services/core/storage.service.d.ts +11 -0
  156. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  157. package/dist/backend/backend/src/services/core/storage.service.js +34 -0
  158. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  159. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts +7 -1
  160. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  161. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +29 -7
  162. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  163. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation-monitor.service.d.ts +140 -0
  164. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation-monitor.service.d.ts.map +1 -0
  165. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation-monitor.service.js +346 -0
  166. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation-monitor.service.js.map +1 -0
  167. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +27 -3
  168. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  169. package/dist/backend/backend/src/services/monitoring/token-usage.service.js +42 -7
  170. package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  171. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +47 -0
  172. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
  173. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js +67 -1
  174. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
  175. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +22 -15
  176. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  177. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +24 -15
  178. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  179. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +7 -1
  180. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  181. package/dist/backend/backend/src/services/session/pty/pty-session.js +9 -3
  182. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  183. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts +27 -0
  184. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  185. package/dist/backend/backend/src/services/session/session-handoff.service.js +110 -22
  186. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  187. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  188. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +7 -1
  189. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  190. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +52 -0
  191. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  192. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +132 -6
  193. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  194. package/dist/backend/backend/src/services/v3/escalation-boot.d.ts +87 -0
  195. package/dist/backend/backend/src/services/v3/escalation-boot.d.ts.map +1 -0
  196. package/dist/backend/backend/src/services/v3/escalation-boot.js +128 -0
  197. package/dist/backend/backend/src/services/v3/escalation-boot.js.map +1 -0
  198. package/dist/backend/backend/src/services/v3/escalation.service.d.ts +1 -1
  199. package/dist/backend/backend/src/services/v3/escalation.service.d.ts.map +1 -1
  200. package/dist/backend/backend/src/services/v3/escalation.service.js +4 -4
  201. package/dist/backend/backend/src/services/v3/escalation.service.js.map +1 -1
  202. package/dist/backend/backend/src/services/v3/kr-completion.subscriber.d.ts +118 -0
  203. package/dist/backend/backend/src/services/v3/kr-completion.subscriber.d.ts.map +1 -0
  204. package/dist/backend/backend/src/services/v3/kr-completion.subscriber.js +277 -0
  205. package/dist/backend/backend/src/services/v3/kr-completion.subscriber.js.map +1 -0
  206. package/dist/backend/backend/src/services/v3/kr-tracking.service.d.ts.map +1 -1
  207. package/dist/backend/backend/src/services/v3/kr-tracking.service.js +3 -6
  208. package/dist/backend/backend/src/services/v3/kr-tracking.service.js.map +1 -1
  209. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts +5 -0
  210. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
  211. package/dist/backend/backend/src/services/v3/mission-executor.service.js +36 -0
  212. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  213. package/dist/backend/backend/src/services/v3/mission-paths.d.ts +69 -0
  214. package/dist/backend/backend/src/services/v3/mission-paths.d.ts.map +1 -0
  215. package/dist/backend/backend/src/services/v3/mission-paths.js +92 -0
  216. package/dist/backend/backend/src/services/v3/mission-paths.js.map +1 -0
  217. package/dist/backend/backend/src/services/v3/mission-period.service.d.ts.map +1 -1
  218. package/dist/backend/backend/src/services/v3/mission-period.service.js +1 -12
  219. package/dist/backend/backend/src/services/v3/mission-period.service.js.map +1 -1
  220. package/dist/backend/backend/src/services/v3/mission-reminder.service.d.ts +74 -2
  221. package/dist/backend/backend/src/services/v3/mission-reminder.service.d.ts.map +1 -1
  222. package/dist/backend/backend/src/services/v3/mission-reminder.service.js +251 -9
  223. package/dist/backend/backend/src/services/v3/mission-reminder.service.js.map +1 -1
  224. package/dist/backend/backend/src/services/v3/okr-cascade.service.d.ts +6 -4
  225. package/dist/backend/backend/src/services/v3/okr-cascade.service.d.ts.map +1 -1
  226. package/dist/backend/backend/src/services/v3/okr-cascade.service.js +11 -10
  227. package/dist/backend/backend/src/services/v3/okr-cascade.service.js.map +1 -1
  228. package/dist/backend/backend/src/services/v3/okr-review.service.d.ts +24 -0
  229. package/dist/backend/backend/src/services/v3/okr-review.service.d.ts.map +1 -1
  230. package/dist/backend/backend/src/services/v3/okr-review.service.js +63 -3
  231. package/dist/backend/backend/src/services/v3/okr-review.service.js.map +1 -1
  232. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts +17 -0
  233. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts.map +1 -1
  234. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js +62 -13
  235. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js.map +1 -1
  236. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +6 -2
  237. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  238. package/dist/backend/backend/src/services/v3/v3-data.service.js +14 -9
  239. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  240. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +14 -0
  241. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  242. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +31 -0
  243. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  244. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts +21 -0
  245. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts.map +1 -1
  246. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js +53 -3
  247. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js.map +1 -1
  248. package/dist/backend/backend/src/types/event-bus.types.d.ts +4 -2
  249. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  250. package/dist/backend/backend/src/types/event-bus.types.js +15 -0
  251. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  252. package/dist/backend/backend/src/types/index.d.ts +16 -0
  253. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  254. package/dist/backend/backend/src/types/index.js.map +1 -1
  255. package/dist/backend/backend/src/types/v2/index.d.ts +1 -1
  256. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  257. package/dist/backend/backend/src/types/v2/index.js +1 -1
  258. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  259. package/dist/backend/backend/src/types/v2/mission.types.d.ts +41 -0
  260. package/dist/backend/backend/src/types/v2/mission.types.d.ts.map +1 -1
  261. package/dist/backend/backend/src/types/v2/mission.types.js +29 -0
  262. package/dist/backend/backend/src/types/v2/mission.types.js.map +1 -1
  263. package/dist/backend/backend/src/utils/network-exposure.utils.d.ts +67 -0
  264. package/dist/backend/backend/src/utils/network-exposure.utils.d.ts.map +1 -0
  265. package/dist/backend/backend/src/utils/network-exposure.utils.js +92 -0
  266. package/dist/backend/backend/src/utils/network-exposure.utils.js.map +1 -0
  267. package/dist/backend/build-info.json +2 -2
  268. package/dist/backend/config/constants.d.ts +53 -0
  269. package/dist/backend/config/constants.d.ts.map +1 -1
  270. package/dist/backend/config/constants.js +54 -0
  271. package/dist/backend/config/constants.js.map +1 -1
  272. package/dist/backend/config/index.d.ts +2 -2
  273. package/dist/backend/config/index.d.ts.map +1 -1
  274. package/dist/backend/config/index.js +6 -6
  275. package/dist/backend/config/index.js.map +1 -1
  276. package/dist/cli/backend/src/constants.d.ts +100 -0
  277. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  278. package/dist/cli/backend/src/constants.js +88 -1
  279. package/dist/cli/backend/src/constants.js.map +1 -1
  280. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +68 -0
  281. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  282. package/dist/cli/backend/src/services/agent/agent-registration.service.js +280 -10
  283. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  284. package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts +7 -0
  285. package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  286. package/dist/cli/backend/src/services/agent/claude-runtime.service.js +10 -1
  287. package/dist/cli/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  288. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts +8 -0
  289. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  290. package/dist/cli/backend/src/services/agent/codex-runtime.service.js +11 -1
  291. package/dist/cli/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  292. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +36 -1
  293. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  294. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +66 -9
  295. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  296. package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts +7 -0
  297. package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  298. package/dist/cli/backend/src/services/agent/gemini-runtime.service.js +10 -1
  299. package/dist/cli/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  300. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +197 -0
  301. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  302. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +422 -3
  303. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  304. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts +27 -0
  305. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  306. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +50 -1
  307. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  308. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts +35 -0
  309. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  310. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +73 -2
  311. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  312. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +42 -0
  313. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  314. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +33 -0
  315. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  316. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  317. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js +13 -1
  318. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  319. package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts +26 -2
  320. package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
  321. package/dist/cli/backend/src/services/backup/backup-archive.service.js +91 -10
  322. package/dist/cli/backend/src/services/backup/backup-archive.service.js.map +1 -1
  323. package/dist/cli/backend/src/services/backup/backup-restore.service.d.ts +15 -2
  324. package/dist/cli/backend/src/services/backup/backup-restore.service.d.ts.map +1 -1
  325. package/dist/cli/backend/src/services/backup/backup-restore.service.js +100 -21
  326. package/dist/cli/backend/src/services/backup/backup-restore.service.js.map +1 -1
  327. package/dist/cli/backend/src/services/backup/backup.types.d.ts +85 -2
  328. package/dist/cli/backend/src/services/backup/backup.types.d.ts.map +1 -1
  329. package/dist/cli/backend/src/services/backup/backup.types.js +21 -0
  330. package/dist/cli/backend/src/services/backup/backup.types.js.map +1 -1
  331. package/dist/cli/backend/src/services/backup/project-file-filter.d.ts +35 -0
  332. package/dist/cli/backend/src/services/backup/project-file-filter.d.ts.map +1 -0
  333. package/dist/cli/backend/src/services/backup/project-file-filter.js +90 -0
  334. package/dist/cli/backend/src/services/backup/project-file-filter.js.map +1 -0
  335. package/dist/cli/backend/src/services/budget/team-budget-gate.service.d.ts +165 -0
  336. package/dist/cli/backend/src/services/budget/team-budget-gate.service.d.ts.map +1 -0
  337. package/dist/cli/backend/src/services/budget/team-budget-gate.service.js +364 -0
  338. package/dist/cli/backend/src/services/budget/team-budget-gate.service.js.map +1 -0
  339. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +29 -0
  340. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  341. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +42 -0
  342. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  343. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +16 -0
  344. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  345. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +22 -0
  346. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  347. package/dist/cli/backend/src/services/core/api-token.service.d.ts +78 -0
  348. package/dist/cli/backend/src/services/core/api-token.service.d.ts.map +1 -0
  349. package/dist/cli/backend/src/services/core/api-token.service.js +149 -0
  350. package/dist/cli/backend/src/services/core/api-token.service.js.map +1 -0
  351. package/dist/cli/backend/src/services/core/logger.service.d.ts +10 -1
  352. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
  353. package/dist/cli/backend/src/services/core/logger.service.js +18 -3
  354. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  355. package/dist/cli/backend/src/services/core/storage.service.d.ts +11 -0
  356. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  357. package/dist/cli/backend/src/services/core/storage.service.js +34 -0
  358. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  359. package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +27 -3
  360. package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  361. package/dist/cli/backend/src/services/monitoring/token-usage.service.js +42 -7
  362. package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  363. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +47 -0
  364. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
  365. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js +67 -1
  366. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
  367. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts +7 -1
  368. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  369. package/dist/cli/backend/src/services/session/pty/pty-session.js +9 -3
  370. package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -1
  371. package/dist/cli/backend/src/services/session/session-handoff.service.d.ts +27 -0
  372. package/dist/cli/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  373. package/dist/cli/backend/src/services/session/session-handoff.service.js +110 -22
  374. package/dist/cli/backend/src/services/session/session-handoff.service.js.map +1 -1
  375. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +52 -0
  376. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  377. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +132 -6
  378. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  379. package/dist/cli/backend/src/services/v3/kr-tracking.service.d.ts.map +1 -1
  380. package/dist/cli/backend/src/services/v3/kr-tracking.service.js +3 -6
  381. package/dist/cli/backend/src/services/v3/kr-tracking.service.js.map +1 -1
  382. package/dist/cli/backend/src/services/v3/mission-executor.service.d.ts +5 -0
  383. package/dist/cli/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
  384. package/dist/cli/backend/src/services/v3/mission-executor.service.js +36 -0
  385. package/dist/cli/backend/src/services/v3/mission-executor.service.js.map +1 -1
  386. package/dist/cli/backend/src/services/v3/mission-paths.d.ts +69 -0
  387. package/dist/cli/backend/src/services/v3/mission-paths.d.ts.map +1 -0
  388. package/dist/cli/backend/src/services/v3/mission-paths.js +92 -0
  389. package/dist/cli/backend/src/services/v3/mission-paths.js.map +1 -0
  390. package/dist/cli/backend/src/services/v3/v3-data.service.d.ts +6 -2
  391. package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  392. package/dist/cli/backend/src/services/v3/v3-data.service.js +14 -9
  393. package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -1
  394. package/dist/cli/backend/src/types/event-bus.types.d.ts +4 -2
  395. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  396. package/dist/cli/backend/src/types/event-bus.types.js +15 -0
  397. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  398. package/dist/cli/backend/src/types/index.d.ts +16 -0
  399. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  400. package/dist/cli/backend/src/types/index.js.map +1 -1
  401. package/dist/cli/backend/src/types/v2/index.d.ts +1 -1
  402. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  403. package/dist/cli/backend/src/types/v2/index.js +1 -1
  404. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  405. package/dist/cli/backend/src/types/v2/mission.types.d.ts +41 -0
  406. package/dist/cli/backend/src/types/v2/mission.types.d.ts.map +1 -1
  407. package/dist/cli/backend/src/types/v2/mission.types.js +29 -0
  408. package/dist/cli/backend/src/types/v2/mission.types.js.map +1 -1
  409. package/dist/cli/cli/src/commands/backup.d.ts +25 -0
  410. package/dist/cli/cli/src/commands/backup.d.ts.map +1 -1
  411. package/dist/cli/cli/src/commands/backup.js +120 -6
  412. package/dist/cli/cli/src/commands/backup.js.map +1 -1
  413. package/dist/cli/cli/src/commands/doctor.d.ts +58 -0
  414. package/dist/cli/cli/src/commands/doctor.d.ts.map +1 -0
  415. package/dist/cli/cli/src/commands/doctor.js +163 -0
  416. package/dist/cli/cli/src/commands/doctor.js.map +1 -0
  417. package/dist/cli/cli/src/commands/service.d.ts +68 -11
  418. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  419. package/dist/cli/cli/src/commands/service.js +183 -51
  420. package/dist/cli/cli/src/commands/service.js.map +1 -1
  421. package/dist/cli/cli/src/commands/token.d.ts +53 -0
  422. package/dist/cli/cli/src/commands/token.d.ts.map +1 -0
  423. package/dist/cli/cli/src/commands/token.js +70 -0
  424. package/dist/cli/cli/src/commands/token.js.map +1 -0
  425. package/dist/cli/cli/src/index.js +40 -5
  426. package/dist/cli/cli/src/index.js.map +1 -1
  427. package/dist/cli/cli/src/scripts/check-native-toolchain.d.ts +21 -0
  428. package/dist/cli/cli/src/scripts/check-native-toolchain.d.ts.map +1 -0
  429. package/dist/cli/cli/src/scripts/check-native-toolchain.js +40 -0
  430. package/dist/cli/cli/src/scripts/check-native-toolchain.js.map +1 -0
  431. package/dist/cli/cli/src/utils/native-toolchain.d.ts +111 -0
  432. package/dist/cli/cli/src/utils/native-toolchain.d.ts.map +1 -0
  433. package/dist/cli/cli/src/utils/native-toolchain.js +146 -0
  434. package/dist/cli/cli/src/utils/native-toolchain.js.map +1 -0
  435. package/dist/cli/cli/src/utils/package-root.d.ts +55 -0
  436. package/dist/cli/cli/src/utils/package-root.d.ts.map +1 -0
  437. package/dist/cli/cli/src/utils/package-root.js +107 -0
  438. package/dist/cli/cli/src/utils/package-root.js.map +1 -0
  439. package/dist/cli/cli/src/utils/version-check.d.ts +18 -2
  440. package/dist/cli/cli/src/utils/version-check.d.ts.map +1 -1
  441. package/dist/cli/cli/src/utils/version-check.js +51 -4
  442. package/dist/cli/cli/src/utils/version-check.js.map +1 -1
  443. package/dist/cli/config/constants.d.ts +53 -0
  444. package/dist/cli/config/constants.d.ts.map +1 -1
  445. package/dist/cli/config/constants.js +54 -0
  446. package/dist/cli/config/constants.js.map +1 -1
  447. package/dist/cli/config/index.d.ts +2 -2
  448. package/dist/cli/config/index.d.ts.map +1 -1
  449. package/dist/cli/config/index.js +6 -6
  450. package/dist/cli/config/index.js.map +1 -1
  451. package/frontend/dist/assets/index-203224f9.js +4961 -0
  452. package/frontend/dist/assets/index-dcaf6c88.css +42 -0
  453. package/frontend/dist/index.html +2 -2
  454. package/package.json +3 -2
  455. package/config/constants.d.ts.map +0 -1
  456. package/config/index.d.ts.map +0 -1
  457. package/frontend/dist/assets/index-190a957f.js +0 -4961
  458. package/frontend/dist/assets/index-88feb412.css +0 -42
@@ -0,0 +1,277 @@
1
+ /**
2
+ * KR Completion Subscriber
3
+ *
4
+ * Closes two gaps in the OKR runtime loop that the data model already
5
+ * supported but nothing ever drove:
6
+ *
7
+ * 1. **KR auto-measurement from task completion.**
8
+ * `KRTrackingService.onWorkItemCompleted` maps completed/total linked
9
+ * WorkItems onto a KR whose `measurementSource === 'task_completion'`,
10
+ * but had zero production callers. This subscriber listens to the
11
+ * pool's terminal-success events (`task:done`, `task:verified`),
12
+ * resolves the KR either from `workItem.metadata.krId` or from any KR
13
+ * of the mission whose `linkedWorkItemIds` contains the WI, and calls
14
+ * `onWorkItemCompleted`.
15
+ *
16
+ * 2. **`team:all_tasks_done` publication.**
17
+ * The event was declared, CRITICAL, subscribed to by the orchestrator
18
+ * and handled by the EventToWorkItemBridge (→ `mission:review_due` →
19
+ * review WI) — but nothing published it. On every task terminal event
20
+ * (`task:done`, `task:verified`, `task:cancelled`) this subscriber
21
+ * checks whether the WI's mission has zero non-terminal WorkItems left
22
+ * and, if so, publishes once per mission per UTC day (idempotent id
23
+ * `<missionId>:all_tasks_done:<YYYY-MM-DD>`).
24
+ *
25
+ * Follows the same shape as the other in-process subscribers (bridge,
26
+ * auto-learning, milestone): `onInProcess` subscriptions, per-dispatch
27
+ * try/catch, `flushPending()` for tests, idempotent `start()`/`stop()`.
28
+ *
29
+ * @module services/v3/kr-completion.subscriber
30
+ */
31
+ import { LoggerService } from '../core/logger.service.js';
32
+ import { SLA_TERMINAL_WORK_ITEM_STATUSES } from '../../types/v2/work-item.types.js';
33
+ import { formatError } from '../../utils/format-error.js';
34
+ import { safeReadJson } from '../../utils/file-io.utils.js';
35
+ import { getMissionPath } from './mission-paths.js';
36
+ import { KRTrackingService } from './kr-tracking.service.js';
37
+ import { TaskPoolService } from '../task-pool/task-pool.service.js';
38
+ // ---------------------------------------------------------------------------
39
+ // Constants
40
+ // ---------------------------------------------------------------------------
41
+ /** Terminal-success events that may move a `task_completion` KR. */
42
+ export const KR_MEASURE_EVENTS = ['task:done', 'task:verified'];
43
+ /**
44
+ * Task terminal events after which a mission may have no active work left.
45
+ * `task:cancelled` is included so a mission whose last item was cancelled
46
+ * still gets its "all done — review" nudge.
47
+ */
48
+ export const ALL_TASKS_DONE_TRIGGER_EVENTS = [
49
+ 'task:done',
50
+ 'task:verified',
51
+ 'task:cancelled',
52
+ ];
53
+ /** Bounded size of the per-day `team:all_tasks_done` dedup set. */
54
+ const ALL_TASKS_DONE_DEDUP_CAPACITY = 1000;
55
+ /** KR measurement source that this subscriber is allowed to drive. */
56
+ const TASK_COMPLETION_SOURCE = 'task_completion';
57
+ // ---------------------------------------------------------------------------
58
+ // Helpers
59
+ // ---------------------------------------------------------------------------
60
+ /** UTC calendar-day key (`YYYY-MM-DD`). */
61
+ function dayKey(now) {
62
+ return now.toISOString().slice(0, 10);
63
+ }
64
+ /** Default production mission loader — reads the shared missions dir. */
65
+ async function defaultLoadMission(missionId) {
66
+ try {
67
+ return await safeReadJson(getMissionPath(missionId), null);
68
+ }
69
+ catch {
70
+ return null;
71
+ }
72
+ }
73
+ // ---------------------------------------------------------------------------
74
+ // Subscriber
75
+ // ---------------------------------------------------------------------------
76
+ /**
77
+ * Drives KR auto-measurement and `team:all_tasks_done` from task terminal
78
+ * events. See module docs.
79
+ */
80
+ export class KRCompletionSubscriber {
81
+ eventBus;
82
+ taskPool;
83
+ krTracking;
84
+ loadMission;
85
+ logger;
86
+ now;
87
+ unsubscribers = [];
88
+ started = false;
89
+ pendingDispatches = new Set();
90
+ /** `<missionId>:<YYYY-MM-DD>` keys already published today (FIFO-bounded). */
91
+ publishedAllDone = [];
92
+ constructor(deps) {
93
+ this.eventBus = deps.eventBus;
94
+ this.taskPool = deps.taskPool;
95
+ this.krTracking = deps.krTracking;
96
+ this.loadMission = deps.loadMission ?? defaultLoadMission;
97
+ this.logger =
98
+ deps.logger ?? LoggerService.getInstance().createComponentLogger('KRCompletionSubscriber');
99
+ this.now = deps.now ?? (() => new Date());
100
+ }
101
+ /**
102
+ * Production wiring helper — constructs from singletons.
103
+ *
104
+ * @param eventBus - The live event bus
105
+ * @returns A subscriber ready to `start()`
106
+ */
107
+ static boot(eventBus) {
108
+ return new KRCompletionSubscriber({
109
+ eventBus,
110
+ taskPool: TaskPoolService.getInstance(),
111
+ krTracking: KRTrackingService.getInstance(),
112
+ });
113
+ }
114
+ /** Subscribe to the task terminal events. Idempotent. */
115
+ start() {
116
+ if (this.started)
117
+ return;
118
+ this.started = true;
119
+ for (const eventType of ALL_TASKS_DONE_TRIGGER_EVENTS) {
120
+ this.unsubscribers.push(this.eventBus.onInProcess(eventType, (e) => this.safeDispatch(eventType, e)));
121
+ }
122
+ this.logger.info('KRCompletionSubscriber subscribed', {
123
+ eventTypes: ALL_TASKS_DONE_TRIGGER_EVENTS,
124
+ });
125
+ }
126
+ /** Detach all subscriptions. Idempotent. */
127
+ stop() {
128
+ for (const u of this.unsubscribers) {
129
+ try {
130
+ u();
131
+ }
132
+ catch (err) {
133
+ this.logger.warn('KRCompletion unsubscribe threw', { error: formatError(err) });
134
+ }
135
+ }
136
+ this.unsubscribers = [];
137
+ this.started = false;
138
+ }
139
+ /** Await every in-flight dispatch. Test affordance. */
140
+ async flushPending() {
141
+ while (this.pendingDispatches.size > 0) {
142
+ await Promise.allSettled(Array.from(this.pendingDispatches));
143
+ }
144
+ }
145
+ // -------------------------------------------------------------------------
146
+ // Dispatch
147
+ // -------------------------------------------------------------------------
148
+ safeDispatch(eventType, event) {
149
+ const promise = (async () => {
150
+ try {
151
+ await this.handle(eventType, event);
152
+ }
153
+ catch (err) {
154
+ this.logger.warn('KRCompletion dispatch threw — swallowed', {
155
+ eventType,
156
+ eventId: event.id,
157
+ error: formatError(err),
158
+ });
159
+ }
160
+ })();
161
+ this.pendingDispatches.add(promise);
162
+ promise.finally(() => this.pendingDispatches.delete(promise));
163
+ return promise;
164
+ }
165
+ /**
166
+ * Resolve the source WI, then run the KR measurement (success events
167
+ * only) and the all-tasks-done check (every trigger event). The two
168
+ * halves are independent — a failure in one is logged and does not stop
169
+ * the other.
170
+ */
171
+ async handle(eventType, event) {
172
+ if (!event.workItemId)
173
+ return;
174
+ const workItem = await this.taskPool.findWorkItem(event.workItemId);
175
+ if (!workItem || !workItem.missionId)
176
+ return;
177
+ if (KR_MEASURE_EVENTS.includes(eventType)) {
178
+ try {
179
+ await this.measureKR(workItem);
180
+ }
181
+ catch (err) {
182
+ this.logger.warn('KR auto-measure failed', {
183
+ workItemId: workItem.id,
184
+ missionId: workItem.missionId,
185
+ error: formatError(err),
186
+ });
187
+ }
188
+ }
189
+ await this.maybePublishAllTasksDone(workItem.missionId);
190
+ }
191
+ /**
192
+ * Find the KR the WI contributes to and feed it to
193
+ * {@link KRTrackingService.onWorkItemCompleted} when that KR is measured
194
+ * by task completion.
195
+ */
196
+ async measureKR(workItem) {
197
+ const missionId = workItem.missionId;
198
+ const explicitKrId = typeof workItem.metadata?.krId === 'string' ? workItem.metadata.krId : undefined;
199
+ let kr = null;
200
+ if (explicitKrId) {
201
+ kr = await this.krTracking.get(missionId, explicitKrId);
202
+ }
203
+ else {
204
+ const krs = await this.krTracking.listByMission(missionId);
205
+ kr = krs.find((k) => k.linkedWorkItemIds.includes(workItem.id)) ?? null;
206
+ }
207
+ if (!kr)
208
+ return;
209
+ if (kr.measurementSource !== TASK_COMPLETION_SOURCE) {
210
+ this.logger.debug('KR not measured by task completion — skipping auto-measure', {
211
+ krId: kr.id,
212
+ measurementSource: kr.measurementSource,
213
+ });
214
+ return;
215
+ }
216
+ // `onWorkItemCompleted` keys on `metadata.krId`; inject it when the link
217
+ // was discovered via `linkedWorkItemIds` so the existing service method
218
+ // can stay untouched.
219
+ const withKr = explicitKrId
220
+ ? workItem
221
+ : { ...workItem, metadata: { ...(workItem.metadata ?? {}), krId: kr.id } };
222
+ await this.krTracking.onWorkItemCompleted(withKr);
223
+ this.logger.info('KR auto-measured from task completion', {
224
+ krId: kr.id,
225
+ missionId,
226
+ workItemId: workItem.id,
227
+ });
228
+ }
229
+ /**
230
+ * Publish `team:all_tasks_done` once per mission per UTC day when the
231
+ * mission has no non-terminal WorkItems left in the pool.
232
+ */
233
+ async maybePublishAllTasksDone(missionId) {
234
+ const key = `${missionId}:${dayKey(this.now())}`;
235
+ if (this.publishedAllDone.includes(key))
236
+ return;
237
+ const allItems = await this.taskPool.getAllItems();
238
+ const missionItems = allItems.filter((wi) => wi.missionId === missionId);
239
+ if (missionItems.length === 0)
240
+ return;
241
+ const active = missionItems.filter((wi) => !SLA_TERMINAL_WORK_ITEM_STATUSES.has(wi.status));
242
+ if (active.length > 0)
243
+ return;
244
+ // Re-check after the awaits: two WIs finishing in the same tick both
245
+ // pass the early check above; only the first to reach this synchronous
246
+ // section may publish.
247
+ if (this.publishedAllDone.includes(key))
248
+ return;
249
+ this.rememberPublished(key);
250
+ const mission = await this.loadMission(missionId);
251
+ this.eventBus.publish({
252
+ id: `${missionId}:all_tasks_done:${dayKey(this.now())}`,
253
+ type: 'team:all_tasks_done',
254
+ timestamp: this.now().toISOString(),
255
+ teamId: mission?.ownerTeamId ?? '',
256
+ teamName: '',
257
+ memberId: '',
258
+ memberName: '',
259
+ sessionName: '',
260
+ previousValue: String(missionItems.length),
261
+ newValue: 'all_tasks_done',
262
+ changedField: 'taskStatus',
263
+ missionId,
264
+ });
265
+ this.logger.info('team:all_tasks_done published', {
266
+ missionId,
267
+ totalItems: missionItems.length,
268
+ });
269
+ }
270
+ rememberPublished(key) {
271
+ this.publishedAllDone.push(key);
272
+ if (this.publishedAllDone.length > ALL_TASKS_DONE_DEDUP_CAPACITY) {
273
+ this.publishedAllDone.shift();
274
+ }
275
+ }
276
+ }
277
+ //# sourceMappingURL=kr-completion.subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kr-completion.subscriber.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/kr-completion.subscriber.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kr-tracking.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/kr-tracking.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAUvB,MAAM,oCAAoC,CAAC;AAgC5C;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAQ5B;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IAa7D;;;;;;OAMG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IASrE;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAkB5D;;;;;;;OAOG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAqBtG;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa/D;;;;;;;;;;;OAWG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAuChC;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtF;;;;;;OAMG;IACG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC5D;;;;;;OAMG;IACG,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,MAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCvG;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAa7B;;;;;;;;;OASG;YACW,MAAM;IAkDpB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;YACW,eAAe;IAyB7B;;OAEG;YACW,OAAO;CAOtB"}
1
+ {"version":3,"file":"kr-tracking.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/kr-tracking.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAUvB,MAAM,oCAAoC,CAAC;AA2B5C;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAQ5B;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IAa7D;;;;;;OAMG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IASrE;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAkB5D;;;;;;;OAOG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAqBtG;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa/D;;;;;;;;;;;OAWG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAuChC;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtF;;;;;;OAMG;IACG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC5D;;;;;;OAMG;IACG,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,MAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCvG;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAa7B;;;;;;;;;OASG;YACW,MAAM;IAkDpB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;YACW,eAAe;IAyB7B;;OAEG;YACW,OAAO;CAOtB"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import * as fs from 'fs/promises';
13
13
  import * as path from 'path';
14
+ import { getMissionsDir, getKeyResultsDir } from './mission-paths.js';
14
15
  import { existsSync, mkdirSync } from 'fs';
15
16
  import { LoggerService } from '../core/logger.service.js';
16
17
  import { deriveLevel, } from '../../types/v2/mission.types.js';
@@ -18,13 +19,9 @@ import { createKeyResult, computeKRProgress, deriveKRStatus, deriveCascadeChildS
18
19
  // ---------------------------------------------------------------------------
19
20
  // Constants
20
21
  // ---------------------------------------------------------------------------
21
- /** Base directory for mission data. */
22
- function getMissionsDir() {
23
- return path.join(process.cwd(), '.crewly', 'missions');
24
- }
25
- /** Directory for a mission's key results. */
22
+ /** Directory for a mission's key results (shared resolver). */
26
23
  function getKRDir(missionId) {
27
- return path.join(getMissionsDir(), missionId, 'key-results');
24
+ return getKeyResultsDir(missionId);
28
25
  }
29
26
  /** File path for a single key result. */
30
27
  function getKRPath(missionId, krId) {
@@ -1 +1 @@
1
- {"version":3,"file":"kr-tracking.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/kr-tracking.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kr-tracking.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/kr-tracking.service.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,11 @@ export declare class MissionExecutorService {
64
64
  * @returns Created WorkItem IDs
65
65
  */
66
66
  processDecomposition(result: DecompositionResult, mission: Mission): Promise<string[]>;
67
+ /**
68
+ * Number of WorkItems already created for a mission during the current
69
+ * UTC calendar day. Backs the `dailyItemLimit` gate.
70
+ */
71
+ private countItemsCreatedToday;
67
72
  /**
68
73
  * Compute Mission progress from WorkItem statuses.
69
74
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mission-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/mission-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EACL,KAAK,OAAO,EAEb,MAAM,iCAAiC,CAAC;AAMzC,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;CACxD;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO;WAIO,WAAW,IAAI,sBAAsB;WAOrC,aAAa,IAAI,IAAI;IAQnC;;;;;;;OAOG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoH5F;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgDhE;;;;;OAKG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBtD;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBvD,0CAA0C;IAC1C,gBAAuB,YAAY;;;;MAIxB;IAEX;;;;;;;OAOG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,iBAAiB,GAAE,MAAM,GAAG,WAAW,GAAG,OAAgB,GACzD,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAmC7C;;;;;OAKG;IACG,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BnE;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"mission-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/mission-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,iCAAiC,CAAC;AAMzC,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;CACxD;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO;WAIO,WAAW,IAAI,sBAAsB;WAOrC,aAAa,IAAI,IAAI;IAQnC;;;;;;;OAOG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiJ5F;;;OAGG;YACW,sBAAsB;IAYpC;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgDhE;;;;;OAKG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBtD;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBvD,0CAA0C;IAC1C,gBAAuB,YAAY;;;;MAIxB;IAEX;;;;;;;OAOG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,iBAAiB,GAAE,MAAM,GAAG,WAAW,GAAG,OAAgB,GACzD,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAmC7C;;;;;OAKG;IACG,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BnE;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -15,6 +15,7 @@
15
15
  import { LoggerService } from '../core/logger.service.js';
16
16
  import { TaskPoolService } from '../task-pool/task-pool.service.js';
17
17
  import { createWorkItem } from '../../types/v2/work-item.types.js';
18
+ import { getEffectiveCadence, isMissionExecutable, } from '../../types/v2/mission.types.js';
18
19
  // ---------------------------------------------------------------------------
19
20
  // Service
20
21
  // ---------------------------------------------------------------------------
@@ -47,11 +48,32 @@ export class MissionExecutorService {
47
48
  * @returns Created WorkItem IDs
48
49
  */
49
50
  async processDecomposition(result, mission) {
51
+ // Approval gate: a proposed cascade child (approval.state !==
52
+ // 'approved') or a paused/terminal mission must never spawn WorkItems.
53
+ if (!isMissionExecutable(mission)) {
54
+ throw new Error(`Mission ${mission.id} is not executable ` +
55
+ `(status='${mission.status}', approval='${mission.approval?.state ?? 'none'}') — ` +
56
+ 'decomposition refused');
57
+ }
50
58
  // Policy check
51
59
  if (!mission.policy.canCreateTasks) {
52
60
  throw new Error(`Mission ${mission.id} policy does not allow task creation`);
53
61
  }
54
62
  const taskPool = TaskPoolService.getInstance();
63
+ const cadence = getEffectiveCadence(mission.policy);
64
+ // Daily item limit (executionCadence.dailyItemLimit, 0 = unlimited):
65
+ // count the WorkItems already created for this mission today (UTC) and
66
+ // refuse the whole decomposition if it would exceed the cap. All-or-
67
+ // nothing keeps the dependency graph consistent — a partially created
68
+ // phase would leave dependents blocked on tasks that never land.
69
+ if (cadence.dailyItemLimit > 0) {
70
+ const createdToday = await this.countItemsCreatedToday(taskPool, mission.id);
71
+ const requested = result.tasks.length;
72
+ if (createdToday + requested > cadence.dailyItemLimit) {
73
+ throw new Error(`Mission ${mission.id} daily item limit reached: ${createdToday} created today, ` +
74
+ `${requested} requested, limit ${cadence.dailyItemLimit} (policy.executionCadence.dailyItemLimit)`);
75
+ }
76
+ }
55
77
  const createdIds = [];
56
78
  const titleToId = new Map();
57
79
  const createdItems = new Map();
@@ -71,6 +93,11 @@ export class MissionExecutorService {
71
93
  priority: task.priority,
72
94
  krId: task.krId,
73
95
  krContribution: task.krContribution,
96
+ // executionCadence.requireVerificationGate: every executor-created
97
+ // WI must pass TL verification before it counts as done. Omitted
98
+ // (not `false`) when the gate is off so the pool's per-type
99
+ // default policy still applies.
100
+ ...(cadence.requireVerificationGate ? { requiresVerification: true } : {}),
74
101
  },
75
102
  });
76
103
  if (hasDeps) {
@@ -146,6 +173,15 @@ export class MissionExecutorService {
146
173
  });
147
174
  return createdIds;
148
175
  }
176
+ /**
177
+ * Number of WorkItems already created for a mission during the current
178
+ * UTC calendar day. Backs the `dailyItemLimit` gate.
179
+ */
180
+ async countItemsCreatedToday(taskPool, missionId) {
181
+ const today = new Date().toISOString().slice(0, 10);
182
+ const allItems = await taskPool.getAllItems();
183
+ return allItems.filter((wi) => wi.missionId === missionId && typeof wi.createdAt === 'string' && wi.createdAt.slice(0, 10) === today).length;
184
+ }
149
185
  // ---------------------------------------------------------------------------
150
186
  // Progress
151
187
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"mission-executor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/mission-executor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mission-executor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/mission-executor.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Mission Paths
3
+ *
4
+ * Single source of truth for WHERE Mission and Key Result documents live on
5
+ * disk. Before this module existed, seven services and controllers each
6
+ * carried their own `getMissionsDir()` and resolved the project root
7
+ * differently (`process.cwd()` here, `CREWLY_PROJECT_PATH` there,
8
+ * `CREWLY_MISSIONS_DIR` in exactly one place). Any deployment where those
9
+ * three disagree would have the reminder sweep, the review service and the
10
+ * REST controller reading three different stores — which is one of the
11
+ * reasons the OKR loop never closed at runtime.
12
+ *
13
+ * Precedence (highest first):
14
+ * 1. `CREWLY_MISSIONS_DIR` — absolute override of the store itself
15
+ * (used by tests to isolate a temp dir; may also be used by ops).
16
+ * 2. `CREWLY_PROJECT_PATH` — project root; store is `<root>/.crewly/missions`.
17
+ * 3. `process.cwd()` — legacy default; store is `<cwd>/.crewly/missions`.
18
+ *
19
+ * Every function here re-reads the environment on each call (no module-level
20
+ * caching) so tests that override `process.cwd` / env in `beforeEach` see the
21
+ * change without a module reload.
22
+ *
23
+ * @module services/v3/mission-paths
24
+ */
25
+ /** Env var that overrides the missions store directory outright. */
26
+ export declare const MISSIONS_DIR_ENV = "CREWLY_MISSIONS_DIR";
27
+ /** Folder under `.crewly` that holds one JSON file per Mission. */
28
+ export declare const MISSIONS_FOLDER = "missions";
29
+ /** Folder under `<missionsDir>/<missionId>/` that holds one JSON per KR. */
30
+ export declare const KEY_RESULTS_FOLDER = "key-results";
31
+ /**
32
+ * Resolve the project root the mission store hangs off.
33
+ *
34
+ * @returns `CREWLY_PROJECT_PATH` when set, otherwise `process.cwd()`
35
+ */
36
+ export declare function getMissionProjectPath(): string;
37
+ /**
38
+ * Resolve the absolute missions directory.
39
+ *
40
+ * @param projectPath - Optional explicit project root. When given it is used
41
+ * instead of `CREWLY_PROJECT_PATH` / `process.cwd()`, but the
42
+ * `CREWLY_MISSIONS_DIR` override still wins so a test-isolated store is
43
+ * honoured by every caller (including services constructed with an
44
+ * explicit project path such as {@link EscalationService}).
45
+ * @returns Absolute path to the directory holding `<missionId>.json` files
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * getMissionsDir(); // "/repo/.crewly/missions"
50
+ * ```
51
+ */
52
+ export declare function getMissionsDir(projectPath?: string): string;
53
+ /**
54
+ * Absolute path of a single mission document.
55
+ *
56
+ * @param missionId - Mission id
57
+ * @param projectPath - Optional explicit project root (see {@link getMissionsDir})
58
+ * @returns `<missionsDir>/<missionId>.json`
59
+ */
60
+ export declare function getMissionPath(missionId: string, projectPath?: string): string;
61
+ /**
62
+ * Absolute path of the directory holding a mission's Key Result documents.
63
+ *
64
+ * @param missionId - Mission id
65
+ * @param projectPath - Optional explicit project root (see {@link getMissionsDir})
66
+ * @returns `<missionsDir>/<missionId>/key-results`
67
+ */
68
+ export declare function getKeyResultsDir(missionId: string, projectPath?: string): string;
69
+ //# sourceMappingURL=mission-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mission-paths.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/mission-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD,mEAAmE;AACnE,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAMhD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhF"}