@telora/factory 0.4.5

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 (301) hide show
  1. package/dist/audit.d.ts +69 -0
  2. package/dist/audit.d.ts.map +1 -0
  3. package/dist/audit.js +376 -0
  4. package/dist/audit.js.map +1 -0
  5. package/dist/builder-completion.d.ts +35 -0
  6. package/dist/builder-completion.d.ts.map +1 -0
  7. package/dist/builder-completion.js +375 -0
  8. package/dist/builder-completion.js.map +1 -0
  9. package/dist/builder-spawner.d.ts +40 -0
  10. package/dist/builder-spawner.d.ts.map +1 -0
  11. package/dist/builder-spawner.js +493 -0
  12. package/dist/builder-spawner.js.map +1 -0
  13. package/dist/completion-gate.d.ts +52 -0
  14. package/dist/completion-gate.d.ts.map +1 -0
  15. package/dist/completion-gate.js +336 -0
  16. package/dist/completion-gate.js.map +1 -0
  17. package/dist/completion-report.d.ts +36 -0
  18. package/dist/completion-report.d.ts.map +1 -0
  19. package/dist/completion-report.js +348 -0
  20. package/dist/completion-report.js.map +1 -0
  21. package/dist/completion.d.ts +58 -0
  22. package/dist/completion.d.ts.map +1 -0
  23. package/dist/completion.js +287 -0
  24. package/dist/completion.js.map +1 -0
  25. package/dist/config.d.ts +16 -0
  26. package/dist/config.d.ts.map +1 -0
  27. package/dist/config.js +57 -0
  28. package/dist/config.js.map +1 -0
  29. package/dist/context-manager.d.ts +152 -0
  30. package/dist/context-manager.d.ts.map +1 -0
  31. package/dist/context-manager.js +421 -0
  32. package/dist/context-manager.js.map +1 -0
  33. package/dist/crash-detection.d.ts +70 -0
  34. package/dist/crash-detection.d.ts.map +1 -0
  35. package/dist/crash-detection.js +123 -0
  36. package/dist/crash-detection.js.map +1 -0
  37. package/dist/crash-recovery.d.ts +83 -0
  38. package/dist/crash-recovery.d.ts.map +1 -0
  39. package/dist/crash-recovery.js +522 -0
  40. package/dist/crash-recovery.js.map +1 -0
  41. package/dist/crash-resolution.d.ts +34 -0
  42. package/dist/crash-resolution.d.ts.map +1 -0
  43. package/dist/crash-resolution.js +382 -0
  44. package/dist/crash-resolution.js.map +1 -0
  45. package/dist/escalation.d.ts +150 -0
  46. package/dist/escalation.d.ts.map +1 -0
  47. package/dist/escalation.js +352 -0
  48. package/dist/escalation.js.map +1 -0
  49. package/dist/execution-target.d.ts +31 -0
  50. package/dist/execution-target.d.ts.map +1 -0
  51. package/dist/execution-target.js +71 -0
  52. package/dist/execution-target.js.map +1 -0
  53. package/dist/execution-unit-init.d.ts +28 -0
  54. package/dist/execution-unit-init.d.ts.map +1 -0
  55. package/dist/execution-unit-init.js +115 -0
  56. package/dist/execution-unit-init.js.map +1 -0
  57. package/dist/execution.d.ts +17 -0
  58. package/dist/execution.d.ts.map +1 -0
  59. package/dist/execution.js +20 -0
  60. package/dist/execution.js.map +1 -0
  61. package/dist/factory-engine.d.ts +100 -0
  62. package/dist/factory-engine.d.ts.map +1 -0
  63. package/dist/factory-engine.js +243 -0
  64. package/dist/factory-engine.js.map +1 -0
  65. package/dist/gap-detection.d.ts +43 -0
  66. package/dist/gap-detection.d.ts.map +1 -0
  67. package/dist/gap-detection.js +149 -0
  68. package/dist/gap-detection.js.map +1 -0
  69. package/dist/gate-context.d.ts +23 -0
  70. package/dist/gate-context.d.ts.map +1 -0
  71. package/dist/gate-context.js +63 -0
  72. package/dist/gate-context.js.map +1 -0
  73. package/dist/gate-engine.d.ts +55 -0
  74. package/dist/gate-engine.d.ts.map +1 -0
  75. package/dist/gate-engine.js +191 -0
  76. package/dist/gate-engine.js.map +1 -0
  77. package/dist/gates/adversarial.d.ts +59 -0
  78. package/dist/gates/adversarial.d.ts.map +1 -0
  79. package/dist/gates/adversarial.js +426 -0
  80. package/dist/gates/adversarial.js.map +1 -0
  81. package/dist/gates/adversary-spawner.d.ts +35 -0
  82. package/dist/gates/adversary-spawner.d.ts.map +1 -0
  83. package/dist/gates/adversary-spawner.js +286 -0
  84. package/dist/gates/adversary-spawner.js.map +1 -0
  85. package/dist/gates/adversary-test-dir.d.ts +41 -0
  86. package/dist/gates/adversary-test-dir.d.ts.map +1 -0
  87. package/dist/gates/adversary-test-dir.js +150 -0
  88. package/dist/gates/adversary-test-dir.js.map +1 -0
  89. package/dist/gates/behavioral-parser.d.ts +32 -0
  90. package/dist/gates/behavioral-parser.d.ts.map +1 -0
  91. package/dist/gates/behavioral-parser.js +190 -0
  92. package/dist/gates/behavioral-parser.js.map +1 -0
  93. package/dist/gates/behavioral-runner.d.ts +36 -0
  94. package/dist/gates/behavioral-runner.d.ts.map +1 -0
  95. package/dist/gates/behavioral-runner.js +306 -0
  96. package/dist/gates/behavioral-runner.js.map +1 -0
  97. package/dist/gates/behavioral.d.ts +37 -0
  98. package/dist/gates/behavioral.d.ts.map +1 -0
  99. package/dist/gates/behavioral.js +485 -0
  100. package/dist/gates/behavioral.js.map +1 -0
  101. package/dist/gates/deterministic.d.ts +24 -0
  102. package/dist/gates/deterministic.d.ts.map +1 -0
  103. package/dist/gates/deterministic.js +186 -0
  104. package/dist/gates/deterministic.js.map +1 -0
  105. package/dist/git-factory.d.ts +59 -0
  106. package/dist/git-factory.d.ts.map +1 -0
  107. package/dist/git-factory.js +102 -0
  108. package/dist/git-factory.js.map +1 -0
  109. package/dist/guard-evaluation.d.ts +48 -0
  110. package/dist/guard-evaluation.d.ts.map +1 -0
  111. package/dist/guard-evaluation.js +416 -0
  112. package/dist/guard-evaluation.js.map +1 -0
  113. package/dist/index.d.ts +30 -0
  114. package/dist/index.d.ts.map +1 -0
  115. package/dist/index.js +39 -0
  116. package/dist/index.js.map +1 -0
  117. package/dist/instance-completion.d.ts +34 -0
  118. package/dist/instance-completion.d.ts.map +1 -0
  119. package/dist/instance-completion.js +366 -0
  120. package/dist/instance-completion.js.map +1 -0
  121. package/dist/instance-lifecycle.d.ts +15 -0
  122. package/dist/instance-lifecycle.d.ts.map +1 -0
  123. package/dist/instance-lifecycle.js +18 -0
  124. package/dist/instance-lifecycle.js.map +1 -0
  125. package/dist/instance-phase-dispatch.d.ts +75 -0
  126. package/dist/instance-phase-dispatch.d.ts.map +1 -0
  127. package/dist/instance-phase-dispatch.js +674 -0
  128. package/dist/instance-phase-dispatch.js.map +1 -0
  129. package/dist/instance-poll-loop.d.ts +43 -0
  130. package/dist/instance-poll-loop.d.ts.map +1 -0
  131. package/dist/instance-poll-loop.js +360 -0
  132. package/dist/instance-poll-loop.js.map +1 -0
  133. package/dist/instance-state-machine.d.ts +52 -0
  134. package/dist/instance-state-machine.d.ts.map +1 -0
  135. package/dist/instance-state-machine.js +235 -0
  136. package/dist/instance-state-machine.js.map +1 -0
  137. package/dist/log-manager.d.ts +28 -0
  138. package/dist/log-manager.d.ts.map +1 -0
  139. package/dist/log-manager.js +71 -0
  140. package/dist/log-manager.js.map +1 -0
  141. package/dist/pipeline-evaluator.d.ts +61 -0
  142. package/dist/pipeline-evaluator.d.ts.map +1 -0
  143. package/dist/pipeline-evaluator.js +107 -0
  144. package/dist/pipeline-evaluator.js.map +1 -0
  145. package/dist/pipeline-metrics.d.ts +52 -0
  146. package/dist/pipeline-metrics.d.ts.map +1 -0
  147. package/dist/pipeline-metrics.js +40 -0
  148. package/dist/pipeline-metrics.js.map +1 -0
  149. package/dist/pipeline-traversal.d.ts +43 -0
  150. package/dist/pipeline-traversal.d.ts.map +1 -0
  151. package/dist/pipeline-traversal.js +68 -0
  152. package/dist/pipeline-traversal.js.map +1 -0
  153. package/dist/plan-parser.d.ts +76 -0
  154. package/dist/plan-parser.d.ts.map +1 -0
  155. package/dist/plan-parser.js +223 -0
  156. package/dist/plan-parser.js.map +1 -0
  157. package/dist/planning-phase.d.ts +52 -0
  158. package/dist/planning-phase.d.ts.map +1 -0
  159. package/dist/planning-phase.js +444 -0
  160. package/dist/planning-phase.js.map +1 -0
  161. package/dist/planning-prompt.d.ts +64 -0
  162. package/dist/planning-prompt.d.ts.map +1 -0
  163. package/dist/planning-prompt.js +251 -0
  164. package/dist/planning-prompt.js.map +1 -0
  165. package/dist/planning.d.ts +16 -0
  166. package/dist/planning.d.ts.map +1 -0
  167. package/dist/planning.js +17 -0
  168. package/dist/planning.js.map +1 -0
  169. package/dist/process-runner.d.ts +41 -0
  170. package/dist/process-runner.d.ts.map +1 -0
  171. package/dist/process-runner.js +81 -0
  172. package/dist/process-runner.js.map +1 -0
  173. package/dist/product-config.d.ts +34 -0
  174. package/dist/product-config.d.ts.map +1 -0
  175. package/dist/product-config.js +43 -0
  176. package/dist/product-config.js.map +1 -0
  177. package/dist/queries/cycle-evaluations.d.ts +23 -0
  178. package/dist/queries/cycle-evaluations.d.ts.map +1 -0
  179. package/dist/queries/cycle-evaluations.js +37 -0
  180. package/dist/queries/cycle-evaluations.js.map +1 -0
  181. package/dist/queries/escalations.d.ts +30 -0
  182. package/dist/queries/escalations.d.ts.map +1 -0
  183. package/dist/queries/escalations.js +42 -0
  184. package/dist/queries/escalations.js.map +1 -0
  185. package/dist/queries/execution-units.d.ts +76 -0
  186. package/dist/queries/execution-units.d.ts.map +1 -0
  187. package/dist/queries/execution-units.js +109 -0
  188. package/dist/queries/execution-units.js.map +1 -0
  189. package/dist/queries/gate-results.d.ts +32 -0
  190. package/dist/queries/gate-results.d.ts.map +1 -0
  191. package/dist/queries/gate-results.js +44 -0
  192. package/dist/queries/gate-results.js.map +1 -0
  193. package/dist/queries/instances.d.ts +51 -0
  194. package/dist/queries/instances.d.ts.map +1 -0
  195. package/dist/queries/instances.js +77 -0
  196. package/dist/queries/instances.js.map +1 -0
  197. package/dist/queries/sessions.d.ts +50 -0
  198. package/dist/queries/sessions.d.ts.map +1 -0
  199. package/dist/queries/sessions.js +81 -0
  200. package/dist/queries/sessions.js.map +1 -0
  201. package/dist/queries/shared.d.ts +38 -0
  202. package/dist/queries/shared.d.ts.map +1 -0
  203. package/dist/queries/shared.js +119 -0
  204. package/dist/queries/shared.js.map +1 -0
  205. package/dist/queries/specs.d.ts +12 -0
  206. package/dist/queries/specs.d.ts.map +1 -0
  207. package/dist/queries/specs.js +21 -0
  208. package/dist/queries/specs.js.map +1 -0
  209. package/dist/queries/strategies.d.ts +14 -0
  210. package/dist/queries/strategies.d.ts.map +1 -0
  211. package/dist/queries/strategies.js +18 -0
  212. package/dist/queries/strategies.js.map +1 -0
  213. package/dist/queries/work-units.d.ts +42 -0
  214. package/dist/queries/work-units.d.ts.map +1 -0
  215. package/dist/queries/work-units.js +57 -0
  216. package/dist/queries/work-units.js.map +1 -0
  217. package/dist/queries/workflows.d.ts +29 -0
  218. package/dist/queries/workflows.d.ts.map +1 -0
  219. package/dist/queries/workflows.js +103 -0
  220. package/dist/queries/workflows.js.map +1 -0
  221. package/dist/remediation-units.d.ts +40 -0
  222. package/dist/remediation-units.d.ts.map +1 -0
  223. package/dist/remediation-units.js +263 -0
  224. package/dist/remediation-units.js.map +1 -0
  225. package/dist/replanning.d.ts +72 -0
  226. package/dist/replanning.d.ts.map +1 -0
  227. package/dist/replanning.js +403 -0
  228. package/dist/replanning.js.map +1 -0
  229. package/dist/resource-limits.d.ts +62 -0
  230. package/dist/resource-limits.d.ts.map +1 -0
  231. package/dist/resource-limits.js +322 -0
  232. package/dist/resource-limits.js.map +1 -0
  233. package/dist/scheduler.d.ts +98 -0
  234. package/dist/scheduler.d.ts.map +1 -0
  235. package/dist/scheduler.js +203 -0
  236. package/dist/scheduler.js.map +1 -0
  237. package/dist/session-adapter.d.ts +89 -0
  238. package/dist/session-adapter.d.ts.map +1 -0
  239. package/dist/session-adapter.js +108 -0
  240. package/dist/session-adapter.js.map +1 -0
  241. package/dist/sop-generator.d.ts +29 -0
  242. package/dist/sop-generator.d.ts.map +1 -0
  243. package/dist/sop-generator.js +235 -0
  244. package/dist/sop-generator.js.map +1 -0
  245. package/dist/spec-profiles.d.ts +41 -0
  246. package/dist/spec-profiles.d.ts.map +1 -0
  247. package/dist/spec-profiles.js +131 -0
  248. package/dist/spec-profiles.js.map +1 -0
  249. package/dist/strategy-design-graph.d.ts +23 -0
  250. package/dist/strategy-design-graph.d.ts.map +1 -0
  251. package/dist/strategy-design-graph.js +205 -0
  252. package/dist/strategy-design-graph.js.map +1 -0
  253. package/dist/strategy-design-prompt.d.ts +28 -0
  254. package/dist/strategy-design-prompt.d.ts.map +1 -0
  255. package/dist/strategy-design-prompt.js +108 -0
  256. package/dist/strategy-design-prompt.js.map +1 -0
  257. package/dist/strategy-design-schema.d.ts +767 -0
  258. package/dist/strategy-design-schema.d.ts.map +1 -0
  259. package/dist/strategy-design-schema.js +126 -0
  260. package/dist/strategy-design-schema.js.map +1 -0
  261. package/dist/strategy-design.d.ts +69 -0
  262. package/dist/strategy-design.d.ts.map +1 -0
  263. package/dist/strategy-design.js +411 -0
  264. package/dist/strategy-design.js.map +1 -0
  265. package/dist/strategy-gating.d.ts +31 -0
  266. package/dist/strategy-gating.d.ts.map +1 -0
  267. package/dist/strategy-gating.js +276 -0
  268. package/dist/strategy-gating.js.map +1 -0
  269. package/dist/team-prompt-builder.d.ts +47 -0
  270. package/dist/team-prompt-builder.d.ts.map +1 -0
  271. package/dist/team-prompt-builder.js +362 -0
  272. package/dist/team-prompt-builder.js.map +1 -0
  273. package/dist/trace-engine.d.ts +40 -0
  274. package/dist/trace-engine.d.ts.map +1 -0
  275. package/dist/trace-engine.js +344 -0
  276. package/dist/trace-engine.js.map +1 -0
  277. package/dist/types.d.ts +612 -0
  278. package/dist/types.d.ts.map +1 -0
  279. package/dist/types.js +9 -0
  280. package/dist/types.js.map +1 -0
  281. package/dist/unit-session-lifecycle.d.ts +78 -0
  282. package/dist/unit-session-lifecycle.d.ts.map +1 -0
  283. package/dist/unit-session-lifecycle.js +141 -0
  284. package/dist/unit-session-lifecycle.js.map +1 -0
  285. package/dist/unit-session.d.ts +30 -0
  286. package/dist/unit-session.d.ts.map +1 -0
  287. package/dist/unit-session.js +370 -0
  288. package/dist/unit-session.js.map +1 -0
  289. package/dist/watchdogs.d.ts +33 -0
  290. package/dist/watchdogs.d.ts.map +1 -0
  291. package/dist/watchdogs.js +170 -0
  292. package/dist/watchdogs.js.map +1 -0
  293. package/dist/work-unit-scheduler.d.ts +34 -0
  294. package/dist/work-unit-scheduler.d.ts.map +1 -0
  295. package/dist/work-unit-scheduler.js +91 -0
  296. package/dist/work-unit-scheduler.js.map +1 -0
  297. package/dist/workflow-transition.d.ts +90 -0
  298. package/dist/workflow-transition.d.ts.map +1 -0
  299. package/dist/workflow-transition.js +340 -0
  300. package/dist/workflow-transition.js.map +1 -0
  301. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-design.js","sourceRoot":"","sources":["../src/strategy-design.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Strategy-level gate evaluation orchestrator.
