@telora/daemon 0.15.1 → 0.15.3

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 (356) hide show
  1. package/README.md +11 -11
  2. package/build-info.json +2 -2
  3. package/dist/assembly-engine.d.ts +1 -1
  4. package/dist/assembly-engine.d.ts.map +1 -1
  5. package/dist/assembly-resolvers.js +41 -41
  6. package/dist/assembly-resolvers.js.map +1 -1
  7. package/dist/branch-status.d.ts +4 -4
  8. package/dist/branch-status.d.ts.map +1 -1
  9. package/dist/branch-status.js +23 -23
  10. package/dist/branch-status.js.map +1 -1
  11. package/dist/cli/connect.js +1 -1
  12. package/dist/cli/connect.js.map +1 -1
  13. package/dist/completion-detector.d.ts +1 -1
  14. package/dist/completion-detector.js +1 -1
  15. package/dist/completion-handler.d.ts +1 -1
  16. package/dist/completion-handler.js +4 -4
  17. package/dist/completion-handler.js.map +1 -1
  18. package/dist/condition-evaluators.js +4 -4
  19. package/dist/condition-evaluators.js.map +1 -1
  20. package/dist/control-state.d.ts +6 -6
  21. package/dist/control-state.d.ts.map +1 -1
  22. package/dist/control-state.js +43 -43
  23. package/dist/control-state.js.map +1 -1
  24. package/dist/crash-recovery-scan.d.ts +1 -1
  25. package/dist/crash-recovery-scan.js +20 -20
  26. package/dist/crash-recovery-scan.js.map +1 -1
  27. package/dist/crash-recovery-types.d.ts +3 -3
  28. package/dist/crash-recovery-types.d.ts.map +1 -1
  29. package/dist/crash-recovery-types.js +2 -2
  30. package/dist/crash-recovery-types.js.map +1 -1
  31. package/dist/crash-recovery.d.ts +3 -3
  32. package/dist/crash-recovery.d.ts.map +1 -1
  33. package/dist/crash-recovery.js +21 -21
  34. package/dist/crash-recovery.js.map +1 -1
  35. package/dist/daemon-process.d.ts +1 -1
  36. package/dist/daemon-process.d.ts.map +1 -1
  37. package/dist/dag-validator.d.ts +6 -6
  38. package/dist/dag-validator.d.ts.map +1 -1
  39. package/dist/dag-validator.js +2 -2
  40. package/dist/dag-validator.js.map +1 -1
  41. package/dist/delivery-guards.d.ts +1 -1
  42. package/dist/delivery-guards.js +1 -1
  43. package/dist/delivery-lifecycle.d.ts +5 -5
  44. package/dist/delivery-lifecycle.d.ts.map +1 -1
  45. package/dist/delivery-lifecycle.js +12 -12
  46. package/dist/delivery-lifecycle.js.map +1 -1
  47. package/dist/delivery-merge.js +1 -1
  48. package/dist/delivery-merge.js.map +1 -1
  49. package/dist/dependency-resolver.d.ts +7 -7
  50. package/dist/dependency-resolver.d.ts.map +1 -1
  51. package/dist/dependency-resolver.js.map +1 -1
  52. package/dist/directive-executor.d.ts +15 -15
  53. package/dist/directive-executor.d.ts.map +1 -1
  54. package/dist/directive-executor.js +76 -76
  55. package/dist/directive-executor.js.map +1 -1
  56. package/dist/evaluation-context.d.ts +2 -2
  57. package/dist/evaluation-context.d.ts.map +1 -1
  58. package/dist/evaluation-context.js +4 -4
  59. package/dist/evaluation-context.js.map +1 -1
  60. package/dist/focus-completion-event.d.ts +97 -0
  61. package/dist/focus-completion-event.d.ts.map +1 -0
  62. package/dist/focus-completion-event.js +257 -0
  63. package/dist/focus-completion-event.js.map +1 -0
  64. package/dist/focus-completion.d.ts +85 -0
  65. package/dist/focus-completion.d.ts.map +1 -0
  66. package/dist/focus-completion.js +459 -0
  67. package/dist/focus-completion.js.map +1 -0
  68. package/dist/focus-engine.d.ts +47 -0
  69. package/dist/focus-engine.d.ts.map +1 -0
  70. package/dist/focus-engine.js +421 -0
  71. package/dist/focus-engine.js.map +1 -0
  72. package/dist/focus-executor.d.ts +55 -0
  73. package/dist/focus-executor.d.ts.map +1 -0
  74. package/dist/focus-executor.js +549 -0
  75. package/dist/focus-executor.js.map +1 -0
  76. package/dist/focus-lifecycle.d.ts +61 -0
  77. package/dist/focus-lifecycle.d.ts.map +1 -0
  78. package/dist/focus-lifecycle.js +544 -0
  79. package/dist/focus-lifecycle.js.map +1 -0
  80. package/dist/focus-merge.d.ts +77 -0
  81. package/dist/focus-merge.d.ts.map +1 -0
  82. package/dist/focus-merge.js +378 -0
  83. package/dist/focus-merge.js.map +1 -0
  84. package/dist/focus-prompt-builder.d.ts +35 -0
  85. package/dist/focus-prompt-builder.d.ts.map +1 -0
  86. package/dist/focus-prompt-builder.js +138 -0
  87. package/dist/focus-prompt-builder.js.map +1 -0
  88. package/dist/focus-provisioning.d.ts +16 -0
  89. package/dist/focus-provisioning.d.ts.map +1 -0
  90. package/dist/focus-provisioning.js +119 -0
  91. package/dist/focus-provisioning.js.map +1 -0
  92. package/dist/focus-spawn-helpers.d.ts +67 -0
  93. package/dist/focus-spawn-helpers.d.ts.map +1 -0
  94. package/dist/focus-spawn-helpers.js +160 -0
  95. package/dist/focus-spawn-helpers.js.map +1 -0
  96. package/dist/focus-team-lifecycle.d.ts +50 -0
  97. package/dist/focus-team-lifecycle.d.ts.map +1 -0
  98. package/dist/focus-team-lifecycle.js +256 -0
  99. package/dist/focus-team-lifecycle.js.map +1 -0
  100. package/dist/focus-team-state.d.ts +24 -0
  101. package/dist/focus-team-state.d.ts.map +1 -0
  102. package/dist/focus-team-state.js +43 -0
  103. package/dist/focus-team-state.js.map +1 -0
  104. package/dist/focus-worktree-state.d.ts +47 -0
  105. package/dist/focus-worktree-state.d.ts.map +1 -0
  106. package/dist/focus-worktree-state.js +104 -0
  107. package/dist/focus-worktree-state.js.map +1 -0
  108. package/dist/git-merge.d.ts +5 -5
  109. package/dist/git-merge.d.ts.map +1 -1
  110. package/dist/git-merge.js +5 -5
  111. package/dist/git-merge.js.map +1 -1
  112. package/dist/git-state-detector.d.ts +1 -1
  113. package/dist/git-state-detector.js +9 -9
  114. package/dist/git-state-detector.js.map +1 -1
  115. package/dist/git-utils.d.ts +1 -1
  116. package/dist/git-utils.js +1 -1
  117. package/dist/git.d.ts +2 -2
  118. package/dist/git.d.ts.map +1 -1
  119. package/dist/git.js +3 -3
  120. package/dist/git.js.map +1 -1
  121. package/dist/heartbeat.d.ts +4 -4
  122. package/dist/heartbeat.d.ts.map +1 -1
  123. package/dist/heartbeat.js +7 -7
  124. package/dist/heartbeat.js.map +1 -1
  125. package/dist/index.d.ts +1 -1
  126. package/dist/index.js +10 -10
  127. package/dist/index.js.map +1 -1
  128. package/dist/listener-auto-advance.d.ts +2 -2
  129. package/dist/listener-auto-advance.js +21 -21
  130. package/dist/listener-auto-advance.js.map +1 -1
  131. package/dist/listener.d.ts +12 -12
  132. package/dist/listener.d.ts.map +1 -1
  133. package/dist/listener.js +80 -75
  134. package/dist/listener.js.map +1 -1
  135. package/dist/loop-engine.d.ts +20 -20
  136. package/dist/loop-engine.d.ts.map +1 -1
  137. package/dist/loop-engine.js +82 -82
  138. package/dist/loop-engine.js.map +1 -1
  139. package/dist/loop-event-bus.d.ts +5 -5
  140. package/dist/loop-event-bus.d.ts.map +1 -1
  141. package/dist/loop-event-bus.js +3 -3
  142. package/dist/loop-llm-client.d.ts +1 -1
  143. package/dist/loop-llm-client.js +1 -1
  144. package/dist/loop-variance.d.ts +1 -1
  145. package/dist/loop-variance.js +1 -1
  146. package/dist/merge-detector.d.ts +6 -6
  147. package/dist/merge-detector.d.ts.map +1 -1
  148. package/dist/merge-detector.js +47 -47
  149. package/dist/merge-detector.js.map +1 -1
  150. package/dist/otlp-log-parser.js +2 -2
  151. package/dist/otlp-log-parser.js.map +1 -1
  152. package/dist/otlp-metric-parser.js +1 -1
  153. package/dist/otlp-metric-parser.js.map +1 -1
  154. package/dist/otlp-receiver.d.ts +1 -1
  155. package/dist/otlp-receiver.js +7 -7
  156. package/dist/otlp-receiver.js.map +1 -1
  157. package/dist/otlp-types.d.ts +1 -1
  158. package/dist/otlp-types.d.ts.map +1 -1
  159. package/dist/otlp-types.js +3 -3
  160. package/dist/otlp-types.js.map +1 -1
  161. package/dist/output-monitor.d.ts +6 -6
  162. package/dist/output-monitor.d.ts.map +1 -1
  163. package/dist/output-monitor.js +11 -11
  164. package/dist/output-monitor.js.map +1 -1
  165. package/dist/planning-prompt-builder.d.ts +17 -15
  166. package/dist/planning-prompt-builder.d.ts.map +1 -1
  167. package/dist/planning-prompt-builder.js +34 -32
  168. package/dist/planning-prompt-builder.js.map +1 -1
  169. package/dist/pm/mitigation-correlator.d.ts +7 -7
  170. package/dist/pm/mitigation-correlator.d.ts.map +1 -1
  171. package/dist/pm/mitigation-correlator.js +33 -33
  172. package/dist/pm/mitigation-correlator.js.map +1 -1
  173. package/dist/pm-engine.js +1 -1
  174. package/dist/pm-engine.js.map +1 -1
  175. package/dist/prompt-builder.d.ts +1 -1
  176. package/dist/prompt-builder.js +9 -9
  177. package/dist/prompt-builder.js.map +1 -1
  178. package/dist/prompts/starter-prompt.d.ts +2 -2
  179. package/dist/prompts/starter-prompt.d.ts.map +1 -1
  180. package/dist/prompts/starter-prompt.js +6 -6
  181. package/dist/qa-crash-recovery.d.ts +10 -10
  182. package/dist/qa-crash-recovery.d.ts.map +1 -1
  183. package/dist/qa-crash-recovery.js +32 -32
  184. package/dist/qa-crash-recovery.js.map +1 -1
  185. package/dist/qa-dev-server.d.ts +3 -3
  186. package/dist/qa-dev-server.d.ts.map +1 -1
  187. package/dist/qa-dev-server.js +3 -3
  188. package/dist/qa-dev-server.js.map +1 -1
  189. package/dist/qa-orchestrator.d.ts +18 -18
  190. package/dist/qa-orchestrator.d.ts.map +1 -1
  191. package/dist/qa-orchestrator.js +47 -47
  192. package/dist/qa-orchestrator.js.map +1 -1
  193. package/dist/qa-provisioner.d.ts +3 -3
  194. package/dist/qa-provisioner.d.ts.map +1 -1
  195. package/dist/qa-provisioner.js +14 -14
  196. package/dist/qa-provisioner.js.map +1 -1
  197. package/dist/qa-state.d.ts +10 -10
  198. package/dist/qa-state.d.ts.map +1 -1
  199. package/dist/qa-state.js +11 -11
  200. package/dist/qa-state.js.map +1 -1
  201. package/dist/queries/control-state.d.ts +5 -5
  202. package/dist/queries/control-state.d.ts.map +1 -1
  203. package/dist/queries/control-state.js +4 -4
  204. package/dist/queries/control-state.js.map +1 -1
  205. package/dist/queries/deliveries.d.ts +28 -24
  206. package/dist/queries/deliveries.d.ts.map +1 -1
  207. package/dist/queries/deliveries.js +32 -28
  208. package/dist/queries/deliveries.js.map +1 -1
  209. package/dist/queries/focuses.d.ts +97 -0
  210. package/dist/queries/focuses.d.ts.map +1 -0
  211. package/dist/queries/focuses.js +136 -0
  212. package/dist/queries/focuses.js.map +1 -0
  213. package/dist/queries/index.d.ts +3 -3
  214. package/dist/queries/index.d.ts.map +1 -1
  215. package/dist/queries/index.js +2 -2
  216. package/dist/queries/index.js.map +1 -1
  217. package/dist/queries/qa.d.ts +16 -16
  218. package/dist/queries/qa.d.ts.map +1 -1
  219. package/dist/queries/qa.js +22 -22
  220. package/dist/queries/qa.js.map +1 -1
  221. package/dist/queries/schemas.d.ts +40 -34
  222. package/dist/queries/schemas.d.ts.map +1 -1
  223. package/dist/queries/schemas.js +31 -26
  224. package/dist/queries/schemas.js.map +1 -1
  225. package/dist/queries/sessions.d.ts +1 -1
  226. package/dist/queries/sessions.d.ts.map +1 -1
  227. package/dist/queries/sessions.js +2 -2
  228. package/dist/queries/sessions.js.map +1 -1
  229. package/dist/queries/shared.js +10 -10
  230. package/dist/queries/shared.js.map +1 -1
  231. package/dist/queries/workflows.d.ts +1 -1
  232. package/dist/queries/workflows.js +1 -1
  233. package/dist/queries/worktrees.d.ts +7 -7
  234. package/dist/queries/worktrees.d.ts.map +1 -1
  235. package/dist/queries/worktrees.js +7 -7
  236. package/dist/queries/worktrees.js.map +1 -1
  237. package/dist/review-defect-detector.d.ts +125 -0
  238. package/dist/review-defect-detector.d.ts.map +1 -0
  239. package/dist/review-defect-detector.js +289 -0
  240. package/dist/review-defect-detector.js.map +1 -0
  241. package/dist/session-lifecycle.d.ts +17 -17
  242. package/dist/session-lifecycle.d.ts.map +1 -1
  243. package/dist/session-lifecycle.js +82 -82
  244. package/dist/session-lifecycle.js.map +1 -1
  245. package/dist/spawn-cooldown.d.ts +8 -8
  246. package/dist/spawn-cooldown.d.ts.map +1 -1
  247. package/dist/spawn-cooldown.js +15 -15
  248. package/dist/spawn-cooldown.js.map +1 -1
  249. package/dist/spawn-environment.d.ts +2 -2
  250. package/dist/spawn-environment.d.ts.map +1 -1
  251. package/dist/spawn-environment.js +3 -3
  252. package/dist/spawn-environment.js.map +1 -1
  253. package/dist/spawner-lifecycle.d.ts +2 -2
  254. package/dist/spawner-lifecycle.d.ts.map +1 -1
  255. package/dist/spawner-lifecycle.js +3 -3
  256. package/dist/spawner-lifecycle.js.map +1 -1
  257. package/dist/spawner-resolution.d.ts +3 -3
  258. package/dist/spawner-resolution.d.ts.map +1 -1
  259. package/dist/spawner-resolution.js +4 -4
  260. package/dist/spawner-resolution.js.map +1 -1
  261. package/dist/spawner-stream-handlers.js +2 -2
  262. package/dist/spawner-stream-handlers.js.map +1 -1
  263. package/dist/spawner.d.ts +1 -1
  264. package/dist/spawner.d.ts.map +1 -1
  265. package/dist/spawner.js +6 -6
  266. package/dist/spawner.js.map +1 -1
  267. package/dist/stage-classifier.d.ts +1 -1
  268. package/dist/stage-classifier.js +1 -1
  269. package/dist/state-cascade.d.ts +25 -25
  270. package/dist/state-cascade.d.ts.map +1 -1
  271. package/dist/state-cascade.js +89 -89
  272. package/dist/state-cascade.js.map +1 -1
  273. package/dist/strategy-completion-event.d.ts +37 -3
  274. package/dist/strategy-completion-event.d.ts.map +1 -1
  275. package/dist/strategy-completion-event.js +78 -9
  276. package/dist/strategy-completion-event.js.map +1 -1
  277. package/dist/strategy-completion.d.ts +11 -0
  278. package/dist/strategy-completion.d.ts.map +1 -1
  279. package/dist/strategy-completion.js +22 -1
  280. package/dist/strategy-completion.js.map +1 -1
  281. package/dist/strategy-executor.d.ts.map +1 -1
  282. package/dist/strategy-executor.js +46 -14
  283. package/dist/strategy-executor.js.map +1 -1
  284. package/dist/strategy-merge.d.ts.map +1 -1
  285. package/dist/strategy-merge.js +4 -0
  286. package/dist/strategy-merge.js.map +1 -1
  287. package/dist/strategy-team-lifecycle.d.ts.map +1 -1
  288. package/dist/strategy-team-lifecycle.js +3 -0
  289. package/dist/strategy-team-lifecycle.js.map +1 -1
  290. package/dist/supabase.d.ts +4 -4
  291. package/dist/supabase.d.ts.map +1 -1
  292. package/dist/supabase.js +5 -5
  293. package/dist/supabase.js.map +1 -1
  294. package/dist/task-converter.d.ts +4 -4
  295. package/dist/task-converter.d.ts.map +1 -1
  296. package/dist/task-converter.js +1 -1
  297. package/dist/task-converter.js.map +1 -1
  298. package/dist/team-prompt-base.d.ts +59 -19
  299. package/dist/team-prompt-base.d.ts.map +1 -1
  300. package/dist/team-prompt-base.js +206 -25
  301. package/dist/team-prompt-base.js.map +1 -1
  302. package/dist/team-spawner.d.ts +9 -9
  303. package/dist/team-spawner.d.ts.map +1 -1
  304. package/dist/team-spawner.js +87 -83
  305. package/dist/team-spawner.js.map +1 -1
  306. package/dist/telemetry-writer.d.ts +2 -2
  307. package/dist/telemetry-writer.d.ts.map +1 -1
  308. package/dist/templates/claude-md.js +8 -8
  309. package/dist/templates/claude-settings.d.ts +1 -1
  310. package/dist/templates/claude-settings.js +2 -2
  311. package/dist/templates/claude-settings.js.map +1 -1
  312. package/dist/trigger-executor.d.ts +4 -4
  313. package/dist/trigger-executor.d.ts.map +1 -1
  314. package/dist/trigger-executor.js +11 -11
  315. package/dist/trigger-executor.js.map +1 -1
  316. package/dist/types/dag.d.ts +1 -1
  317. package/dist/types/delivery.d.ts +3 -3
  318. package/dist/types/delivery.d.ts.map +1 -1
  319. package/dist/types/focus.d.ts +214 -0
  320. package/dist/types/focus.d.ts.map +1 -0
  321. package/dist/types/focus.js +5 -0
  322. package/dist/types/focus.js.map +1 -0
  323. package/dist/types/index.d.ts +1 -1
  324. package/dist/types/index.d.ts.map +1 -1
  325. package/dist/types/index.js +1 -1
  326. package/dist/types/index.js.map +1 -1
  327. package/dist/types/merge.d.ts +1 -1
  328. package/dist/types/session.d.ts +2 -2
  329. package/dist/types/session.d.ts.map +1 -1
  330. package/dist/types/strategy.d.ts +7 -0
  331. package/dist/types/strategy.d.ts.map +1 -1
  332. package/dist/unified-engine-lifecycle.js +11 -11
  333. package/dist/unified-engine-lifecycle.js.map +1 -1
  334. package/dist/unified-init.d.ts +1 -1
  335. package/dist/unified-init.js +9 -9
  336. package/dist/unified-init.js.map +1 -1
  337. package/dist/unified-shell-config.d.ts +4 -4
  338. package/dist/unified-shell-config.d.ts.map +1 -1
  339. package/dist/unified-shell-config.js +5 -5
  340. package/dist/unified-shell-config.js.map +1 -1
  341. package/dist/unified-shell-status.js +3 -3
  342. package/dist/unified-shell-status.js.map +1 -1
  343. package/dist/unified-shell.d.ts +1 -1
  344. package/dist/unified-shell.js +4 -4
  345. package/dist/unified-shell.js.map +1 -1
  346. package/dist/workflow-engine.d.ts +1 -1
  347. package/dist/workflow-engine.d.ts.map +1 -1
  348. package/dist/worktree-focus.d.ts +69 -0
  349. package/dist/worktree-focus.d.ts.map +1 -0
  350. package/dist/worktree-focus.js +214 -0
  351. package/dist/worktree-focus.js.map +1 -0
  352. package/dist/worktree.d.ts +10 -10
  353. package/dist/worktree.d.ts.map +1 -1
  354. package/dist/worktree.js +39 -39
  355. package/dist/worktree.js.map +1 -1
  356. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Team spawning logic for strategy execution.
