crewly 1.20.204 → 1.20.206

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 (218) hide show
  1. package/config/skills/_common/lib.sh +4 -3
  2. package/config/skills/agent/core/docs-comment/SKILL.md +121 -0
  3. package/config/skills/agent/core/docs-comment/execute.sh +131 -0
  4. package/config/skills/agent/core/docs-comment/execute.test.sh +105 -0
  5. package/config/skills/agent/core/project-tickets/SKILL.md +13 -1
  6. package/config/skills/agent/core/project-tickets/execute.sh +20 -6
  7. package/config/skills/agent/core/project-tickets/execute.test.sh +8 -2
  8. package/dist/backend/backend/src/constants.d.ts +76 -0
  9. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  10. package/dist/backend/backend/src/constants.js +82 -0
  11. package/dist/backend/backend/src/constants.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/google/google.controller.d.ts +30 -0
  13. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/google/google.controller.js +75 -0
  15. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/google/google.routes.d.ts +4 -0
  17. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  18. package/dist/backend/backend/src/controllers/google/google.routes.js +9 -1
  19. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  20. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
  21. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  22. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +9 -1
  23. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  24. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +1 -1
  25. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +1 -1
  26. package/dist/backend/backend/src/controllers/settings/role.controller.d.ts.map +1 -1
  27. package/dist/backend/backend/src/controllers/settings/role.controller.js +21 -7
  28. package/dist/backend/backend/src/controllers/settings/role.controller.js.map +1 -1
  29. package/dist/backend/backend/src/controllers/settings/settings.controller.d.ts.map +1 -1
  30. package/dist/backend/backend/src/controllers/settings/settings.controller.js +26 -20
  31. package/dist/backend/backend/src/controllers/settings/settings.controller.js.map +1 -1
  32. package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts +13 -0
  33. package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts.map +1 -1
  34. package/dist/backend/backend/src/controllers/skill/skill.controller.js +21 -0
  35. package/dist/backend/backend/src/controllers/skill/skill.controller.js.map +1 -1
  36. package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts +11 -1
  37. package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts.map +1 -1
  38. package/dist/backend/backend/src/controllers/system/system-control.controller.js +36 -2
  39. package/dist/backend/backend/src/controllers/system/system-control.controller.js.map +1 -1
  40. package/dist/backend/backend/src/index.d.ts +9 -0
  41. package/dist/backend/backend/src/index.d.ts.map +1 -1
  42. package/dist/backend/backend/src/index.js +28 -0
  43. package/dist/backend/backend/src/index.js.map +1 -1
  44. package/dist/backend/backend/src/middleware/agent-origin.middleware.d.ts +3 -2
  45. package/dist/backend/backend/src/middleware/agent-origin.middleware.d.ts.map +1 -1
  46. package/dist/backend/backend/src/middleware/agent-origin.middleware.js +5 -3
  47. package/dist/backend/backend/src/middleware/agent-origin.middleware.js.map +1 -1
  48. package/dist/backend/backend/src/middleware/caller-identity.middleware.d.ts +36 -0
  49. package/dist/backend/backend/src/middleware/caller-identity.middleware.d.ts.map +1 -1
  50. package/dist/backend/backend/src/middleware/caller-identity.middleware.js +97 -1
  51. package/dist/backend/backend/src/middleware/caller-identity.middleware.js.map +1 -1
  52. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts +4 -0
  53. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
  54. package/dist/backend/backend/src/routes/modules/terminal.routes.js +19 -5
  55. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  56. package/dist/backend/backend/src/scripts/input-guard-classify.d.ts +44 -0
  57. package/dist/backend/backend/src/scripts/input-guard-classify.d.ts.map +1 -0
  58. package/dist/backend/backend/src/scripts/input-guard-classify.js +116 -0
  59. package/dist/backend/backend/src/scripts/input-guard-classify.js.map +1 -0
  60. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +8 -0
  61. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +10 -0
  63. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  64. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +8 -0
  65. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -1
  66. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +21 -0
  67. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -1
  68. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +13 -27
  70. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  72. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  73. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  74. package/dist/backend/backend/src/services/google/docs-comments.service.d.ts +171 -0
  75. package/dist/backend/backend/src/services/google/docs-comments.service.d.ts.map +1 -0
  76. package/dist/backend/backend/src/services/google/docs-comments.service.js +218 -0
  77. package/dist/backend/backend/src/services/google/docs-comments.service.js.map +1 -0
  78. package/dist/backend/backend/src/services/google/google-api.client.d.ts +8 -0
  79. package/dist/backend/backend/src/services/google/google-api.client.d.ts.map +1 -1
  80. package/dist/backend/backend/src/services/google/google-api.client.js.map +1 -1
  81. package/dist/backend/backend/src/services/google/google-workspace-token.service.d.ts +10 -0
  82. package/dist/backend/backend/src/services/google/google-workspace-token.service.d.ts.map +1 -1
  83. package/dist/backend/backend/src/services/google/google-workspace-token.service.js +10 -0
  84. package/dist/backend/backend/src/services/google/google-workspace-token.service.js.map +1 -1
  85. package/dist/backend/backend/src/services/messaging/forced-delivery.d.ts +75 -0
  86. package/dist/backend/backend/src/services/messaging/forced-delivery.d.ts.map +1 -0
  87. package/dist/backend/backend/src/services/messaging/forced-delivery.js +87 -0
  88. package/dist/backend/backend/src/services/messaging/forced-delivery.js.map +1 -0
  89. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +130 -4
  90. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
  91. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +115 -3
  92. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
  93. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-goal.d.ts +122 -0
  94. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-goal.d.ts.map +1 -0
  95. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-goal.js +274 -0
  96. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-goal.js.map +1 -0
  97. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts +34 -2
  98. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +59 -2
  100. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
  101. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.js +1 -1
  102. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.js.map +1 -1
  103. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.d.ts +6 -1
  104. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.d.ts.map +1 -1
  105. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.js +9 -1
  106. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.js.map +1 -1
  107. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.d.ts +13 -3
  108. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.d.ts.map +1 -1
  109. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.js +28 -2
  110. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.js.map +1 -1
  111. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +92 -7
  112. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +316 -41
  114. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
  115. package/dist/backend/backend/src/services/settings/api-key-access.service.d.ts +126 -0
  116. package/dist/backend/backend/src/services/settings/api-key-access.service.d.ts.map +1 -0
  117. package/dist/backend/backend/src/services/settings/api-key-access.service.js +223 -0
  118. package/dist/backend/backend/src/services/settings/api-key-access.service.js.map +1 -0
  119. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/skill/skill-executor.service.js +17 -0
  121. package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
  122. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  123. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +29 -8
  124. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  125. package/dist/backend/backend/src/services/system/auto-update.service.d.ts +24 -0
  126. package/dist/backend/backend/src/services/system/auto-update.service.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/system/auto-update.service.js +78 -8
  128. package/dist/backend/backend/src/services/system/auto-update.service.js.map +1 -1
  129. package/dist/backend/backend/src/services/system/auto-update.utils.d.ts +1 -1
  130. package/dist/backend/backend/src/services/system/auto-update.utils.d.ts.map +1 -1
  131. package/dist/backend/backend/src/services/system/auto-update.utils.js.map +1 -1
  132. package/dist/backend/backend/src/services/system/input-guard-release-check.d.ts +162 -0
  133. package/dist/backend/backend/src/services/system/input-guard-release-check.d.ts.map +1 -0
  134. package/dist/backend/backend/src/services/system/input-guard-release-check.js +264 -0
  135. package/dist/backend/backend/src/services/system/input-guard-release-check.js.map +1 -0
  136. package/dist/backend/backend/src/services/system/system-control.service.d.ts +36 -0
  137. package/dist/backend/backend/src/services/system/system-control.service.d.ts.map +1 -1
  138. package/dist/backend/backend/src/services/system/system-control.service.js +109 -10
  139. package/dist/backend/backend/src/services/system/system-control.service.js.map +1 -1
  140. package/dist/backend/backend/src/types/skill.types.d.ts +16 -0
  141. package/dist/backend/backend/src/types/skill.types.d.ts.map +1 -1
  142. package/dist/backend/backend/src/types/skill.types.js.map +1 -1
  143. package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +21 -0
  144. package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
  145. package/dist/backend/backend/src/types/ticket-autopilot.types.js +48 -0
  146. package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
  147. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +1 -1
  148. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  149. package/dist/backend/backend/src/types/v2/work-item.types.js +1 -0
  150. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  151. package/dist/backend/build-info.json +2 -2
  152. package/dist/cli/backend/src/constants.d.ts +76 -0
  153. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  154. package/dist/cli/backend/src/constants.js +82 -0
  155. package/dist/cli/backend/src/constants.js.map +1 -1
  156. package/dist/cli/backend/src/scripts/input-guard-classify.d.ts +44 -0
  157. package/dist/cli/backend/src/scripts/input-guard-classify.d.ts.map +1 -0
  158. package/dist/cli/backend/src/scripts/input-guard-classify.js +116 -0
  159. package/dist/cli/backend/src/scripts/input-guard-classify.js.map +1 -0
  160. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +8 -0
  161. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  162. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +10 -0
  163. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  164. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +8 -0
  165. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -1
  166. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +21 -0
  167. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -1
  168. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  169. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +13 -27
  170. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  171. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  172. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  173. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  174. package/dist/cli/backend/src/services/messaging/drain-queued-delivery.d.ts +59 -0
  175. package/dist/cli/backend/src/services/messaging/drain-queued-delivery.d.ts.map +1 -0
  176. package/dist/cli/backend/src/services/messaging/drain-queued-delivery.js +70 -0
  177. package/dist/cli/backend/src/services/messaging/drain-queued-delivery.js.map +1 -0
  178. package/dist/cli/backend/src/services/messaging/forced-delivery.d.ts +75 -0
  179. package/dist/cli/backend/src/services/messaging/forced-delivery.d.ts.map +1 -0
  180. package/dist/cli/backend/src/services/messaging/forced-delivery.js +87 -0
  181. package/dist/cli/backend/src/services/messaging/forced-delivery.js.map +1 -0
  182. package/dist/cli/backend/src/services/messaging/spend-capped-delivery.d.ts +54 -0
  183. package/dist/cli/backend/src/services/messaging/spend-capped-delivery.d.ts.map +1 -0
  184. package/dist/cli/backend/src/services/messaging/spend-capped-delivery.js +65 -0
  185. package/dist/cli/backend/src/services/messaging/spend-capped-delivery.js.map +1 -0
  186. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  187. package/dist/cli/backend/src/services/skill/skill-executor.service.js +17 -0
  188. package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -1
  189. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  190. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +29 -8
  191. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  192. package/dist/cli/backend/src/services/system/auto-update.utils.d.ts +1 -1
  193. package/dist/cli/backend/src/services/system/auto-update.utils.d.ts.map +1 -1
  194. package/dist/cli/backend/src/services/system/auto-update.utils.js.map +1 -1
  195. package/dist/cli/backend/src/services/system/input-guard-release-check.d.ts +162 -0
  196. package/dist/cli/backend/src/services/system/input-guard-release-check.d.ts.map +1 -0
  197. package/dist/cli/backend/src/services/system/input-guard-release-check.js +264 -0
  198. package/dist/cli/backend/src/services/system/input-guard-release-check.js.map +1 -0
  199. package/dist/cli/backend/src/types/skill.types.d.ts +16 -0
  200. package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -1
  201. package/dist/cli/backend/src/types/skill.types.js.map +1 -1
  202. package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +21 -0
  203. package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
  204. package/dist/cli/backend/src/types/ticket-autopilot.types.js +48 -0
  205. package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
  206. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +1 -1
  207. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  208. package/dist/cli/backend/src/types/v2/work-item.types.js +1 -0
  209. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  210. package/dist/cli/cli/src/commands/doctor.d.ts +20 -0
  211. package/dist/cli/cli/src/commands/doctor.d.ts.map +1 -1
  212. package/dist/cli/cli/src/commands/doctor.js +49 -0
  213. package/dist/cli/cli/src/commands/doctor.js.map +1 -1
  214. package/dist/cli/cli/src/index.js +9 -2
  215. package/dist/cli/cli/src/index.js.map +1 -1
  216. package/frontend/dist/assets/{index-63a33dbf.js → index-f64b333a.js} +258 -258
  217. package/frontend/dist/index.html +1 -1
  218. package/package.json +2 -1
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Ticket autopilot — the project's goal and open experiments for the goal
3
+ * replan (specs/2026-10-04-autopilot-goal-replan.md).
4
+ *
5
+ * The goal comes from the two places project goals live today:
6
+ * - the goals log `<project>/.crewly/goals/goals.md` (`set_goal` writes it,
7
+ * `get_goals` and the mission card read it): its entries of the last 30
8
+ * days, newest first (the log is append-only, so older ones are history);
9
+ * - active project OKRs: missions with `status: active`, this project's id,
10
+ * and approval absent or approved.
11
+ *
12
+ * The parsing is pure (unit-tested); {@link readProjectGoal} does the reads
13
+ * and never throws (a read failure is "no goal").
14
+ *
15
+ * @module services/project-tickets/ticket-autopilot-goal
16
+ */
17
+ import * as fs from 'fs/promises';
18
+ import * as path from 'path';
19
+ import { MEMORY_CONSTANTS, TICKET_AUTOPILOT_CONSTANTS } from '../../constants.js';
20
+ import { sortMissionsByPriority } from '../../types/v2/mission.types.js';
21
+ import { resolveProjectDataDir } from '../core/crewly-home.utils.js';
22
+ import { getMissionsDir } from '../v3/mission-paths.js';
23
+ /**
24
+ * Cap text at a number of characters.
25
+ *
26
+ * @param text - Text
27
+ * @param max - Max characters
28
+ * @returns Text, cut with an ellipsis when longer
29
+ */
30
+ function cap(text, max) {
31
+ return text.length > max ? `${text.slice(0, Math.max(0, max - 1)).trimEnd()}…` : text;
32
+ }
33
+ /**
34
+ * The newest entries of a goals log (`goals.md`), newest first.
35
+ *
36
+ * Entries are `### [<iso>] Set by <who>` blocks. A file with only its
37
+ * `# Project Goals` header (or blank) has no goal. Text without entry
38
+ * headers is taken as one goal.
39
+ *
40
+ * The log is append-only, so with a `window` only entries from the last
41
+ * {@link TICKET_AUTOPILOT_CONSTANTS.REPLAN_GOAL_ACTIVE_DAYS} days count as
42
+ * active; an entry (or a header-less file) without a readable date uses the
43
+ * file's modification time, and is kept when that is unknown too.
44
+ *
45
+ * @param raw - File contents (null = no file)
46
+ * @param maxEntries - Most entries kept
47
+ * @param maxChars - Most characters returned
48
+ * @param window - Clock, the file's mtime, and the active window (days)
49
+ * @returns Goal markdown, or null when there is none
50
+ */
51
+ export function goalFromGoalsLog(raw, maxEntries = TICKET_AUTOPILOT_CONSTANTS.REPLAN_GOAL_MAX_ENTRIES, maxChars = TICKET_AUTOPILOT_CONSTANTS.REPLAN_GOAL_MAX_CHARS, window) {
52
+ if (!raw)
53
+ return null;
54
+ const since = window ? window.now - (window.activeDays ?? TICKET_AUTOPILOT_CONSTANTS.REPLAN_GOAL_ACTIVE_DAYS) * 24 * 60 * 60 * 1000 : null;
55
+ const active = (atMs) => {
56
+ if (since === null)
57
+ return true;
58
+ const t = atMs ?? window?.fileMtimeMs ?? null;
59
+ return t === null || t >= since;
60
+ };
61
+ const chunks = raw.split(/^###\s+/m);
62
+ const entries = [];
63
+ for (const chunk of chunks.slice(1)) {
64
+ const [head, ...body] = chunk.split(/\r?\n/);
65
+ const text = body.join('\n').trim();
66
+ if (!text)
67
+ continue;
68
+ const when = /^\[([^\]]+)\]\s*(.*)$/.exec(head.trim());
69
+ const stamp = when ? Date.parse(when[1]) : NaN;
70
+ if (!active(Number.isFinite(stamp) ? stamp : null))
71
+ continue;
72
+ const label = when ? `${when[1].slice(0, 10)}${when[2] ? `, ${when[2].trim().toLowerCase()}` : ''}` : head.trim();
73
+ entries.push(`${label ? `(${label}) ` : ''}${text}`);
74
+ }
75
+ if (entries.length === 0) {
76
+ // Entries, but none active: no goal.
77
+ if (chunks.length > 1)
78
+ return null;
79
+ if (!active(null))
80
+ return null;
81
+ // No entry headers: the file itself (minus a leading `# …` title) is the goal.
82
+ const text = chunks[0]
83
+ .split(/\r?\n/)
84
+ .filter((l, i) => !(i === 0 && /^#\s/.test(l)) && !/^\s*<!--.*-->\s*$/.test(l))
85
+ .join('\n')
86
+ .replace(/^#\s+Project Goals\s*$/im, '')
87
+ .trim();
88
+ return text ? cap(text, maxChars) : null;
89
+ }
90
+ const newest = entries.reverse().slice(0, Math.max(1, maxEntries));
91
+ return cap(newest.join('\n\n'), maxChars);
92
+ }
93
+ /**
94
+ * The active OKRs of a project: active missions with its id whose approval
95
+ * is absent or approved, highest priority (then newest) first.
96
+ *
97
+ * @param missions - Missions read from the store(s)
98
+ * @param projectId - Project id
99
+ * @returns Active project missions
100
+ */
101
+ export function activeProjectMissions(missions, projectId) {
102
+ const seen = new Set();
103
+ return sortMissionsByPriority(missions.filter((m) => {
104
+ if (!m || typeof m !== 'object' || typeof m.objective !== 'string' || seen.has(m.id))
105
+ return false;
106
+ seen.add(m.id);
107
+ return m.status === 'active' && m.projectId === projectId && (m.approval === undefined || m.approval?.state === 'approved');
108
+ }));
109
+ }
110
+ /**
111
+ * Missions as goal text: the objective and its success criteria.
112
+ *
113
+ * @param missions - Active project missions
114
+ * @param maxChars - Most characters
115
+ * @returns Markdown, or null with none
116
+ */
117
+ export function goalFromMissions(missions, maxChars = TICKET_AUTOPILOT_CONSTANTS.REPLAN_GOAL_MAX_CHARS) {
118
+ if (missions.length === 0)
119
+ return null;
120
+ const blocks = missions.map((m) => {
121
+ const lines = [`OKR: ${m.objective.trim()}`];
122
+ for (const c of m.successCriteria ?? [])
123
+ if (c && c.trim())
124
+ lines.push(`- ${c.trim()}`);
125
+ return lines.join('\n');
126
+ });
127
+ return cap(blocks.join('\n\n'), maxChars);
128
+ }
129
+ /**
130
+ * Combine the goals log and the OKRs into one goal.
131
+ *
132
+ * @param log - Goal text from goals.md
133
+ * @param okr - Goal text from the missions
134
+ * @returns Goal, or null when neither has one
135
+ */
136
+ export function combineGoal(log, okr) {
137
+ const sources = [];
138
+ const parts = [];
139
+ if (log) {
140
+ sources.push('goals_log');
141
+ parts.push(log);
142
+ }
143
+ if (okr) {
144
+ sources.push('okr');
145
+ parts.push(okr);
146
+ }
147
+ if (parts.length === 0)
148
+ return null;
149
+ return { text: cap(parts.join('\n\n'), TICKET_AUTOPILOT_CONSTANTS.REPLAN_GOAL_MAX_CHARS * 2), sources };
150
+ }
151
+ /**
152
+ * Read every mission JSON file in a folder (missing folder = none).
153
+ *
154
+ * @param dir - Missions folder
155
+ * @returns Parsed missions
156
+ */
157
+ async function readMissionsDir(dir) {
158
+ let files;
159
+ try {
160
+ files = await fs.readdir(dir);
161
+ }
162
+ catch {
163
+ return [];
164
+ }
165
+ const out = [];
166
+ for (const file of files) {
167
+ if (!file.endsWith('.json'))
168
+ continue;
169
+ try {
170
+ out.push(JSON.parse(await fs.readFile(path.join(dir, file), 'utf-8')));
171
+ }
172
+ catch {
173
+ // An unreadable mission file is skipped.
174
+ }
175
+ }
176
+ return out;
177
+ }
178
+ /**
179
+ * The project's goals log path (where GoalTrackingService writes it).
180
+ *
181
+ * @param projectPath - Project root
182
+ * @returns `<project data dir>/goals/goals.md`
183
+ */
184
+ function goalsLogPath(projectPath) {
185
+ return path.join(resolveProjectDataDir(projectPath), MEMORY_CONSTANTS.PATHS.GOALS_DIR, MEMORY_CONSTANTS.PATHS.GOALS_FILE);
186
+ }
187
+ /**
188
+ * Modification time of a file or folder, or null.
189
+ *
190
+ * @param p - Path
191
+ * @returns Epoch ms or null
192
+ */
193
+ async function mtimeOf(p) {
194
+ try {
195
+ return (await fs.stat(p)).mtimeMs;
196
+ }
197
+ catch {
198
+ return null;
199
+ }
200
+ }
201
+ /**
202
+ * When the project's goal last changed, from file times only (no reads):
203
+ * the goals log, and the missions folders (a mission written or replaced
204
+ * renames into its folder). Lifts a replan backoff. A change to another
205
+ * project's mission in the shared store also counts: that only lifts a
206
+ * backoff early, never holds one.
207
+ *
208
+ * @param project - Project path
209
+ * @returns Epoch ms, or null when nothing exists
210
+ */
211
+ export async function goalChangedAt(project) {
212
+ const dirs = [...new Set([getMissionsDir(project.path), getMissionsDir()])];
213
+ const times = (await Promise.all([goalsLogPath(project.path), ...dirs].map(mtimeOf))).filter((t) => t !== null);
214
+ return times.length > 0 ? Math.max(...times) : null;
215
+ }
216
+ /**
217
+ * The project's active goal: the goals-log entries of the last
218
+ * REPLAN_GOAL_ACTIVE_DAYS days (newest first) plus its active OKRs (the
219
+ * project's missions folder and the shared store; their own status
220
+ * decides). Never throws.
221
+ *
222
+ * @param project - Project id and path
223
+ * @param now - Clock
224
+ * @returns Goal, or null when the project has none
225
+ */
226
+ export async function readProjectGoal(project, now = new Date()) {
227
+ let log = null;
228
+ try {
229
+ const file = goalsLogPath(project.path);
230
+ const raw = await fs.readFile(file, 'utf-8').catch((err) => {
231
+ if (err.code === 'ENOENT')
232
+ return null;
233
+ throw err;
234
+ });
235
+ log = goalFromGoalsLog(raw, undefined, undefined, { now: now.getTime(), fileMtimeMs: raw === null ? null : await mtimeOf(file) });
236
+ }
237
+ catch {
238
+ log = null;
239
+ }
240
+ let okr = null;
241
+ try {
242
+ const dirs = [...new Set([getMissionsDir(project.path), getMissionsDir()])];
243
+ const missions = (await Promise.all(dirs.map(readMissionsDir))).flat();
244
+ okr = goalFromMissions(activeProjectMissions(missions, project.id));
245
+ }
246
+ catch {
247
+ okr = null;
248
+ }
249
+ return combineGoal(log, okr);
250
+ }
251
+ /**
252
+ * Open experiment cards (planned or running) of a project: its autopilot
253
+ * scope is the project, or its ticket link names the project (id, name or
254
+ * path).
255
+ *
256
+ * @param experiments - Every experiment
257
+ * @param project - Project
258
+ * @param max - Most returned
259
+ * @returns Cards for the replan brief, newest first
260
+ */
261
+ export function openExperimentsOf(experiments, project, max = TICKET_AUTOPILOT_CONSTANTS.REPLAN_MAX_EXPERIMENTS) {
262
+ const refs = new Set([project.id, project.name.toLowerCase(), path.resolve(project.path)]);
263
+ const names = (ref) => {
264
+ if (!ref)
265
+ return false;
266
+ return refs.has(ref) || refs.has(ref.toLowerCase()) || (ref.startsWith('/') && refs.has(path.resolve(ref)));
267
+ };
268
+ return experiments
269
+ .filter((e) => (e.status === 'planned' || e.status === 'running') && (e.autopilot?.projectId === project.id || (e.ticket?.kind === 'project' && names(e.ticket.project))))
270
+ .sort((a, b) => (b.createdAt ?? '').localeCompare(a.createdAt ?? ''))
271
+ .slice(0, Math.max(0, max))
272
+ .map((e) => ({ id: e.id, title: e.title, hypothesis: e.hypothesis, status: e.status, ...(e.dueAt ? { dueAt: e.dueAt } : {}) }));
273
+ }
274
+ //# sourceMappingURL=ticket-autopilot-goal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-autopilot-goal.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-goal.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * Ticket autopilot — the texts (specs/2026-09-30-ticket-autopilot.md §3, §5):
3
- * the driver's triage brief, the owner's batched questions and the evening
4
- * digest. Pure functions; the owner-facing texts are phone-sized and carry no
3
+ * the driver's triage brief, the goal replan brief
4
+ * (specs/2026-10-04-autopilot-goal-replan.md), the owner's batched questions
5
+ * and the evening digest. Pure functions; the owner-facing texts are phone-sized and carry no
5
6
  * harness mechanics (no WorkItem ids, claims or pool states).
6
7
  *
7
8
  * @module services/project-tickets/ticket-autopilot-messages
8
9
  */
9
10
  import type { ProjectTicket } from '../../types/project-ticket.types.js';
10
11
  import type { MemberAvailability, TriageCandidate } from './ticket-autopilot-decision.js';
12
+ import type { ReplanExperiment } from './ticket-autopilot-goal.js';
11
13
  /**
12
14
  * Actions that need the owner's explicit OK even with the autopilot on.
13
15
  * Spelled out in the triage brief and in the team-leader prompt.
@@ -64,6 +66,36 @@ export declare function formatAge(iso: string, now: number): string;
64
66
  * @returns Markdown brief
65
67
  */
66
68
  export declare function buildTriageBrief(input: TriageBriefInput): string;
69
+ /** The ask of a goal replan, word for word (brief and WorkItem description). */
70
+ export declare const REPLAN_ASK = "Open the next tickets toward this goal, or say why there are none.";
71
+ /** Inputs of {@link buildReplanBrief}. */
72
+ export interface ReplanBriefInput {
73
+ project: {
74
+ id: string;
75
+ name: string;
76
+ };
77
+ /** The active goal (goals log and / or project OKRs) */
78
+ goal: string;
79
+ /** Tickets closed (done / cancelled) in the lookback window, newest first */
80
+ closed: ProjectTicket[];
81
+ /** Days the closed list covers */
82
+ lookbackDays: number;
83
+ /** Open experiment cards of the project */
84
+ experiments: ReplanExperiment[];
85
+ members: TriageBriefMember[];
86
+ maxInFlightPerMember: number;
87
+ /** Clock (epoch ms), for ages */
88
+ now: number;
89
+ }
90
+ /**
91
+ * The goal replan brief the driver receives when the project has a goal but
92
+ * nothing is left to triage (WorkItem `briefMarkdown`). The driver opens the
93
+ * tickets; the autopilot never makes them ready or starts work.
94
+ *
95
+ * @param input - Project, goal, closed tickets, open experiments, team
96
+ * @returns Markdown brief
97
+ */
98
+ export declare function buildReplanBrief(input: ReplanBriefInput): string;
67
99
  /** One project's section of the digest. */
68
100
  export interface DigestProject {
69
101
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-autopilot-messages.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAKxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,MAAM,EAIjE,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAInF,CAAC;AAEF,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4EAA4E;IAC5E,YAAY,EAAE,kBAAkB,CAAC;IACjC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAwCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAsDhE;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAwBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,GAAG,IAAI,CAa3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGjI"}
1
+ {"version":3,"file":"ticket-autopilot-messages.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-messages.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Ticket autopilot — the texts (specs/2026-09-30-ticket-autopilot.md §3, §5):
3
- * the driver's triage brief, the owner's batched questions and the evening
4
- * digest. Pure functions; the owner-facing texts are phone-sized and carry no
3
+ * the driver's triage brief, the goal replan brief
4
+ * (specs/2026-10-04-autopilot-goal-replan.md), the owner's batched questions
5
+ * and the evening digest. Pure functions; the owner-facing texts are phone-sized and carry no
5
6
  * harness mechanics (no WorkItem ids, claims or pool states).
6
7
  *
7
8
  * @module services/project-tickets/ticket-autopilot-messages
@@ -153,6 +154,62 @@ export function buildTriageBrief(input) {
153
154
  lines.push(`Full ticket: \`bash ${tk} show --project ${p} --id <ID>\`.`);
154
155
  return lines.join('\n');
155
156
  }
157
+ /** The ask of a goal replan, word for word (brief and WorkItem description). */
158
+ export const REPLAN_ASK = 'Open the next tickets toward this goal, or say why there are none.';
159
+ /**
160
+ * The goal replan brief the driver receives when the project has a goal but
161
+ * nothing is left to triage (WorkItem `briefMarkdown`). The driver opens the
162
+ * tickets; the autopilot never makes them ready or starts work.
163
+ *
164
+ * @param input - Project, goal, closed tickets, open experiments, team
165
+ * @returns Markdown brief
166
+ */
167
+ export function buildReplanBrief(input) {
168
+ const p = input.project.id;
169
+ const tk = '$AGENT_SKILLS_PATH/core/project-tickets/execute.sh';
170
+ const lines = [
171
+ `# Goal replan — ${input.project.name}`,
172
+ '',
173
+ 'Ticket autopilot is on for this project, nothing is left to triage, and someone on the team is idle.',
174
+ `**${REPLAN_ASK}**`,
175
+ 'Then complete this WorkItem (complete-task with its id) with the ids of the tickets you opened, or one line saying why there are none.',
176
+ '',
177
+ '## Goal',
178
+ '',
179
+ input.goal.trim(),
180
+ '',
181
+ '## How to open them',
182
+ '',
183
+ `- Create each ticket: \`bash ${tk} create --project ${p} --title "…" --acceptance "…" [--priority P1] [--labels a,b] [--status ready]\`. Small, concrete tickets with a clear acceptance line.`,
184
+ `- Make a ticket ready (\`--status ready\`) or assign it (\`… assign --project ${p} --id <ID> --to <member>\`) when the team should start it, as you would in a triage; leave it in the backlog when it needs more thought. At most ${input.maxInFlightPerMember} ticket${input.maxInFlightPerMember === 1 ? '' : 's'} in progress per member.`,
185
+ `- If the next step needs the owner's decision, open the ticket and use \`… ask-owner --project ${p} --id <ID> …\` on it; do not message the owner yourself.`,
186
+ '- If the goal is met, blocked, or out of the team\'s hands, open nothing and say why in the completion line.',
187
+ '- The autopilot never makes your tickets ready or starts the work itself: you decide that.',
188
+ '',
189
+ '## Boundaries — the autopilot does NOT lift these',
190
+ '',
191
+ 'Even with the autopilot on, these need the owner\'s explicit OK:',
192
+ ...TICKET_AUTOPILOT_BOUNDARIES.map((b) => `- ${b};`),
193
+ '',
194
+ `## Closed in the last ${input.lookbackDays} day${input.lookbackDays === 1 ? '' : 's'}`,
195
+ '',
196
+ ];
197
+ if (input.closed.length === 0)
198
+ lines.push('- (none)');
199
+ for (const t of input.closed) {
200
+ lines.push(`- ${t.id} · ${t.status} ${formatAge(t.updatedAt, input.now)} ago · ${excerpt(t.title, 120)}${t.labels.length > 0 ? ` · labels: ${t.labels.join(', ')}` : ''}`);
201
+ }
202
+ lines.push('', '## Open experiments', '');
203
+ if (input.experiments.length === 0)
204
+ lines.push('- (none)');
205
+ for (const e of input.experiments) {
206
+ lines.push(`- ${e.id} · ${e.status}${e.dueAt ? ` · result due ${e.dueAt.slice(0, 10)}` : ''} · ${excerpt(e.title, 120)}`);
207
+ if (e.hypothesis)
208
+ lines.push(` hypothesis: ${excerpt(e.hypothesis, 240)}`);
209
+ }
210
+ lines.push('', '## Who does what', '', ...TICKET_AUTOPILOT_ASSIGNMENT_GUIDANCE.map((g) => `- ${g}`), '', '## Team', '', ...(input.members.length > 0 ? input.members.flatMap(formatBriefMember) : ['- (no members found)']), '', `All tickets: \`bash ${tk} list --project ${p}\`.`);
211
+ return lines.join('\n');
212
+ }
156
213
  /**
157
214
  * One digest section line: count plus the first few tickets.
158
215
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-autopilot-messages.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket-autopilot-messages.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-messages.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,7 @@ export function topStallCauses(s, max = 3) {
137
137
  */
138
138
  export function statsLines(s) {
139
139
  const lines = [
140
- `Tickets: ${s.triaged} triaged, ${s.started} started, ${s.done} done, ${s.verified} verified, ${s.sentBack} sent back, ${s.stalled} stalled`,
140
+ `Tickets: ${s.triaged} triaged, ${s.started} started, ${s.done} done, ${s.verified} verified, ${s.sentBack} sent back, ${s.stalled} stalled${s.replans ? `; ${s.replans} goal replan${s.replans === 1 ? '' : 's'}` : ''}`,
141
141
  `Cycle time: start → done median ${s.cycleTime.toDone.medianMs === null ? 'n/a' : durationWords(s.cycleTime.toDone.medianMs)}, start → verified median ${s.cycleTime.toVerified.medianMs === null ? 'n/a' : durationWords(s.cycleTime.toVerified.medianMs)}`,
142
142
  `Owner touches: ${s.ownerTouches.total} (answered ${s.ownerTouches.answered}, approved ${s.ownerTouches.approved}, sent back ${s.ownerTouches.sentBack}, corrected ${s.ownerTouches.corrected})`,
143
143
  `Stalls: ${s.stalls.count} (${durationWords(s.stalls.totalMs)})${s.stalls.count > 0 ? ` — ${topStallCauses(s).join('; ')}` : ''}`,
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-autopilot-retro.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-retro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket-autopilot-retro.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-retro.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Ticket autopilot stats (specs/2026-10-03-autopilot-experiments.md §2):
3
3
  * per day and in total, what the autopilot moved (tickets triaged / started /
4
- * done / verified / sent back / stalled, cycle times), how much the owner had
4
+ * done / verified / sent back / stalled, cycle times, goal replans), how much the owner had
5
5
  * to step in, where it stalled and why, how much the harness pushed, what it
6
6
  * cost against the daily budget, and how long it sat paused on the budget.
7
7
  *
@@ -92,6 +92,11 @@ export interface BudgetUse {
92
92
  /** Numbers of a day, or of the whole range. */
93
93
  export interface AutopilotPeriodStats {
94
94
  triaged: number;
95
+ /**
96
+ * Goal replans: the driver woken to open the next tickets toward the goal
97
+ * (specs/2026-10-04-autopilot-goal-replan.md). Not an owner touch.
98
+ */
99
+ replans: number;
95
100
  started: number;
96
101
  done: number;
97
102
  verified: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-autopilot-stats.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket-autopilot-stats.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-stats.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Ticket autopilot stats (specs/2026-10-03-autopilot-experiments.md §2):
3
3
  * per day and in total, what the autopilot moved (tickets triaged / started /
4
- * done / verified / sent back / stalled, cycle times), how much the owner had
4
+ * done / verified / sent back / stalled, cycle times, goal replans), how much the owner had
5
5
  * to step in, where it stalled and why, how much the harness pushed, what it
6
6
  * cost against the daily budget, and how long it sat paused on the budget.
7
7
  *
@@ -34,6 +34,7 @@ function emptyByCause() {
34
34
  function newAcc() {
35
35
  return {
36
36
  triaged: new Set(),
37
+ replans: 0,
37
38
  started: new Set(),
38
39
  done: new Set(),
39
40
  verified: new Set(),
@@ -75,6 +76,7 @@ export function cycleStat(xs) {
75
76
  function finish(a, budget) {
76
77
  return {
77
78
  triaged: a.triaged.size,
79
+ replans: a.replans,
78
80
  started: a.started.size,
79
81
  done: a.done.size,
80
82
  verified: a.verified.size,
@@ -329,6 +331,12 @@ export function computeAutopilotStats(input) {
329
331
  both((a) => a.triaged.add(id));
330
332
  continue;
331
333
  }
334
+ if (run && action === 'replan') {
335
+ // Project-wide (no ticket yet): a label filter does not hide it.
336
+ if (trace.entry.root.kind === 'autopilot')
337
+ both((a) => (a.replans += 1));
338
+ continue;
339
+ }
332
340
  if (t < workStart)
333
341
  continue;
334
342
  const usage = usageOfEvent(e);