3
+ *
4
+ * Detects strategies in gating states and runs the gate engine against them.
5
+ * Gates run once per strategy (not per work unit) because gate commands
6
+ * (npm test, typecheck, lint) are project-wide.
7
+ *
8
+ * On gate failure, sends feedback (including full gate output) to the team
9
+ * session via stdin, cycles work units from completed back to in_progress
10
+ * (incrementing their iteration count), and transitions the strategy to
11
+ * gate_fix_pending. The agent fixes the issues and re-signals completion
12
+ * via MCP tool call for each unit; detectStrategyCompletion() then
13
+ * auto-transitions the strategy back to gating.
14
+ *
15
+ * Serializes evaluation: at most one strategy gates per poll cycle per
16
+ * instance, since strategies share a worktree.
17
+ */
18
+ import type { ResourceGovernor } from '@telora/daemon-core';
19
+ import type { FactoryConfig, FactoryInstanceState } from './types.js';
20
+ /**
21
+ * Evaluate strategy-level gates for any strategies in gating state.
22
+ *
23
+ * Called from checkBuilding() after the execution cycle. Detects strategies
24
+ * that have transitioned to a gating state (all work units terminal) and
25
+ * runs the gate engine against them.
26
+ *
27
+ * Serialization: processes at most ONE gating strategy per invocation.
28
+ * Strategies share a worktree, so concurrent gate commands would collide.
29
+ */
30
+ export declare function evaluateStrategyGates(state: FactoryInstanceState, config: FactoryConfig, governor?: ResourceGovernor | null): Promise<boolean>;
31
+ //# sourceMappingURL=strategy-gating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-gating.d.ts","sourceRoot":"","sources":["../src/strategy-gating.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAuBpB;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,GACjC,OAAO,CAAC,OAAO,CAAC,CAiPlB"}
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Strategy-level gate evaluation orchestrator.
3
+ *
4
+ * Detects strategies in gating states and runs the gate engine against them.
5
+ * Gates run once per strategy (not per work unit) because gate commands
6
+ * (npm test, typecheck, lint) are project-wide.
7
+ *
8
+ * On gate failure, sends feedback (including full gate output) to the team
9
+ * session via stdin, cycles work units from completed back to in_progress
10
+ * (incrementing their iteration count), and transitions the strategy to
11
+ * gate_fix_pending. The agent fixes the issues and re-signals completion
12
+ * via MCP tool call for each unit; detectStrategyCompletion() then
13
+ * auto-transitions the strategy back to gating.
14
+ *
15
+ * Serializes evaluation: at most one strategy gates per poll cycle per
16
+ * instance, since strategies share a worktree.
17
+ */
18
+ import { evaluateGates } from './gate-engine.js';
19
+ import { updateStrategyExecutionStatus } from './queries/strategies.js';
20
+ import { getInstanceWorkUnits, updateWorkUnitStatus, updateWorkUnitWorkflowStage } from './queries/work-units.js';
21
+ import { getGateResultsByInstance } from './queries/gate-results.js';
22
+ import { buildStrategyGateResultsMessage } from './team-prompt-builder.js';
23
+ import { releaseUnitForStrategy } from './scheduler.js';
24
+ import { terminateUnitSession } from './unit-session-lifecycle.js';
25
+ import { getOrResolveWorkflow } from './workflow-transition.js';
26
+ import { createFactoryEscalation } from './queries/escalations.js';
27
+ const LOG_PREFIX = '[strategy-gating]';
28
+ /** Strategy execution statuses that indicate gates should run. */
29
+ const GATING_STATUSES = new Set([
30
+ 'gating_deterministic',
31
+ 'gating_behavioral',
32
+ 'gating_adversarial',
33
+ ]);
34
+ /**
35
+ * Evaluate strategy-level gates for any strategies in gating state.
36
+ *
37
+ * Called from checkBuilding() after the execution cycle. Detects strategies
38
+ * that have transitioned to a gating state (all work units terminal) and
39
+ * runs the gate engine against them.
40
+ *
41
+ * Serialization: processes at most ONE gating strategy per invocation.
42
+ * Strategies share a worktree, so concurrent gate commands would collide.
43
+ */
44
+ export async function evaluateStrategyGates(state, config, governor) {
45
+ // Fetch current strategies
46
+ let strategies;
47
+ try {
48
+ const { getStrategiesByFactoryInstance } = await import('./strategy-design.js');
49
+ strategies = await getStrategiesByFactoryInstance(state.instanceId);
50
+ }
51
+ catch (err) {
52
+ console.warn(`${LOG_PREFIX} Failed to fetch strategies for instance ${state.instanceId}:`, err.message);
53
+ return false;
54
+ }
55
+ // Find strategies in gating states
56
+ const gatingStrategies = strategies.filter((s) => s.executionStatus && GATING_STATUSES.has(s.executionStatus));
57
+ if (gatingStrategies.length === 0)
58
+ return false;
59
+ // Guard: if any execution unit is actively building for an in-progress strategy,
60
+ // skip gating. Builders may still be writing to the shared worktree.
61
+ const hasRunningBuilders = strategies.some((s) => s.executionStatus === 'in_progress' &&
62
+ [...state.executionUnits.values()].some((u) => u.assignedStrategyId === s.id && u.status === 'running'));
63
+ if (hasRunningBuilders) {
64
+ console.log(`${LOG_PREFIX} Skipping gate evaluation -- running builders for in-progress strategies`);
65
+ return false;
66
+ }
67
+ // Serialize: pick the first gating strategy (by priority/order)
68
+ const strategy = gatingStrategies[0];
69
+ console.log(`${LOG_PREFIX} Running gate evaluation for strategy "${strategy.name}" ` +
70
+ `(${strategy.id}, status: ${strategy.executionStatus})`);
71
+ // Determine iteration number from previous gate runs for this strategy
72
+ let iteration = 1;
73
+ try {
74
+ const priorResults = await getGateResultsByInstance(state.instanceId);
75
+ const priorIterations = new Set(priorResults
76
+ .filter((r) => r.strategyId === strategy.id)
77
+ .map((r) => r.iteration));
78
+ if (priorIterations.size > 0) {
79
+ iteration = Math.max(...priorIterations) + 1;
80
+ }
81
+ }
82
+ catch {
83
+ // Best effort -- default to 1
84
+ }
85
+ // Check max gate iterations limit BEFORE evaluating gates
86
+ const maxGateIterations = state.blueprint.maxGateIterations
87
+ ?? state.blueprint.maxInstanceIterations
88
+ ?? null;
89
+ if (maxGateIterations !== null && iteration > maxGateIterations) {
90
+ console.log(`${LOG_PREFIX} Strategy "${strategy.name}" failed: max gate iterations ` +
91
+ `(${maxGateIterations}) exceeded (current: ${iteration})`);
92
+ await updateStrategyExecutionStatus(strategy.id, 'failed', { gateFixStartedAt: null });
93
+ // Fail the infrastructure-owned gate work unit
94
+ await resolveGateWorkUnit(state.instanceId, strategy.id, false);
95
+ // Create escalation with gate history summary
96
+ try {
97
+ const priorResults = await getGateResultsByInstance(state.instanceId);
98
+ const strategyResults = priorResults.filter((r) => r.strategyId === strategy.id);
99
+ const failedGates = strategyResults.filter((r) => !r.passed);
100
+ const gateTypes = [...new Set(failedGates.map((r) => r.gateType))];
101
+ const summary = `Strategy "${strategy.name}" exceeded max gate iterations (${maxGateIterations}). ` +
102
+ `${failedGates.length} gate failure(s) across ${iteration - 1} iteration(s). ` +
103
+ `Failed gate types: ${gateTypes.join(', ') || 'none'}.`;
104
+ await createFactoryEscalation(state.instanceId, 'gate_iterations_exceeded', summary);
105
+ }
106
+ catch {
107
+ // Best effort -- escalation creation is non-critical
108
+ }
109
+ // Terminate the execution unit session
110
+ terminateStrategyUnit(state, strategy.id);
111
+ return false;
112
+ }
113
+ // Build gate context
114
+ const ctx = {
115
+ strategyId: strategy.id,
116
+ instanceId: state.instanceId,
117
+ iteration,
118
+ };
119
+ let strategyCompleted = false;
120
+ try {
121
+ const result = await evaluateGates(ctx, state, config, governor);
122
+ // Fetch work units for this strategy (needed for feedback message)
123
+ const allWorkUnits = await getInstanceWorkUnits(state.instanceId);
124
+ const strategyWorkUnits = allWorkUnits.filter((wu) => wu.strategyId === strategy.id);
125
+ // Resolve the infrastructure-owned gate verification work unit based on
126
+ // gate results (completed if passed, failed if failed).
127
+ await resolveGateWorkUnit(state.instanceId, strategy.id, result.passed);
128
+ if (result.passed) {
129
+ // Gates passed -- mark strategy completed, clear gate_fix_started_at
130
+ await updateStrategyExecutionStatus(strategy.id, 'completed', { gateFixStartedAt: null });
131
+ // Clear any stored gate feedback for this strategy (no longer needed)
132
+ state.gateFailureFeedback.delete(strategy.id);
133
+ // Send confirmation to the execution unit's session
134
+ const passMessage = buildStrategyGateResultsMessage(strategy.name, strategy.id, true, null, strategyWorkUnits.map((wu) => ({ id: wu.id, title: wu.title })));
135
+ sendMessageToStrategyUnit(state, strategy.id, passMessage);
136
+ // Terminate the unit session (strategy is done, free up the unit)
137
+ terminateStrategyUnit(state, strategy.id);
138
+ // Eagerly release the unit back to idle in DB + memory so the scheduler
139
+ // can assign downstream strategies on the same poll cycle rather than
140
+ // waiting for the process to fully exit.
141
+ try {
142
+ await releaseUnitForStrategy(state, strategy.id);
143
+ }
144
+ catch (err) {
145
+ console.warn(`${LOG_PREFIX} Eager unit release failed for strategy ${strategy.id.slice(0, 8)}: ` +
146
+ `${err.message}`);
147
+ }
148
+ strategyCompleted = true;
149
+ // Find downstream strategies that may now be unblocked
150
+ const downstream = strategies
151
+ .filter((s) => s.dependsOn.includes(strategy.id))
152
+ .map((s) => s.name);
153
+ console.log(`${LOG_PREFIX} Strategy "${strategy.name}" gates PASSED -> completed` +
154
+ (downstream.length > 0
155
+ ? `. Unblocking downstream: ${downstream.join(', ')}`
156
+ : ''));
157
+ }
158
+ else {
159
+ // Gates failed -- send feedback to unit, cycle work units back to in_progress
160
+ console.log(`${LOG_PREFIX} Strategy "${strategy.name}" gates FAILED -- ` +
161
+ 'sending feedback and cycling work units back to in_progress');
162
+ // Send gate failure feedback through the execution unit's adapter
163
+ const failMessage = buildStrategyGateResultsMessage(strategy.name, strategy.id, false, result.failureFeedback, strategyWorkUnits.map((wu) => ({ id: wu.id, title: wu.title })));
164
+ sendMessageToStrategyUnit(state, strategy.id, failMessage);
165
+ // Store feedback for re-delivery if the session dies and respawns
166
+ state.gateFailureFeedback.set(strategy.id, failMessage);
167
+ // Cycle completed work units back to in_progress so the agent can
168
+ // re-signal completion via MCP after fixing gate failures.
169
+ // detectStrategyCompletion() will auto-transition the strategy back
170
+ // to gating once all units are completed again.
171
+ // Only cycle agent-owned units back -- infrastructure-owned units are
172
+ // resolved by the engine and should not be touched by gate failure cycling.
173
+ const completedUnits = strategyWorkUnits.filter((wu) => wu.status === 'completed' && !wu.infrastructureOwned);
174
+ const wuWorkflow = await getOrResolveWorkflow('factory_work_unit');
175
+ const inProgressStageId = wuWorkflow?.stageByName.get('in_progress')?.id ?? null;
176
+ for (const unit of completedUnits) {
177
+ await updateWorkUnitStatus(unit.id, 'in_progress', {
178
+ iterationCount: unit.iterationCount + 1,
179
+ });
180
+ if (inProgressStageId) {
181
+ await updateWorkUnitWorkflowStage(unit.id, inProgressStageId);
182
+ }
183
+ }
184
+ // Transition strategy to gate_fix_pending -- the unit's session
185
+ // fixes the issues and re-signals completion via MCP for each unit.
186
+ // Set gate_fix_started_at for timeout tracking.
187
+ await updateStrategyExecutionStatus(strategy.id, 'gate_fix_pending', {
188
+ gateFixStartedAt: new Date().toISOString(),
189
+ });
190
+ console.log(`${LOG_PREFIX} Strategy "${strategy.name}" -> gate_fix_pending ` +
191
+ `(cycled ${completedUnits.length} work unit(s) to in_progress, iteration incremented)`);
192
+ }
193
+ }
194
+ catch (err) {
195
+ // Gate evaluation threw -- mark strategy failed (unrecoverable)
196
+ console.error(`${LOG_PREFIX} Gate evaluation error for strategy "${strategy.name}":`, err.message);
197
+ // Mark gate work unit as failed (unrecoverable error)
198
+ await resolveGateWorkUnit(state.instanceId, strategy.id, false);
199
+ try {
200
+ await updateStrategyExecutionStatus(strategy.id, 'failed', { gateFixStartedAt: null });
201
+ }
202
+ catch {
203
+ // Best effort
204
+ }
205
+ // Terminate the execution unit session
206
+ terminateStrategyUnit(state, strategy.id);
207
+ }
208
+ return strategyCompleted;
209
+ }
210
+ // ============================================================================
211
+ // Helpers
212
+ // ============================================================================
213
+ /**
214
+ * Send a message to the execution unit currently assigned to a strategy.
215
+ *
216
+ * Finds the unit whose assignedStrategyId matches, then sends through
217
+ * the unit's SessionCommunicationAdapter.
218
+ */
219
+ function sendMessageToStrategyUnit(state, strategyId, content) {
220
+ for (const unit of state.executionUnits.values()) {
221
+ if (unit.assignedStrategyId === strategyId && unit.adapter) {
222
+ return unit.adapter.sendMessage(content);
223
+ }
224
+ }
225
+ console.warn(`${LOG_PREFIX} No active unit found for strategy ${strategyId} -- message not sent`);
226
+ return false;
227
+ }
228
+ /**
229
+ * Terminate the execution unit session assigned to a strategy.
230
+ *
231
+ * Used when a strategy reaches a terminal state (gates passed, failed).
232
+ * The close handler in spawnUnitSession releases the unit back to idle.
233
+ */
234
+ function terminateStrategyUnit(state, strategyId) {
235
+ for (const unit of state.executionUnits.values()) {
236
+ if (unit.assignedStrategyId === strategyId) {
237
+ terminateUnitSession(unit);
238
+ return;
239
+ }
240
+ }
241
+ }
242
+ /**
243
+ * Resolve the infrastructure-owned gate verification work unit for a strategy.
244
+ *
245
+ * Finds the gate verification work unit (infrastructureOwned = true) for the
246
+ * given strategy and updates its status to 'completed' if gates passed, or
247
+ * 'failed' if gates failed.
248
+ *
249
+ * On normal gate failure (strategy transitions to gate_fix_pending), the unit
250
+ * is marked 'failed'. The agent fixes the issues, units re-complete, and
251
+ * detectStrategyCompletion() transitions the strategy back to gating --
252
+ * at which point this function is called again. The infrastructure-owned
253
+ * unit is excluded from strategy completion detection, so its failed status
254
+ * does not block the gate retry cycle.
255
+ */
256
+ async function resolveGateWorkUnit(instanceId, strategyId, passed) {
257
+ try {
258
+ const allWorkUnits = await getInstanceWorkUnits(instanceId);
259
+ const gateUnit = allWorkUnits.find((wu) => wu.strategyId === strategyId && wu.infrastructureOwned);
260
+ if (!gateUnit) {
261
+ console.log(`${LOG_PREFIX} No infrastructure-owned gate unit found for strategy ` +
262
+ `${strategyId.slice(0, 8)} -- skipping resolve`);
263
+ return;
264
+ }
265
+ const targetStatus = passed ? 'completed' : 'failed';
266
+ await updateWorkUnitStatus(gateUnit.id, targetStatus);
267
+ console.log(`${LOG_PREFIX} Gate verification unit ${gateUnit.id.slice(0, 8)} -> ${targetStatus} ` +
268
+ `(strategy ${strategyId.slice(0, 8)})`);
269
+ }
270
+ catch (err) {
271
+ // Non-fatal -- gate unit resolution failure should not disrupt the flow
272
+ console.warn(`${LOG_PREFIX} Failed to resolve gate verification unit for strategy ` +
273
+ `${strategyId.slice(0, 8)}: ${err.message}`);
274
+ }
275
+ }
276
+ //# sourceMappingURL=strategy-gating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-gating.js","sourceRoot":"","sources":["../src/strategy-gating.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Team prompt builder for the persistent team session execution model.
3
+ *
4
+ * When a factory instance uses executionModel='team', a single persistent
5
+ * Claude Code session acts as the team lead. The factory engine sends work
6
+ * batch directives via stdin. The agent signals work unit completion by
7
+ * calling the `telora_factory_work_unit_update` MCP tool with
8
+ * status='completed'. The daemon polls for these DB status changes.
9
+ *
10
+ * This module builds three types of prompts:
11
+ * 1. The initial system prompt when spawning the team session
12
+ * 2. Work batch directives for ready work units
13
+ * 3. Gate results messages (pass/fail feedback)
14
+ */
15
+ import type { FactoryInstanceState, FactoryWorkUnit } from './types.js';
16
+ /**
17
+ * Build the initial system prompt for the persistent team session.
18
+ *
19
+ * This prompt is sent once when the team session is spawned. It establishes
20
+ * the protocol, provides the factory specification and operational context,
21
+ * and explains how the team lead should coordinate work.
22
+ */
23
+ export declare function buildTeamLeadPrompt(state: FactoryInstanceState): string;
24
+ /**
25
+ * Format a batch of ready work units as a directive for the team session.
26
+ *
27
+ * Sent via stdin when the factory engine has identified work units that are
28
+ * ready to be built (all dependencies satisfied). Groups independent units
29
+ * and suggests parallelization.
30
+ */
31
+ export declare function buildWorkBatchDirective(workUnits: FactoryWorkUnit[], state: FactoryInstanceState): string;
32
+ /**
33
+ * Format strategy-level gate pass/fail results for the team session.
34
+ *
35
+ * Sent after the factory engine runs external gate evaluations on a strategy
36
+ * whose work units are all complete. On failure, includes the formatted gate
37
+ * output so the team knows what to fix. On pass, confirms the strategy is done.
38
+ *
39
+ * For failures, work units are cycled back to in_progress. The team makes
40
+ * a targeted fix and re-signals completion via MCP tool call for the affected
41
+ * work units to trigger automatic re-gating.
42
+ */
43
+ export declare function buildStrategyGateResultsMessage(strategyName: string, strategyId: string, passed: boolean, failureFeedback: string | null, workUnits: Array<{
44
+ id: string;
45
+ title: string;
46
+ }>): string;
47
+ //# sourceMappingURL=team-prompt-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-prompt-builder.d.ts","sourceRoot":"","sources":["../src/team-prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOxE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CA0LvE;AAMD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,EAAE,EAC5B,KAAK,EAAE,oBAAoB,GAC1B,MAAM,CA0GR;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,SAAS,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,MAAM,CAuDR"}