@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
@@ -4,39 +4,39 @@
4
4
  * Called by the daemon poll loop to process pending QA requests.
5
5
  * Coordinates provisioning and teardown using the lower-level modules.
6
6
  */
7
- import type { DaemonConfig, StrategyWorktreeInfo } from './types.js';
7
+ import type { DaemonConfig, FocusWorktreeInfo } from './types.js';
8
8
  import type { StartQaDevServerOptions, StartQaDevServerResult } from './qa-dev-server.js';
9
9
  import type { QaEnvironmentState, ProductQaEnvironmentState, SavePointQaEnvironmentState } from './qa-state.js';
10
10
  /** Shape of a QA request row from the API query. */
11
11
  export interface QaRequest {
12
- strategy_id: string;
13
- strategy_name: string;
12
+ focus_id: string;
13
+ focus_name: string;
14
14
  qa_status: string;
15
15
  product_id: string;
16
16
  }
17
- /** Shape of a deactivated QA strategy row from the API query. */
18
- export interface DeactivatedQaStrategy {
19
- strategy_id: string;
20
- strategy_name: string;
17
+ /** Shape of a deactivated QA focus row from the API query. */
18
+ export interface DeactivatedQaFocus {
19
+ focus_id: string;
20
+ focus_name: string;
21
21
  qa_status: string;
22
- strategy_status: string;
22
+ focus_status: string;
23
23
  product_id: string;
24
24
  }
25
25
  /** Injectable dependencies for testing. */
26
26
  export interface QaOrchestratorDeps {
27
27
  getQaRequests: (productId: string) => Promise<QaRequest[]>;
28
- getDeactivatedQaStrategies: (productId: string) => Promise<DeactivatedQaStrategy[]>;
29
- updateQaStatus: (strategyId: string, fields: Record<string, unknown>) => Promise<void>;
30
- getStrategyWorktree: (strategyId: string) => StrategyWorktreeInfo | undefined;
28
+ getDeactivatedQaFocuses: (productId: string) => Promise<DeactivatedQaFocus[]>;
29
+ updateQaStatus: (focusId: string, fields: Record<string, unknown>) => Promise<void>;
30
+ getFocusWorktree: (focusId: string) => FocusWorktreeInfo | undefined;
31
31
  symlinkEnvFiles: (repoPath: string, worktreePath: string) => void;
32
32
  allocatePort: (config: DaemonConfig) => Promise<number>;
33
33
  buildQaUrl: (config: DaemonConfig, port: number) => string;
34
34
  startQaDevServer: (options: StartQaDevServerOptions) => StartQaDevServerResult;
35
35
  stopQaDevServer: (pid: number) => Promise<void>;
36
- getQaEnvironment: (strategyId: string) => QaEnvironmentState | undefined;
37
- setQaEnvironment: (strategyId: string, state: QaEnvironmentState) => void;
38
- removeQaEnvironment: (strategyId: string) => boolean;
39
- hasActiveQaEnvironment: (strategyId: string) => boolean;
36
+ getQaEnvironment: (focusId: string) => QaEnvironmentState | undefined;
37
+ setQaEnvironment: (focusId: string, state: QaEnvironmentState) => void;
38
+ removeQaEnvironment: (focusId: string) => boolean;
39
+ hasActiveQaEnvironment: (focusId: string) => boolean;
40
40
  }
41
41
  /**
42
42
  * Check for and process pending QA requests.
@@ -44,11 +44,11 @@ export interface QaOrchestratorDeps {
44
44
  */
45
45
  export declare function checkQaRequests(config: DaemonConfig, deps?: QaOrchestratorDeps): Promise<void>;
46
46
  /**
47
- * Check for strategies that have been deactivated while QA was running.
48
- * Tears down any QA environment whose strategy is no longer in 'active' status.
47
+ * Check for focuses that have been deactivated while QA was running.
48
+ * Tears down any QA environment whose focus is no longer in 'active' status.
49
49
  * Called each poll cycle from listener.ts.
50
50
  */
51
- export declare function checkQaForDeactivatedStrategies(config: DaemonConfig, deps?: QaOrchestratorDeps): Promise<void>;
51
+ export declare function checkQaForDeactivatedFocuses(config: DaemonConfig, deps?: QaOrchestratorDeps): Promise<void>;
52
52
  /** Shape of a product QA request row from the API query. */
53
53
  export interface ProductQaRequest {
54
54
  product_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"qa-orchestrator.d.ts","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa-orchestrator.d.ts","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,19 @@
4
4
  * Called by the daemon poll loop to process pending QA requests.
5
5
  * Coordinates provisioning and teardown using the lower-level modules.
6
6
  */
7
- import { getQaRequests, updateQaStatus, getDeactivatedQaStrategies, getProductQaRequests, updateProductQaStatus, getSavePointQaRequests, updateSavePointQaStatus } from './supabase.js';
7
+ import { getQaRequests, updateQaStatus, getDeactivatedQaFocuses, getProductQaRequests, updateProductQaStatus, getSavePointQaRequests, updateSavePointQaStatus } from './supabase.js';
8
8
  import { symlinkEnvFiles, createQaWorktree, removeQaWorktree } from './qa-provisioner.js';
9
9
  import { getDefaultBranch } from './git-branch.js';
10
- import { getStrategyWorktree as getStrategyWorktreeImpl } from './strategy-worktree-state.js';
10
+ import { getFocusWorktree as getFocusWorktreeImpl } from './focus-worktree-state.js';
11
11
  import { allocatePort, buildQaUrl } from './qa-port-allocator.js';
12
12
  import { startQaDevServer, stopQaDevServer } from './qa-dev-server.js';
13
13
  import { getQaEnvironment, setQaEnvironment, removeQaEnvironment, hasActiveQaEnvironment, getProductQaEnvironment, setProductQaEnvironment, removeProductQaEnvironment, hasActiveProductQaEnvironment, getSavePointQaEnvironment, setSavePointQaEnvironment, removeSavePointQaEnvironment, hasActiveSavePointQaEnvironment, } from './qa-state.js';
14
14
  /** Default deps wired to real implementations. */
15
15
  const defaultDeps = {
16
16
  getQaRequests,
17
- getDeactivatedQaStrategies,
17
+ getDeactivatedQaFocuses,
18
18
  updateQaStatus,
19
- getStrategyWorktree: getStrategyWorktreeImpl,
19
+ getFocusWorktree: getFocusWorktreeImpl,
20
20
  symlinkEnvFiles,
21
21
  allocatePort,
22
22
  buildQaUrl,
@@ -52,10 +52,10 @@ export async function checkQaRequests(config, deps = defaultDeps) {
52
52
  }
53
53
  }
54
54
  catch (err) {
55
- console.error(`[qa] Error processing QA request for strategy ${req.strategy_name}: ${err.message}`);
55
+ console.error(`[qa] Error processing QA request for focus ${req.focus_name}: ${err.message}`);
56
56
  // Update DB to failed state
57
57
  try {
58
- await deps.updateQaStatus(req.strategy_id, {
58
+ await deps.updateQaStatus(req.focus_id, {
59
59
  qaStatus: 'failed',
60
60
  qaError: err.message,
61
61
  });
@@ -67,7 +67,7 @@ export async function checkQaRequests(config, deps = defaultDeps) {
67
67
  }
68
68
  }
69
69
  /**
70
- * Provision a QA environment for a strategy.
70
+ * Provision a QA environment for a focus.
71
71
  *
72
72
  * 1. If already active (refresh case), tear down first.
73
73
  * 2. Set DB status to 'provisioning'.
@@ -76,28 +76,28 @@ export async function checkQaRequests(config, deps = defaultDeps) {
76
76
  * 5. Update in-memory state and DB to 'ready'.
77
77
  */
78
78
  async function handleQaProvision(config, req, deps) {
79
- const { strategy_id: strategyId, strategy_name: strategyName } = req;
79
+ const { focus_id: focusId, focus_name: focusName } = req;
80
80
  // If already active (refresh), tear down first
81
- if (deps.hasActiveQaEnvironment(strategyId)) {
82
- console.log(`[qa] Refreshing QA environment for "${strategyName}"`);
81
+ if (deps.hasActiveQaEnvironment(focusId)) {
82
+ console.log(`[qa] Refreshing QA environment for "${focusName}"`);
83
83
  await handleQaTeardown(config, req, deps);
84
84
  }
85
85
  // 1. Set provisioning in DB
86
- await deps.updateQaStatus(strategyId, { qaStatus: 'provisioning' });
86
+ await deps.updateQaStatus(focusId, { qaStatus: 'provisioning' });
87
87
  // 2. Allocate port
88
88
  const port = await deps.allocatePort(config);
89
89
  const url = deps.buildQaUrl(config, port);
90
- // 3. Look up the persistent strategy worktree (QA runs inside it)
91
- const worktreeInfo = deps.getStrategyWorktree(strategyId);
90
+ // 3. Look up the persistent focus worktree (QA runs inside it)
91
+ const worktreeInfo = deps.getFocusWorktree(focusId);
92
92
  if (!worktreeInfo) {
93
- throw new Error(`No persistent worktree found for strategy "${strategyName}" (${strategyId})`);
93
+ throw new Error(`No persistent worktree found for focus "${focusName}" (${focusId})`);
94
94
  }
95
95
  const worktreePath = worktreeInfo.worktreePath;
96
96
  deps.symlinkEnvFiles(config.repoPath, worktreePath);
97
97
  // 4. Track in memory (status provisioning, dev server not yet started)
98
98
  const state = {
99
- strategyId,
100
- strategyName,
99
+ focusId,
100
+ focusName,
101
101
  worktreePath,
102
102
  pid: null,
103
103
  port,
@@ -106,17 +106,17 @@ async function handleQaProvision(config, req, deps) {
106
106
  createdAt: new Date(),
107
107
  lastError: null,
108
108
  };
109
- deps.setQaEnvironment(strategyId, state);
109
+ deps.setQaEnvironment(focusId, state);
110
110
  // 5. Start dev server (npm install + npm run dev)
111
111
  const result = deps.startQaDevServer({
112
112
  config,
113
- strategyId,
113
+ focusId,
114
114
  worktreePath,
115
115
  port,
116
116
  onUnexpectedExit: (error) => {
117
- console.error(`[qa] Dev server crashed for "${strategyName}": ${error}`);
118
- deps.setQaEnvironment(strategyId, { ...state, pid: null, status: 'failed', lastError: error });
119
- deps.updateQaStatus(strategyId, { qaStatus: 'failed', qaError: error }).catch((e) => {
117
+ console.error(`[qa] Dev server crashed for "${focusName}": ${error}`);
118
+ deps.setQaEnvironment(focusId, { ...state, pid: null, status: 'failed', lastError: error });
119
+ deps.updateQaStatus(focusId, { qaStatus: 'failed', qaError: error }).catch((e) => {
120
120
  console.warn(`[qa] Failed to report dev server crash: ${e.message}`);
121
121
  });
122
122
  },
@@ -127,38 +127,38 @@ async function handleQaProvision(config, req, deps) {
127
127
  pid: result.pid,
128
128
  status: 'ready',
129
129
  };
130
- deps.setQaEnvironment(strategyId, readyState);
130
+ deps.setQaEnvironment(focusId, readyState);
131
131
  // 7. Update DB to ready
132
- await deps.updateQaStatus(strategyId, {
132
+ await deps.updateQaStatus(focusId, {
133
133
  qaStatus: 'ready',
134
134
  qaUrl: url,
135
135
  qaPort: port,
136
136
  qaWorktreePath: worktreePath,
137
137
  qaReadyAt: new Date().toISOString(),
138
138
  });
139
- console.log(`[qa] QA environment ready for "${strategyName}" at ${url}`);
139
+ console.log(`[qa] QA environment ready for "${focusName}" at ${url}`);
140
140
  }
141
141
  /**
142
- * Tear down a QA environment for a strategy.
142
+ * Tear down a QA environment for a focus.
143
143
  *
144
144
  * 1. Kill the dev server process if running.
145
145
  * 2. Remove the worktree.
146
146
  * 3. Clear in-memory and DB state.
147
147
  */
148
148
  async function handleQaTeardown(config, req, deps) {
149
- const { strategy_id: strategyId, strategy_name: strategyName } = req;
150
- console.log(`[qa] Tearing down QA environment for "${strategyName}"`);
149
+ const { focus_id: focusId, focus_name: focusName } = req;
150
+ console.log(`[qa] Tearing down QA environment for "${focusName}"`);
151
151
  // Kill dev server if running
152
- const state = deps.getQaEnvironment(strategyId);
152
+ const state = deps.getQaEnvironment(focusId);
153
153
  if (state?.pid) {
154
154
  await deps.stopQaDevServer(state.pid);
155
155
  }
156
- // Worktree is strategy-owned -- do NOT remove here.
157
- // Removal happens via coordinated teardown when the strategy is deactivated.
156
+ // Worktree is focus-owned -- do NOT remove here.
157
+ // Removal happens via coordinated teardown when the focus is deactivated.
158
158
  // Clear in-memory state
159
- deps.removeQaEnvironment(strategyId);
159
+ deps.removeQaEnvironment(focusId);
160
160
  // Clear DB state
161
- await deps.updateQaStatus(strategyId, {
161
+ await deps.updateQaStatus(focusId, {
162
162
  qaStatus: null,
163
163
  qaUrl: null,
164
164
  qaPort: null,
@@ -166,36 +166,36 @@ async function handleQaTeardown(config, req, deps) {
166
166
  qaReadyAt: null,
167
167
  qaError: null,
168
168
  });
169
- console.log(`[qa] QA environment torn down for "${strategyName}"`);
169
+ console.log(`[qa] QA environment torn down for "${focusName}"`);
170
170
  }
171
171
  /**
172
- * Check for strategies that have been deactivated while QA was running.
173
- * Tears down any QA environment whose strategy is no longer in 'active' status.
172
+ * Check for focuses that have been deactivated while QA was running.
173
+ * Tears down any QA environment whose focus is no longer in 'active' status.
174
174
  * Called each poll cycle from listener.ts.
175
175
  */
176
- export async function checkQaForDeactivatedStrategies(config, deps = defaultDeps) {
176
+ export async function checkQaForDeactivatedFocuses(config, deps = defaultDeps) {
177
177
  let deactivated;
178
178
  try {
179
- deactivated = await deps.getDeactivatedQaStrategies(config.productId);
179
+ deactivated = await deps.getDeactivatedQaFocuses(config.productId);
180
180
  }
181
181
  catch (err) {
182
- console.warn(`[qa] Failed to fetch deactivated QA strategies: ${err.message}`);
182
+ console.warn(`[qa] Failed to fetch deactivated QA focuses: ${err.message}`);
183
183
  return;
184
184
  }
185
185
  if (deactivated.length === 0)
186
186
  return;
187
- for (const strategy of deactivated) {
188
- console.log(`[qa] Strategy "${strategy.strategy_name}" is ${strategy.strategy_status} but has QA state "${strategy.qa_status}" -- tearing down`);
187
+ for (const focus of deactivated) {
188
+ console.log(`[qa] Focus "${focus.focus_name}" is ${focus.focus_status} but has QA state "${focus.qa_status}" -- tearing down`);
189
189
  try {
190
190
  await handleQaTeardown(config, {
191
- strategy_id: strategy.strategy_id,
192
- strategy_name: strategy.strategy_name,
193
- qa_status: strategy.qa_status,
194
- product_id: strategy.product_id,
191
+ focus_id: focus.focus_id,
192
+ focus_name: focus.focus_name,
193
+ qa_status: focus.qa_status,
194
+ product_id: focus.product_id,
195
195
  }, deps);
196
196
  }
197
197
  catch (err) {
198
- console.error(`[qa] Error tearing down QA for deactivated strategy "${strategy.strategy_name}": ${err.message}`);
198
+ console.error(`[qa] Error tearing down QA for deactivated focus "${focus.focus_name}": ${err.message}`);
199
199
  }
200
200
  }
201
201
  }
@@ -294,7 +294,7 @@ async function handleProductQaProvision(config, req, deps) {
294
294
  // 5. Start dev server in integration worktree
295
295
  const result = deps.startQaDevServer({
296
296
  config,
297
- strategyId: `product-${productId}`,
297
+ focusId: `product-${productId}`,
298
298
  worktreePath,
299
299
  port,
300
300
  onUnexpectedExit: (error) => {
@@ -463,7 +463,7 @@ async function handleSavePointQaProvision(config, req, deps) {
463
463
  // 5. Start dev server
464
464
  const result = deps.startQaDevServer({
465
465
  config,
466
- strategyId: `save-point-${savePointId}`,
466
+ focusId: `save-point-${savePointId}`,
467
467
  worktreePath,
468
468
  port,
469
469
  onUnexpectedExit: (error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"qa-orchestrator.js","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa-orchestrator.js","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACrL,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,eAAe,CAAC;AAqCvB,kDAAkD;AAClD,MAAM,WAAW,GAAuB;IACtC,aAAa;IACb,uBAAuB;IACvB,cAAc;IACd,gBAAgB,EAAE,oBAAoB;IACtC,eAAe;IACf,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;IACnB,sBAAsB;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAoB,EAAE,OAA2B,WAAW;IAChG,IAAI,QAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,8CAA8C,GAAG,CAAC,UAAU,KAAM,GAAa,CAAC,OAAO,EAAE,CAC1F,CAAC;YACF,4BAA4B;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACtC,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAG,GAAa,CAAC,OAAO;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,sCAAuC,SAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAoB,EAAE,GAAc,EAAE,IAAwB;IAC7F,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAEzD,+CAA+C;IAC/C,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;QACjE,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAEjE,mBAAmB;IACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,+DAA+D;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,SAAS,MAAM,OAAO,GAAG,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IAC/C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEpD,uEAAuE;IACvE,MAAM,KAAK,GAAuB;QAChC,OAAO;QACP,SAAS;QACT,YAAY;QACZ,GAAG,EAAE,IAAI;QACT,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEtC,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,MAAM;QACN,OAAO;QACP,YAAY;QACZ,IAAI;QACJ,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBACxF,OAAO,CAAC,IAAI,CAAC,2CAA4C,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,UAAU,GAAuB;QACrC,GAAG,KAAK;QACR,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,MAAM,EAAE,OAAO;KAChB,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE3C,wBAAwB;IACxB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACjC,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,YAAY;QAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,kCAAkC,SAAS,QAAQ,GAAG,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAoB,EAAE,GAAc,EAAE,IAAwB;IAC5F,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAEzD,OAAO,CAAC,GAAG,CAAC,yCAAyC,SAAS,GAAG,CAAC,CAAC;IAEnE,6BAA6B;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,iDAAiD;IACjD,0EAA0E;IAE1E,wBAAwB;IACxB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElC,iBAAiB;IACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,GAAG,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAoB,EACpB,OAA2B,WAAW;IAEtC,IAAI,WAAiC,CAAC;IACtC,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gDAAiD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAErC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CACT,eAAe,KAAK,CAAC,UAAU,QAAQ,KAAK,CAAC,YAAY,sBAAsB,KAAK,CAAC,SAAS,mBAAmB,CAClH,CAAC;QACF,IAAI,CAAC;YACH,MAAM,gBAAgB,CACpB,MAAM,EACN;gBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,EACD,IAAI,CACL,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,qDAAqD,KAAK,CAAC,UAAU,MAAO,GAAa,CAAC,OAAO,EAAE,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AA8BD,kDAAkD;AAClD,MAAM,kBAAkB,GAA8B;IACpD,oBAAoB;IACpB,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,0BAA0B;IAC1B,6BAA6B;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,OAAkC,kBAAkB;IAEpD,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qDAAsD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;gBACjD,MAAM,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,yDAAyD,GAAG,CAAC,YAAY,MAAO,GAAa,CAAC,OAAO,EAAE,CACxG,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC/C,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAG,GAAa,CAAC,OAAO;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,8CAA+C,SAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CACrC,MAAoB,EACpB,GAAqB,EACrB,IAA+B;IAE/B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAEjE,+CAA+C;IAC/C,IAAI,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,uDAAuD,WAAW,GAAG,CAAC,CAAC;QACnF,MAAM,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAE1E,mBAAmB;IACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,iDAAiD;IACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,SAAS,EAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEpD,qBAAqB;IACrB,MAAM,KAAK,GAA8B;QACvC,SAAS;QACT,WAAW;QACX,YAAY;QACZ,GAAG,EAAE,IAAI;QACT,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;IACF,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE/C,8CAA8C;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,MAAM;QACN,OAAO,EAAE,WAAW,SAAS,EAAE;QAC/B,YAAY;QACZ,IAAI;QACJ,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,gDAAgD,WAAW,MAAM,KAAK,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBACjG,OAAO,CAAC,IAAI,CAAC,mDAAoD,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,UAAU,GAA8B;QAC5C,GAAG,KAAK;QACR,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,MAAM,EAAE,OAAO;KAChB,CAAC;IACF,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEpD,wBAAwB;IACxB,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE;QAC1C,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,YAAY;QAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,kDAAkD,WAAW,QAAQ,GAAG,KAAK,aAAa,GAAG,CAAC,CAAC;AAC7G,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,MAAoB,EACpB,GAAqB,EACrB,IAA+B;IAE/B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,yDAAyD,WAAW,mCAAmC,CAAC,CAAC;QACtH,MAAM,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,WAAW,GAAG,CAAC,CAAC;IAE7E,8EAA8E;IAC9E,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,SAAS,EAAE,CAAC,CAAC;IAErE,oBAAoB;IACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,mDAAmD,WAAW,MAAM,aAAa,GAAG,CAAC,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CACpC,MAAoB,EACpB,GAAqB,EACrB,IAA+B;IAE/B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAEjE,OAAO,CAAC,GAAG,CAAC,yDAAyD,WAAW,GAAG,CAAC,CAAC;IAErF,6BAA6B;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,oEAAoE;IACpE,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAE3C,iBAAiB;IACjB,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,sDAAsD,WAAW,GAAG,CAAC,CAAC;AACpF,CAAC;AA+BD,kDAAkD;AAClD,MAAM,oBAAoB,GAAgC;IACxD,sBAAsB;IACtB,uBAAuB;IACvB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,yBAAyB;IACzB,yBAAyB;IACzB,4BAA4B;IAC5B,+BAA+B;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoB,EACpB,OAAoC,oBAAoB;IAExD,IAAI,QAA8B,CAAC;IACnC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,2DAA4D,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAClG,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,0BAA0B,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,+DAA+D,GAAG,CAAC,IAAI,MAAO,GAAa,CAAC,OAAO,EAAE,CACtG,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,aAAa,EAAE;oBACpD,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAG,GAAa,CAAC,OAAO;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,iDAAkD,SAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAoB,EACpB,GAAuB,EACvB,IAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IAEtF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,2CAA2C,CAAC,CAAC;IACpF,CAAC;IAED,+CAA+C;IAC/C,IAAI,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,kDAAkD,MAAM,GAAG,CAAC,CAAC;QACzE,MAAM,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAE9E,mBAAmB;IACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,yCAAyC;IACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEpD,qBAAqB;IACrB,MAAM,KAAK,GAAgC;QACzC,WAAW;QACX,IAAI,EAAE,MAAM;QACZ,YAAY;QACZ,GAAG,EAAE,IAAI;QACT,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;IACF,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,MAAM;QACN,OAAO,EAAE,cAAc,WAAW,EAAE;QACpC,YAAY;QACZ,IAAI;QACJ,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,2CAA2C,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzG,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBACrG,OAAO,CAAC,IAAI,CAAC,sDAAuD,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,UAAU,GAAgC;QAC9C,GAAG,KAAK;QACR,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,MAAM,EAAE,OAAO;KAChB,CAAC;IACF,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAExD,wBAAwB;IACxB,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE;QAC9C,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,yBAAyB,CACtC,MAAoB,EACpB,GAAuB,EACvB,IAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEzD,OAAO,CAAC,GAAG,CAAC,oDAAoD,MAAM,GAAG,CAAC,CAAC;IAE3E,6BAA6B;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAE/C,6EAA6E;IAC7E,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE;QAC9C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,iDAAiD,MAAM,GAAG,CAAC,CAAC;AAC1E,CAAC"}
@@ -2,19 +2,19 @@
2
2
  * QA worktree provisioning and teardown.
3
3
  *
4
4
  * Manages git worktrees for QA environments. Unlike agent worktrees,
5
- * QA worktrees are read-only checkouts of a strategy's integration branch
5
+ * QA worktrees are read-only checkouts of a focus's integration branch
6
6
  * used to run a dev server for manual QA verification.
7
7
  */
8
8
  import type { DaemonConfig } from './types.js';
9
9
  /**
10
- * Create (or update) a QA worktree for a strategy's integration branch.
10
+ * Create (or update) a QA worktree for a focus's integration branch.
11
11
  *
12
12
  * If the worktree already exists, checks out the correct branch and
13
13
  * pulls the latest changes. Otherwise, creates a fresh worktree.
14
14
  *
15
15
  * @returns The absolute path to the QA worktree directory.
16
16
  */
17
- export declare function createQaWorktree(config: DaemonConfig, strategyBranchName: string, strategyId: string): string;
17
+ export declare function createQaWorktree(config: DaemonConfig, focusBranchName: string, focusId: string): string;
18
18
  /**
19
19
  * Remove a QA worktree.
20
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"qa-provisioner.d.ts","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAiER;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CAgCN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CA6CN"}
1
+ {"version":3,"file":"qa-provisioner.d.ts","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,CAiER;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CAgCN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CA6CN"}
@@ -2,7 +2,7 @@
2
2
  * QA worktree provisioning and teardown.
3
3
  *
4
4
  * Manages git worktrees for QA environments. Unlike agent worktrees,
5
- * QA worktrees are read-only checkouts of a strategy's integration branch
5
+ * QA worktrees are read-only checkouts of a focus's integration branch
6
6
  * used to run a dev server for manual QA verification.
7
7
  */
8
8
  import { existsSync, mkdirSync, symlinkSync, unlinkSync, readlinkSync, rmSync } from 'node:fs';
@@ -11,15 +11,15 @@ import { runGitSync, branchExists } from './git.js';
11
11
  /** File names to symlink from the main repo into QA worktrees. */
12
12
  const ENV_FILES = ['.env', '.env.local', '.env.development.local'];
13
13
  /**
14
- * Create (or update) a QA worktree for a strategy's integration branch.
14
+ * Create (or update) a QA worktree for a focus's integration branch.
15
15
  *
16
16
  * If the worktree already exists, checks out the correct branch and
17
17
  * pulls the latest changes. Otherwise, creates a fresh worktree.
18
18
  *
19
19
  * @returns The absolute path to the QA worktree directory.
20
20
  */
21
- export function createQaWorktree(config, strategyBranchName, strategyId) {
22
- const worktreePath = join(config.worktreeDir, 'qa-' + strategyId.slice(0, 8));
21
+ export function createQaWorktree(config, focusBranchName, focusId) {
22
+ const worktreePath = join(config.worktreeDir, 'qa-' + focusId.slice(0, 8));
23
23
  // Ensure parent worktree directory exists
24
24
  if (!existsSync(config.worktreeDir)) {
25
25
  mkdirSync(config.worktreeDir, { recursive: true });
@@ -30,12 +30,12 @@ export function createQaWorktree(config, strategyBranchName, strategyId) {
30
30
  console.log(`[qa-provisioner] QA worktree already exists, updating: ${worktreePath}`);
31
31
  // Reset detached HEAD to the local branch tip.
32
32
  // Only fetch from origin if the branch doesn't exist locally (remote-only branch).
33
- if (!branchExists(strategyBranchName, config.repoPath)) {
34
- runGitSync(['fetch', 'origin', strategyBranchName], config.repoPath);
33
+ if (!branchExists(focusBranchName, config.repoPath)) {
34
+ runGitSync(['fetch', 'origin', focusBranchName], config.repoPath);
35
35
  }
36
- const resetResult = runGitSync(['checkout', '--detach', strategyBranchName], worktreePath);
36
+ const resetResult = runGitSync(['checkout', '--detach', focusBranchName], worktreePath);
37
37
  if (!resetResult.success) {
38
- console.warn(`[qa-provisioner] Could not update detached HEAD to ${strategyBranchName}: ${resetResult.error}`);
38
+ console.warn(`[qa-provisioner] Could not update detached HEAD to ${focusBranchName}: ${resetResult.error}`);
39
39
  }
40
40
  symlinkEnvFiles(config.repoPath, worktreePath);
41
41
  return worktreePath;
@@ -43,17 +43,17 @@ export function createQaWorktree(config, strategyBranchName, strategyId) {
43
43
  // Prune stale worktree entries before creating a new one
44
44
  runGitSync(['worktree', 'prune'], config.repoPath);
45
45
  // If the branch doesn't exist locally, try fetching from origin
46
- if (!branchExists(strategyBranchName, config.repoPath)) {
47
- console.log(`[qa-provisioner] Branch ${strategyBranchName} not found locally, fetching from origin...`);
48
- const fetchResult = runGitSync(['fetch', 'origin', strategyBranchName], config.repoPath);
46
+ if (!branchExists(focusBranchName, config.repoPath)) {
47
+ console.log(`[qa-provisioner] Branch ${focusBranchName} not found locally, fetching from origin...`);
48
+ const fetchResult = runGitSync(['fetch', 'origin', focusBranchName], config.repoPath);
49
49
  if (!fetchResult.success) {
50
- throw new Error(`[qa-provisioner] Failed to fetch branch ${strategyBranchName} from origin: ${fetchResult.error}`);
50
+ throw new Error(`[qa-provisioner] Failed to fetch branch ${focusBranchName} from origin: ${fetchResult.error}`);
51
51
  }
52
52
  }
53
53
  // Create the worktree with detached HEAD to avoid locking the branch.
54
54
  // Locking the branch prevents agent merges into integration while QA is running.
55
- console.log(`[qa-provisioner] Creating QA worktree at ${worktreePath} (detached at ${strategyBranchName})`);
56
- const addResult = runGitSync(['worktree', 'add', '--detach', worktreePath, strategyBranchName], config.repoPath);
55
+ console.log(`[qa-provisioner] Creating QA worktree at ${worktreePath} (detached at ${focusBranchName})`);
56
+ const addResult = runGitSync(['worktree', 'add', '--detach', worktreePath, focusBranchName], config.repoPath);
57
57
  if (!addResult.success) {
58
58
  throw new Error(`[qa-provisioner] Failed to create QA worktree: ${addResult.error}`);
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qa-provisioner.js","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa-provisioner.js","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@
8
8
  export type QaEnvironmentStatus = 'provisioning' | 'ready' | 'stopping' | 'failed';
9
9
  /** In-memory state for a QA environment. */
10
10
  export interface QaEnvironmentState {
11
- /** Strategy UUID this QA environment is for. */
12
- strategyId: string;
13
- /** Strategy name for logging. */
14
- strategyName: string;
11
+ /** Focus UUID this QA environment is for. */
12
+ focusId: string;
13
+ /** Focus name for logging. */
14
+ focusName: string;
15
15
  /** Filesystem path to the QA worktree. */
16
16
  worktreePath: string;
17
17
  /** PID of the dev server process. */
@@ -32,13 +32,13 @@ export interface QaEnvironmentState {
32
32
  */
33
33
  export declare function getActiveQaEnvironments(): Map<string, QaEnvironmentState>;
34
34
  /**
35
- * Get a single QA environment by strategy ID.
35
+ * Get a single QA environment by focus ID.
36
36
  */
37
- export declare function getQaEnvironment(strategyId: string): QaEnvironmentState | undefined;
37
+ export declare function getQaEnvironment(focusId: string): QaEnvironmentState | undefined;
38
38
  /**
39
- * Check if a strategy already has an active QA environment.
39
+ * Check if a focus already has an active QA environment.
40
40
  */
41
- export declare function hasActiveQaEnvironment(strategyId: string): boolean;
41
+ export declare function hasActiveQaEnvironment(focusId: string): boolean;
42
42
  /**
43
43
  * Get count of active QA environments.
44
44
  */
@@ -46,12 +46,12 @@ export declare function getQaEnvironmentCount(): number;
46
46
  /**
47
47
  * Add or update a QA environment entry.
48
48
  */
49
- export declare function setQaEnvironment(strategyId: string, state: QaEnvironmentState): void;
49
+ export declare function setQaEnvironment(focusId: string, state: QaEnvironmentState): void;
50
50
  /**
51
51
  * Remove a QA environment entry.
52
52
  * Returns whether the entry existed.
53
53
  */
54
- export declare function removeQaEnvironment(strategyId: string): boolean;
54
+ export declare function removeQaEnvironment(focusId: string): boolean;
55
55
  /** In-memory state for a product-level QA environment. */
56
56
  export interface ProductQaEnvironmentState {
57
57
  /** Product UUID this QA environment is for. */
@@ -1 +1 @@
1
- {"version":3,"file":"qa-state.d.ts","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa-state.d.ts","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"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"}
package/dist/qa-state.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * query/mutation helpers for the active environments map.
6
6
  */
7
7
  // ── Active environments tracking ─────────────────────────────────────
8
- /** Active QA environments: strategyId -> QaEnvironmentState */
8
+ /** Active QA environments: focusId -> QaEnvironmentState */
9
9
  const activeEnvironments = new Map();
10
10
  /**
11
11
  * Get all active QA environments.
@@ -14,16 +14,16 @@ export function getActiveQaEnvironments() {
14
14
  return activeEnvironments;
15
15
  }
16
16
  /**
17
- * Get a single QA environment by strategy ID.
17
+ * Get a single QA environment by focus ID.
18
18
  */
19
- export function getQaEnvironment(strategyId) {
20
- return activeEnvironments.get(strategyId);
19
+ export function getQaEnvironment(focusId) {
20
+ return activeEnvironments.get(focusId);
21
21
  }
22
22
  /**
23
- * Check if a strategy already has an active QA environment.
23
+ * Check if a focus already has an active QA environment.
24
24
  */
25
- export function hasActiveQaEnvironment(strategyId) {
26
- return activeEnvironments.has(strategyId);
25
+ export function hasActiveQaEnvironment(focusId) {
26
+ return activeEnvironments.has(focusId);
27
27
  }
28
28
  /**
29
29
  * Get count of active QA environments.
@@ -34,15 +34,15 @@ export function getQaEnvironmentCount() {
34
34
  /**
35
35
  * Add or update a QA environment entry.
36
36
  */
37
- export function setQaEnvironment(strategyId, state) {
38
- activeEnvironments.set(strategyId, state);
37
+ export function setQaEnvironment(focusId, state) {
38
+ activeEnvironments.set(focusId, state);
39
39
  }
40
40
  /**
41
41
  * Remove a QA environment entry.
42
42
  * Returns whether the entry existed.
43
43
  */
44
- export function removeQaEnvironment(strategyId) {
45
- return activeEnvironments.delete(strategyId);
44
+ export function removeQaEnvironment(focusId) {
45
+ return activeEnvironments.delete(focusId);
46
46
  }
47
47
  /** Active product QA environments: productId -> ProductQaEnvironmentState */
48
48
  const activeProductEnvironments = new Map();