2
+ * Team spawning logic for focus execution.
3
3
  *
4
- * Extracted from strategy-executor.ts. Contains the core spawnStrategyTeam
4
+ * Extracted from focus-executor.ts. Contains the core spawnFocusTeam
5
5
  * function decomposed into phases: worktree setup, context fetching, session
6
6
  * creation, and process spawning.
7
7
  */
@@ -12,17 +12,17 @@ export declare function initGovernor(gov: ResourceGovernor): void;
12
12
  /** Get the current resource governor (for use by session-lifecycle). */
13
13
  export declare function getGovernor(): ResourceGovernor | null;
14
14
  /**
15
- * Generate branch name for strategy-level work.
15
+ * Generate branch name for focus-level work.
16
16
  */
17
- export declare function generateStrategyBranchName(role: AgentRole, strategyName: string, strategyId: string): string;
17
+ export declare function generateFocusBranchName(role: AgentRole, focusName: string, focusId: string): string;
18
18
  /**
19
19
  * Build Claude Code CLI arguments for the team lead.
20
20
  */
21
21
  export declare function buildTeamLeadArgs(config: DaemonConfig, pipelineConfig: PipelineConfig | null, resumeSessionId?: string | null): string[];
22
- export interface SpawnStrategyTeamParams {
22
+ export interface SpawnFocusTeamParams {
23
23
  config: DaemonConfig;
24
- strategyId: string;
25
- strategyName: string;
24
+ focusId: string;
25
+ focusName: string;
26
26
  role: AgentRole;
27
27
  pipelineConfig: PipelineConfig | null;
28
28
  readOnly?: boolean;
@@ -31,10 +31,10 @@ export interface SpawnStrategyTeamParams {
31
31
  }
32
32
  export type { LogStreams } from './types.js';
33
33
  /**
34
- * Spawn a strategy team to execute all deliveries in a strategy.
34
+ * Spawn a focus team to execute all deliveries in a focus.
35
35
  *
36
36
  * Creates a single Agent Team (lead process) that reads all deliveries
37
37
  * and issues, builds a task DAG, and coordinates worker execution.
38
38
  */
39
- export declare function spawnStrategyTeam(params: SpawnStrategyTeamParams): Promise<void>;
39
+ export declare function spawnFocusTeam(params: SpawnFocusTeamParams): Promise<void>;
40
40
  //# sourceMappingURL=team-spawner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-spawner.d.ts","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,cAAc,EAEf,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,qBAAqB,CAAC;AAmBzE,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAErD;AAID;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5G;AAGD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAuBxI;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AA8GD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoF7C;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAiOf"}
1
+ {"version":3,"file":"team-spawner.d.ts","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,cAAc,EAEf,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,qBAAqB,CAAC;AAmBzE,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAErD;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKnG;AAGD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAuBxI;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AA8GD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoF7C;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqOf"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Team spawning logic for strategy execution.
2
+ * Team spawning logic for focus execution.
3
3
  *
4
- * Extracted from strategy-executor.ts. Contains the core spawnStrategyTeam
4
+ * Extracted from focus-executor.ts. Contains the core spawnFocusTeam
5
5
  * function decomposed into phases: worktree setup, context fetching, session
6
6
  * creation, and process spawning.
7
7
  */
@@ -11,19 +11,19 @@ import { join } from 'node:path';
11
11
  import { createSession, updateSession, } from './supabase.js';
12
12
  import { createWorktree, runGitSync, repoHasCommits } from './git.js';
13
13
  import { installAuditPreCommitHook } from './audit-hooks.js';
14
- import { getStrategyWorktree, setStrategyWorktree } from './strategy-worktree-state.js';
14
+ import { getFocusWorktree, setFocusWorktree } from './focus-worktree-state.js';
15
15
  import { sendMessage } from '@telora/daemon-core';
16
16
  import { recordActivity } from './heartbeat.js';
17
- import { buildStrategyTeamPrompt } from './strategy-prompt-builder.js';
18
- import { getStrategyDeliveries, getStrategyIssues, getProductContextForStrategy, getProductDeploymentProfileSnapshot } from './queries/strategies.js';
17
+ import { buildFocusTeamPrompt } from './focus-prompt-builder.js';
18
+ import { getFocusDeliveries, getFocusIssues, getProductContextForFocus, getProductDeploymentProfileSnapshot } from './queries/focuses.js';
19
19
  import { buildSpawnEnvironment } from './spawn-environment.js';
20
20
  import { sanitizeGitSegment } from './git-utils.js';
21
- import { recordStrategyTeardown } from './spawn-cooldown.js';
21
+ import { recordFocusTeardown } from './spawn-cooldown.js';
22
22
  import { consumePendingSpawnDirective } from './directive-executor.js';
23
23
  import { isStatusAgentActionable, isStatusBlocking } from './stage-classifier.js';
24
- import { getActiveTeams, deriveExecutionConfig, } from './strategy-team-state.js';
24
+ import { getActiveTeams, deriveExecutionConfig, } from './focus-team-state.js';
25
25
  import { setupOutputMonitoring } from './output-monitor.js';
26
- // ── Resource governor (optional, injected by StrategyEngine) ─────────
26
+ // ── Resource governor (optional, injected by FocusEngine) ─────────
27
27
  let governor = null;
28
28
  /** Inject the resource governor for global concurrency limiting. */
29
29
  export function initGovernor(gov) {
@@ -35,13 +35,13 @@ export function getGovernor() {
35
35
  }
36
36
  // ── Team spawning helpers ─────────────────────────────────────────────
37
37
  /**
38
- * Generate branch name for strategy-level work.
38
+ * Generate branch name for focus-level work.
39
39
  */
40
- export function generateStrategyBranchName(role, strategyName, strategyId) {
40
+ export function generateFocusBranchName(role, focusName, focusId) {
41
41
  const sanitizedRoleName = sanitizeGitSegment(role.name);
42
- const shortId = strategyId.slice(0, 8);
43
- const sanitizedStrategyName = sanitizeGitSegment(strategyName);
44
- return `agent/${sanitizedRoleName}/${sanitizedStrategyName}-${shortId}`;
42
+ const shortId = focusId.slice(0, 8);
43
+ const sanitizedFocusName = sanitizeGitSegment(focusName);
44
+ return `agent/${sanitizedRoleName}/${sanitizedFocusName}-${shortId}`;
45
45
  }
46
46
  /**
47
47
  * Build Claude Code CLI arguments for the team lead.
@@ -68,41 +68,41 @@ export function buildTeamLeadArgs(config, pipelineConfig, resumeSessionId) {
68
68
  }
69
69
  // ── Phase functions ───────────────────────────────────────────────────
70
70
  /**
71
- * Set up or reuse a worktree for the strategy.
71
+ * Set up or reuse a worktree for the focus.
72
72
  * Returns the worktree path, or null if setup fails.
73
73
  */
74
- async function setupWorktree(config, strategyId, strategyName, branchName, readOnly) {
75
- const existingWorktree = getStrategyWorktree(strategyId);
74
+ async function setupWorktree(config, focusId, focusName, branchName, readOnly) {
75
+ const existingWorktree = getFocusWorktree(focusId);
76
76
  if (existingWorktree) {
77
77
  const worktreePath = existingWorktree.worktreePath;
78
- // Rebase onto integration to pick up latest changes from other strategies
78
+ // Rebase onto integration to pick up latest changes from other focuses
79
79
  const rebaseResult = runGitSync(['rebase', config.integrationBranch], worktreePath);
80
80
  if (!rebaseResult.success) {
81
81
  runGitSync(['rebase', '--abort'], worktreePath);
82
- console.warn(`[strategy-executor] Rebase failed for "${strategyName}", continuing with existing state`);
82
+ console.warn(`[focus-executor] Rebase failed for "${focusName}", continuing with existing state`);
83
83
  }
84
84
  console.log(` Worktree (reused): ${worktreePath}`);
85
85
  return worktreePath;
86
86
  }
87
87
  // Guard: can't create worktrees in a repo with no commits
88
88
  if (!repoHasCommits(config.repoPath)) {
89
- console.warn(`[strategy-executor] Repository has no commits -- cannot create worktree for "${strategyName}"`);
89
+ console.warn(`[focus-executor] Repository has no commits -- cannot create worktree for "${focusName}"`);
90
90
  return null;
91
91
  }
92
92
  // Fallback: worktree doesn't exist yet (race condition or first poll)
93
- console.warn(`[strategy-executor] No persistent worktree for "${strategyName}", creating inline`);
93
+ console.warn(`[focus-executor] No persistent worktree for "${focusName}", creating inline`);
94
94
  try {
95
95
  const worktreePath = await createWorktree(config, branchName);
96
- setStrategyWorktree(strategyId, {
97
- strategyId,
98
- strategyName,
96
+ setFocusWorktree(focusId, {
97
+ focusId,
98
+ focusName,
99
99
  worktreePath,
100
100
  branchName,
101
101
  createdAt: new Date(),
102
102
  hasQaDevServer: false,
103
103
  });
104
104
  console.log(` Worktree (created inline): ${worktreePath}`);
105
- // Install audit pre-commit hook for read-only strategies
105
+ // Install audit pre-commit hook for read-only focuses
106
106
  if (readOnly) {
107
107
  installAuditPreCommitHook(worktreePath);
108
108
  console.log(` Installed audit pre-commit hook (read-only mode)`);
@@ -110,20 +110,20 @@ async function setupWorktree(config, strategyId, strategyName, branchName, readO
110
110
  return worktreePath;
111
111
  }
112
112
  catch (err) {
113
- console.error(`[strategy-executor] Failed to create worktree for strategy "${strategyName}":`, err instanceof Error ? err.message : String(err));
113
+ console.error(`[focus-executor] Failed to create worktree for focus "${focusName}":`, err instanceof Error ? err.message : String(err));
114
114
  return null;
115
115
  }
116
116
  }
117
117
  /**
118
- * Fetch all strategy context: deliveries, issues, product context, deployment profile.
118
+ * Fetch all focus context: deliveries, issues, product context, deployment profile.
119
119
  */
120
- async function fetchStrategyContext(config, strategyId, _strategyName) {
120
+ async function fetchFocusContext(config, focusId, _focusName) {
121
121
  const [deliveries, issues, productContextDocs, deploymentProfileSnapshot] = await Promise.all([
122
- getStrategyDeliveries(strategyId),
123
- getStrategyIssues(strategyId),
124
- getProductContextForStrategy(config.productId, strategyId),
122
+ getFocusDeliveries(focusId),
123
+ getFocusIssues(focusId),
124
+ getProductContextForFocus(config.productId, focusId),
125
125
  getProductDeploymentProfileSnapshot(config.productId).catch((err) => {
126
- console.debug(`[strategy-executor] Could not fetch deployment profile snapshot (non-fatal):`, err.message);
126
+ console.debug(`[focus-executor] Could not fetch deployment profile snapshot (non-fatal):`, err.message);
127
127
  return null;
128
128
  }),
129
129
  ]);
@@ -133,33 +133,33 @@ async function fetchStrategyContext(config, strategyId, _strategyName) {
133
133
  * Create a session record for the team lead.
134
134
  * Returns the session, or null if creation fails.
135
135
  */
136
- async function createTeamSession(config, role, strategyId, branchName, strategyName, sessionType = 'coding') {
136
+ async function createTeamSession(config, role, focusId, branchName, focusName, sessionType = 'coding') {
137
137
  try {
138
138
  const session = await createSession({
139
139
  organizationId: config.organizationId,
140
140
  roleId: role.id,
141
141
  issueId: null,
142
- strategyId,
142
+ focusId,
143
143
  branchName,
144
144
  sessionType,
145
145
  });
146
146
  return session;
147
147
  }
148
148
  catch (err) {
149
- console.error(`[strategy-executor] Failed to create session for strategy "${strategyName}":`, err.message);
149
+ console.error(`[focus-executor] Failed to create session for focus "${focusName}":`, err.message);
150
150
  return null;
151
151
  }
152
152
  }
153
153
  /**
154
154
  * Open log file streams for the team lead process.
155
155
  */
156
- function openLogStreams(config, branchName, strategyName) {
156
+ function openLogStreams(config, branchName, focusName) {
157
157
  // Ensure log directory exists
158
158
  if (!existsSync(config.logDir)) {
159
159
  mkdirSync(config.logDir, { recursive: true, mode: 0o700 });
160
160
  }
161
161
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
162
- const logPrefix = `strategy-${branchName.replace(/\//g, '-')}-${timestamp}`;
162
+ const logPrefix = `focus-${branchName.replace(/\//g, '-')}-${timestamp}`;
163
163
  const stdoutPath = join(config.logDir, `${logPrefix}.stdout.log`);
164
164
  const stderrPath = join(config.logDir, `${logPrefix}.stderr.log`);
165
165
  const jsonlPath = join(config.logDir, `${logPrefix}.stream.jsonl`);
@@ -168,13 +168,13 @@ function openLogStreams(config, branchName, strategyName) {
168
168
  const jsonlStream = createWriteStream(jsonlPath, { mode: 0o600 });
169
169
  // Attach error handlers to prevent unhandled 'error' events from crashing the daemon
170
170
  stdoutLogStream.on('error', (err) => {
171
- console.warn(`[strategy-executor] stdout log stream error for "${strategyName}": ${err.message}`);
171
+ console.warn(`[focus-executor] stdout log stream error for "${focusName}": ${err.message}`);
172
172
  });
173
173
  stderrStream.on('error', (err) => {
174
- console.warn(`[strategy-executor] stderr log stream error for "${strategyName}": ${err.message}`);
174
+ console.warn(`[focus-executor] stderr log stream error for "${focusName}": ${err.message}`);
175
175
  });
176
176
  jsonlStream.on('error', (err) => {
177
- console.warn(`[strategy-executor] jsonl log stream error for "${strategyName}": ${err.message}`);
177
+ console.warn(`[focus-executor] jsonl log stream error for "${focusName}": ${err.message}`);
178
178
  });
179
179
  return { stdoutLogStream, stderrStream, jsonlStream, stdoutPath, stderrPath };
180
180
  }
@@ -182,23 +182,23 @@ function openLogStreams(config, branchName, strategyName) {
182
182
  * Build args, env, acquire governor slot, and spawn the Claude Code process.
183
183
  * Returns the child process, or null if governor denied the slot.
184
184
  */
185
- async function buildAndSpawnProcess(config, pipelineConfig, resumeId, sessionId, strategyId, strategyName, worktreePath) {
185
+ async function buildAndSpawnProcess(config, pipelineConfig, resumeId, sessionId, focusId, focusName, worktreePath) {
186
186
  const args = buildTeamLeadArgs(config, pipelineConfig, resumeId);
187
187
  if (resumeId) {
188
- console.log(`[strategy-executor] Resuming Claude session ${resumeId} for "${strategyName}"`);
188
+ console.log(`[focus-executor] Resuming Claude session ${resumeId} for "${focusName}"`);
189
189
  }
190
190
  const spawnEnv = buildSpawnEnvironment(config, {
191
191
  orgId: config.organizationId,
192
- strategyId,
192
+ focusId,
193
193
  sessionId,
194
194
  });
195
195
  // Acquire governor slot (if governor is configured)
196
196
  if (governor) {
197
197
  try {
198
- await governor.acquireSlot('strategy');
198
+ await governor.acquireSlot('focus');
199
199
  }
200
200
  catch (err) {
201
- console.warn(`[strategy-executor] Governor denied slot for "${strategyName}":`, err.message);
201
+ console.warn(`[focus-executor] Governor denied slot for "${focusName}":`, err.message);
202
202
  return null;
203
203
  }
204
204
  }
@@ -212,25 +212,25 @@ async function buildAndSpawnProcess(config, pipelineConfig, resumeId, sessionId,
212
212
  }
213
213
  // ── Main spawn function ───────────────────────────────────────────────
214
214
  /**
215
- * Spawn a strategy team to execute all deliveries in a strategy.
215
+ * Spawn a focus team to execute all deliveries in a focus.
216
216
  *
217
217
  * Creates a single Agent Team (lead process) that reads all deliveries
218
218
  * and issues, builds a task DAG, and coordinates worker execution.
219
219
  */
220
- export async function spawnStrategyTeam(params) {
221
- const { config, strategyId, strategyName, role, pipelineConfig, readOnly = false, lastClaudeSessionId } = params;
220
+ export async function spawnFocusTeam(params) {
221
+ const { config, focusId, focusName, role, pipelineConfig, readOnly = false, lastClaudeSessionId } = params;
222
222
  const activeTeams = getActiveTeams();
223
223
  // Prevent double-spawn
224
- if (activeTeams.has(strategyId)) {
225
- console.warn(`[strategy-executor] Team already active for strategy "${strategyName}", skipping spawn`);
224
+ if (activeTeams.has(focusId)) {
225
+ console.warn(`[focus-executor] Team already active for focus "${focusName}", skipping spawn`);
226
226
  return;
227
227
  }
228
228
  const executionConfig = deriveExecutionConfig(pipelineConfig);
229
- const branchName = generateStrategyBranchName(role, strategyName, strategyId);
229
+ const branchName = generateFocusBranchName(role, focusName, focusId);
230
230
  // Initialize team state
231
231
  const teamState = {
232
- strategyId,
233
- strategyName,
232
+ focusId,
233
+ focusName,
234
234
  roleId: role.id,
235
235
  roleName: role.name,
236
236
  organizationId: config.organizationId,
@@ -241,6 +241,7 @@ export async function spawnStrategyTeam(params) {
241
241
  phase: 'initializing',
242
242
  knownDeliveryIds: new Set(),
243
243
  mergedDeliveryIds: new Set(),
244
+ planningPhase: false,
244
245
  shutdownReason: null,
245
246
  deliveryStageIds: new Map(),
246
247
  leadSessionId: null,
@@ -252,29 +253,31 @@ export async function spawnStrategyTeam(params) {
252
253
  readOnly,
253
254
  completionDetector: null,
254
255
  claudeSessionId: null,
256
+ lastProgressSnapshot: null,
257
+ noProgressCycles: 0,
255
258
  };
256
- activeTeams.set(strategyId, teamState);
257
- console.log(`[strategy-executor] Spawning team for strategy "${strategyName}"${readOnly ? ' [READ-ONLY]' : ''}`);
259
+ activeTeams.set(focusId, teamState);
260
+ console.log(`[focus-executor] Spawning team for focus "${focusName}"${readOnly ? ' [READ-ONLY]' : ''}`);
258
261
  console.log(` Role: ${role.name}`);
259
262
  console.log(` Model: ${pipelineConfig?.model ?? '(CLI default)'}`);
260
263
  console.log(` Max workers: ${executionConfig.maxWorkers}`);
261
264
  console.log(` Branch: ${branchName}`);
262
- // Fetch all deliveries, issues, product context, and deployment profile for the strategy
265
+ // Fetch all deliveries, issues, product context, and deployment profile for the focus
263
266
  let deliveries;
264
267
  let issues;
265
268
  let productContextDocs;
266
269
  let deploymentProfileSnapshot;
267
270
  try {
268
271
  ({ deliveries, issues, productContextDocs, deploymentProfileSnapshot } =
269
- await fetchStrategyContext(config, strategyId, strategyName));
272
+ await fetchFocusContext(config, focusId, focusName));
270
273
  }
271
274
  catch (err) {
272
- console.error(`[strategy-executor] Failed to fetch context for strategy "${strategyName}":`, err.message);
273
- activeTeams.delete(strategyId);
275
+ console.error(`[focus-executor] Failed to fetch context for focus "${focusName}":`, err.message);
276
+ activeTeams.delete(focusId);
274
277
  return;
275
278
  }
276
279
  // Check for pending spawn directive (e.g., stage directive spawn)
277
- const pendingDirective = consumePendingSpawnDirective(strategyId);
280
+ const pendingDirective = consumePendingSpawnDirective(focusId);
278
281
  // Pre-spawn guard: enforce rank-ordered execution.
279
282
  // Walk deliveries in priority_rank order (already sorted by API).
280
283
  // A delivery is actionable only if all lower-ranked deliveries are non-blocking.
@@ -290,19 +293,20 @@ export async function spawnStrategyTeam(params) {
290
293
  }
291
294
  else {
292
295
  // Blocking status (planning, paused) prevents subsequent deliveries
293
- console.log(`[strategy-executor] Delivery "${d.name}" (rank ${d.priorityRank}) ` +
294
- `is in "${status}" state -- blocking subsequent deliveries in strategy "${strategyName}"`);
296
+ console.log(`[focus-executor] Delivery "${d.name}" (rank ${d.priorityRank}) ` +
297
+ `is in "${status}" state -- blocking subsequent deliveries in focus "${focusName}"`);
295
298
  }
296
299
  break;
297
300
  }
298
301
  if (!nextActionable || !isStatusAgentActionable(nextActionable.executionStatus ?? '')) {
299
- console.log(`[strategy-executor] No actionable deliveries for strategy "${strategyName}" -- skipping spawn`);
300
- activeTeams.delete(strategyId);
302
+ console.log(`[focus-executor] No actionable deliveries for focus "${focusName}" -- skipping spawn`);
303
+ activeTeams.delete(focusId);
301
304
  return;
302
305
  }
303
306
  }
304
307
  const actionableDeliveries = deliveries.filter(d => isStatusAgentActionable(d.executionStatus ?? ''));
305
- // Track known deliveries, pre-populate already-completed ones
308
+ // Track known deliveries, pre-populate already-completed ones.
309
+ // Empty deliveries (planning spawn) yields zero iterations.
306
310
  for (const d of deliveries) {
307
311
  teamState.knownDeliveryIds.add(d.id);
308
312
  teamState.deliveryStageIds.set(d.id, d.currentWorkflowStageId);
@@ -313,27 +317,27 @@ export async function spawnStrategyTeam(params) {
313
317
  console.log(` Deliveries: ${deliveries.length} (${actionableDeliveries.length} queued)`);
314
318
  console.log(` Issues: ${issues.length}`);
315
319
  // Set up worktree
316
- const worktreePath = await setupWorktree(config, strategyId, strategyName, branchName, readOnly);
320
+ const worktreePath = await setupWorktree(config, focusId, focusName, branchName, readOnly);
317
321
  if (!worktreePath) {
318
- activeTeams.delete(strategyId);
322
+ activeTeams.delete(focusId);
319
323
  // Record a cooldown so the daemon backs off instead of retrying every poll cycle
320
- recordStrategyTeardown(strategyId);
324
+ recordFocusTeardown(focusId);
321
325
  return;
322
326
  }
323
327
  teamState.worktreePath = worktreePath;
324
328
  // Create session record for the team lead
325
- const session = await createTeamSession(config, role, strategyId, branchName, strategyName, 'coding');
329
+ const session = await createTeamSession(config, role, focusId, branchName, focusName, 'coding');
326
330
  if (!session) {
327
- // Worktree is strategy-owned and persists even if session creation fails
328
- activeTeams.delete(strategyId);
331
+ // Worktree is focus-owned and persists even if session creation fails
332
+ activeTeams.delete(focusId);
329
333
  return;
330
334
  }
331
335
  teamState.leadSessionId = session.id;
332
336
  recordActivity();
333
- // Build the team lead prompt with full strategy context
334
- const prompt = buildStrategyTeamPrompt(role, {
335
- strategyId,
336
- strategyName,
337
+ // Build the team lead prompt with full focus context
338
+ const prompt = buildFocusTeamPrompt(role, {
339
+ focusId,
340
+ focusName,
337
341
  organizationId: config.organizationId,
338
342
  productId: config.productId,
339
343
  deliveries,
@@ -345,7 +349,7 @@ export async function spawnStrategyTeam(params) {
345
349
  readOnly,
346
350
  });
347
351
  // Open log streams
348
- const logStreams = openLogStreams(config, branchName, strategyName);
352
+ const logStreams = openLogStreams(config, branchName, focusName);
349
353
  // Build args and env, acquire governor slot, spawn process
350
354
  // Never resume when spawning for a directive (fresh session)
351
355
  const resumeId = pendingDirective ? null : (lastClaudeSessionId ?? null);
@@ -360,9 +364,9 @@ export async function spawnStrategyTeam(params) {
360
364
  const effectivePipelineConfig = pendingDirective?.model
361
365
  ? { ...pipelineConfig, model: pendingDirective.model }
362
366
  : pipelineConfig;
363
- const proc = await buildAndSpawnProcess(config, effectivePipelineConfig, resumeId, session.id, strategyId, strategyName, worktreePath);
367
+ const proc = await buildAndSpawnProcess(config, effectivePipelineConfig, resumeId, session.id, focusId, focusName, worktreePath);
364
368
  if (!proc) {
365
- activeTeams.delete(strategyId);
369
+ activeTeams.delete(focusId);
366
370
  logStreams.stdoutLogStream.end();
367
371
  logStreams.stderrStream.end();
368
372
  logStreams.jsonlStream.end();
@@ -375,8 +379,8 @@ export async function spawnStrategyTeam(params) {
375
379
  const { completionDetector, activityTracker } = setupOutputMonitoring({
376
380
  proc,
377
381
  teamState,
378
- strategyId,
379
- strategyName,
382
+ focusId,
383
+ focusName,
380
384
  sessionId: session.id,
381
385
  logStreams,
382
386
  });
@@ -386,7 +390,7 @@ export async function spawnStrategyTeam(params) {
386
390
  sendMessage(proc.stdin, prompt);
387
391
  // If a spawn directive is pending, send its assembled content as a follow-up message
388
392
  if (pendingDirective && pendingDirective.message.trim()) {
389
- console.log(`[strategy-executor] Sending pending spawn directive to "${strategyName}" ` +
393
+ console.log(`[focus-executor] Sending pending spawn directive to "${focusName}" ` +
390
394
  `(${pendingDirective.message.length} chars, model: ${pendingDirective.model ?? 'default'})`);
391
395
  sendMessage(proc.stdin, pendingDirective.message);
392
396
  }
@@ -395,7 +399,7 @@ export async function spawnStrategyTeam(params) {
395
399
  status: 'running',
396
400
  pid: proc.pid,
397
401
  });
398
- console.log(`[strategy-executor] Team lead spawned for "${strategyName}" (PID: ${proc.pid}, session: ${session.id})`);
402
+ console.log(`[focus-executor] Team lead spawned for "${focusName}" (PID: ${proc.pid}, session: ${session.id})`);
399
403
  // Set up session lifecycle handlers (completion, close, error)
400
404
  const { attachSessionLifecycle } = await import('./session-lifecycle.js');
401
405
  attachSessionLifecycle({
@@ -403,8 +407,8 @@ export async function spawnStrategyTeam(params) {
403
407
  params,
404
408
  teamState,
405
409
  sessionId: session.id,
406
- strategyId,
407
- strategyName,
410
+ focusId,
411
+ focusName,
408
412
  completionDetector,
409
413
  activityTracker,
410
414
  logStreams,
@@ -1 +1 @@
1
- {"version":3,"file":"team-spawner.js","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-spawner.js","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export interface TelemetryMetricRow {
9
9
  organization_id: string;
10
- strategy_id: string | null;
10
+ focus_id: string | null;
11
11
  delivery_id: string | null;
12
12
  session_id: string | null;
13
13
  input_tokens: number;
@@ -25,7 +25,7 @@ export interface TelemetryMetricRow {
25
25
  }
26
26
  export interface TelemetryEventRow {
27
27
  organization_id: string;
28
- strategy_id: string | null;
28
+ focus_id: string | null;
29
29
  delivery_id: string | null;
30
30
  session_id: string | null;
31
31
  event_type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-writer.d.ts","sourceRoot":"","sources":["../src/telemetry-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAWD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAO5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAO1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C3C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAEpE"}
1
+ {"version":3,"file":"telemetry-writer.d.ts","sourceRoot":"","sources":["../src/telemetry-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAWD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAO5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAO1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C3C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAEpE"}
@@ -21,8 +21,8 @@ work happens at the difference.
21
21
 
22
22
  ## Planning hierarchy
23
23
 
24
- - **Strategy** = one capability. All phases of building one thing belong
25
- in one strategy. Strategies are not phases; if a strategy looks like a
24
+ - **Focus** = one capability. All phases of building one thing belong
25
+ in one focus. Focuses are not phases; if a focus looks like a
26
26
  phase, consolidate it.
27
27
  - **Delivery** = a shippable phase or major component of a capability.
28
28
  - **Context Group** = optional grouping of related issues that share
@@ -46,7 +46,7 @@ Movement rules:
46
46
  - Never skip \`In Progress\`. Never move directly from \`To Do\` to \`Done\`.
47
47
  - Set status with \`telora_product_issue\` action=update.
48
48
 
49
- Delivery and strategy stages advance automatically based on issue
49
+ Delivery and focus stages advance automatically based on issue
50
50
  activity. Agents never set delivery executionStatus directly.
51
51
 
52
52
  ## MCP tool surface (what's available in this session)
@@ -54,8 +54,8 @@ activity. Agents never set delivery executionStatus directly.
54
54
  The Telora MCP server is registered in \`.mcp.json\`. Core tool families:
55
55
 
56
56
  - \`telora_product\` -- list/get/create/update products
57
- - \`telora_product_strategy\` -- strategies under a product
58
- - \`telora_product_delivery\` -- deliveries under a strategy
57
+ - \`telora_product_focus\` -- focuses under a product
58
+ - \`telora_product_delivery\` -- deliveries under a focus
59
59
  - \`telora_product_issue\` -- issues (Context Groups, Tasks, Bugs) under a delivery
60
60
  - \`telora_objective\` / \`telora_key_result\` -- OKRs
61
61
  - \`telora_agent\` -- agent roles, escalation requests
@@ -71,14 +71,14 @@ hard-coding a list that drifts.
71
71
 
72
72
  - Humans own **intent** and **completion**.
73
73
  - Intent: what capability matters, what changes when. Pre-handoff.
74
- - Completion: closing the loop on whether a strategy is done. Post-handoff.
74
+ - Completion: closing the loop on whether a focus is done. Post-handoff.
75
75
  - Agents own **scoping** and **execution**.
76
- - Scoping: decomposing a strategy into deliveries, deliveries into
76
+ - Scoping: decomposing a focus into deliveries, deliveries into
77
77
  issues, restructuring mid-flight as the agent learns more.
78
78
  - Execution: writing code, running tests, committing, reporting.
79
79
 
80
80
  Do not ask humans for operational details they expect the agent to figure
81
- out. Do not silently complete a strategy on the human's behalf. Escalate
81
+ out. Do not silently complete a focus on the human's behalf. Escalate
82
82
  when stuck via \`telora_agent\` action=escalate.
83
83
 
84
84
  ## Differential signaling
@@ -5,7 +5,7 @@
5
5
  * tool call.
6
6
  *
7
7
  * Rule of thumb for what goes in here: any read or routine write the agent
8
- * is *expected* to make as part of a normal product/strategy/delivery/issue
8
+ * is *expected* to make as part of a normal product/focus/delivery/issue
9
9
  * cycle. Operations that warrant human awareness (deletes, escalations,
10
10
  * arbitrary shell, network calls outside Telora) stay un-allowlisted so
11
11
  * the user is prompted.