takt 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/README.md +12 -10
  2. package/builtins/en/facets/instructions/implement-after-tests.md +9 -0
  3. package/builtins/en/facets/instructions/implement.md +9 -0
  4. package/builtins/en/facets/instructions/plan.md +4 -0
  5. package/builtins/en/facets/instructions/review-arch.md +2 -0
  6. package/builtins/en/facets/policies/coding.md +3 -0
  7. package/builtins/en/piece-categories.yaml +21 -17
  8. package/builtins/en/pieces/backend-cqrs-review-fix.yaml +220 -0
  9. package/builtins/en/pieces/backend-cqrs-review.yaml +148 -0
  10. package/builtins/en/pieces/backend-cqrs.yaml +1 -1
  11. package/builtins/en/pieces/backend-review-fix.yaml +196 -0
  12. package/builtins/en/pieces/backend-review.yaml +126 -0
  13. package/builtins/en/pieces/backend.yaml +1 -1
  14. package/builtins/en/pieces/default.yaml +23 -86
  15. package/builtins/en/pieces/{expert-cqrs-mini.yaml → dual-cqrs-mini.yaml} +3 -3
  16. package/builtins/en/pieces/dual-cqrs-review-fix.yaml +243 -0
  17. package/builtins/en/pieces/dual-cqrs-review.yaml +169 -0
  18. package/builtins/en/pieces/{expert-cqrs.yaml → dual-cqrs.yaml} +3 -3
  19. package/builtins/en/pieces/{expert-mini.yaml → dual-mini.yaml} +3 -3
  20. package/builtins/en/pieces/dual-review-fix.yaml +219 -0
  21. package/builtins/en/pieces/dual-review.yaml +147 -0
  22. package/builtins/en/pieces/{expert.yaml → dual.yaml} +3 -3
  23. package/builtins/en/pieces/frontend-review-fix.yaml +216 -0
  24. package/builtins/en/pieces/frontend-review.yaml +146 -0
  25. package/builtins/en/pieces/frontend.yaml +1 -1
  26. package/builtins/en/pieces/review-fix.yaml +241 -0
  27. package/builtins/en/pieces/takt-default-review-fix.yaml +219 -0
  28. package/builtins/en/pieces/takt-default-team-leader.yaml +1 -1
  29. package/builtins/en/pieces/takt-default.yaml +1 -1
  30. package/builtins/en/templates/instructions/supervise.md +2 -2
  31. package/builtins/en/templates/reports/summary.md +1 -1
  32. package/builtins/ja/facets/instructions/implement-after-tests.md +9 -0
  33. package/builtins/ja/facets/instructions/implement.md +9 -0
  34. package/builtins/ja/facets/instructions/plan.md +4 -0
  35. package/builtins/ja/facets/instructions/review-arch.md +2 -0
  36. package/builtins/ja/facets/personas/{expert-supervisor.md → dual-supervisor.md} +1 -1
  37. package/builtins/ja/facets/policies/coding.md +3 -0
  38. package/builtins/ja/piece-categories.yaml +21 -17
  39. package/builtins/ja/pieces/backend-cqrs-review-fix.yaml +220 -0
  40. package/builtins/ja/pieces/backend-cqrs-review.yaml +148 -0
  41. package/builtins/ja/pieces/backend-cqrs.yaml +1 -1
  42. package/builtins/ja/pieces/backend-review-fix.yaml +196 -0
  43. package/builtins/ja/pieces/backend-review.yaml +126 -0
  44. package/builtins/ja/pieces/backend.yaml +1 -1
  45. package/builtins/ja/pieces/default.yaml +24 -87
  46. package/builtins/ja/pieces/{expert-cqrs-mini.yaml → dual-cqrs-mini.yaml} +3 -3
  47. package/builtins/ja/pieces/dual-cqrs-review-fix.yaml +243 -0
  48. package/builtins/ja/pieces/dual-cqrs-review.yaml +169 -0
  49. package/builtins/ja/pieces/{expert-cqrs.yaml → dual-cqrs.yaml} +3 -3
  50. package/builtins/ja/pieces/{expert-mini.yaml → dual-mini.yaml} +3 -3
  51. package/builtins/ja/pieces/dual-review-fix.yaml +219 -0
  52. package/builtins/ja/pieces/dual-review.yaml +147 -0
  53. package/builtins/ja/pieces/{expert.yaml → dual.yaml} +3 -3
  54. package/builtins/ja/pieces/frontend-review-fix.yaml +216 -0
  55. package/builtins/ja/pieces/frontend-review.yaml +146 -0
  56. package/builtins/ja/pieces/frontend.yaml +1 -1
  57. package/builtins/ja/pieces/review-fix.yaml +241 -0
  58. package/builtins/ja/pieces/takt-default-review-fix.yaml +219 -0
  59. package/builtins/ja/pieces/takt-default-team-leader.yaml +1 -1
  60. package/builtins/ja/pieces/takt-default.yaml +1 -1
  61. package/builtins/ja/templates/instructions/supervise.md +2 -2
  62. package/builtins/ja/templates/output-contracts/summary.md +1 -1
  63. package/builtins/skill/SKILL.md +2 -2
  64. package/builtins/skill/references/engine.md +3 -3
  65. package/dist/{core/piece → agents}/agent-usecases.d.ts +4 -2
  66. package/dist/agents/agent-usecases.d.ts.map +1 -0
  67. package/dist/{core/piece → agents}/agent-usecases.js +13 -10
  68. package/dist/agents/agent-usecases.js.map +1 -0
  69. package/dist/agents/ai-judge.js +1 -1
  70. package/dist/agents/ai-judge.js.map +1 -1
  71. package/dist/agents/runner.d.ts +1 -0
  72. package/dist/agents/runner.d.ts.map +1 -1
  73. package/dist/agents/runner.js +27 -9
  74. package/dist/agents/runner.js.map +1 -1
  75. package/dist/agents/types.d.ts +6 -1
  76. package/dist/agents/types.d.ts.map +1 -1
  77. package/dist/app/cli/helpers.d.ts +0 -6
  78. package/dist/app/cli/helpers.d.ts.map +1 -1
  79. package/dist/app/cli/helpers.js +0 -20
  80. package/dist/app/cli/helpers.js.map +1 -1
  81. package/dist/app/cli/program.d.ts.map +1 -1
  82. package/dist/app/cli/program.js +0 -1
  83. package/dist/app/cli/program.js.map +1 -1
  84. package/dist/app/cli/routing-inputs.d.ts +9 -0
  85. package/dist/app/cli/routing-inputs.d.ts.map +1 -0
  86. package/dist/app/cli/routing-inputs.js +41 -0
  87. package/dist/app/cli/routing-inputs.js.map +1 -0
  88. package/dist/app/cli/routing.d.ts +0 -10
  89. package/dist/app/cli/routing.d.ts.map +1 -1
  90. package/dist/app/cli/routing.js +28 -86
  91. package/dist/app/cli/routing.js.map +1 -1
  92. package/dist/core/models/persisted-global-config.d.ts +19 -0
  93. package/dist/core/models/persisted-global-config.d.ts.map +1 -1
  94. package/dist/core/models/piece-types.d.ts +5 -5
  95. package/dist/core/models/piece-types.d.ts.map +1 -1
  96. package/dist/core/models/schemas.d.ts +299 -16
  97. package/dist/core/models/schemas.d.ts.map +1 -1
  98. package/dist/core/models/schemas.js +85 -14
  99. package/dist/core/models/schemas.js.map +1 -1
  100. package/dist/core/piece/arpeggio/merge.d.ts +2 -5
  101. package/dist/core/piece/arpeggio/merge.d.ts.map +1 -1
  102. package/dist/core/piece/arpeggio/merge.js +39 -45
  103. package/dist/core/piece/arpeggio/merge.js.map +1 -1
  104. package/dist/core/piece/engine/ArpeggioRunner.js +2 -2
  105. package/dist/core/piece/engine/ArpeggioRunner.js.map +1 -1
  106. package/dist/core/piece/engine/MovementExecutor.js +1 -1
  107. package/dist/core/piece/engine/MovementExecutor.js.map +1 -1
  108. package/dist/core/piece/engine/OptionsBuilder.d.ts.map +1 -1
  109. package/dist/core/piece/engine/OptionsBuilder.js +5 -10
  110. package/dist/core/piece/engine/OptionsBuilder.js.map +1 -1
  111. package/dist/core/piece/engine/ParallelRunner.js +1 -1
  112. package/dist/core/piece/engine/ParallelRunner.js.map +1 -1
  113. package/dist/core/piece/engine/TeamLeaderRunner.d.ts.map +1 -1
  114. package/dist/core/piece/engine/TeamLeaderRunner.js +3 -1
  115. package/dist/core/piece/engine/TeamLeaderRunner.js.map +1 -1
  116. package/dist/core/piece/engine/state-manager.js +1 -1
  117. package/dist/core/piece/engine/state-manager.js.map +1 -1
  118. package/dist/core/piece/engine/stream-buffer.d.ts.map +1 -1
  119. package/dist/core/piece/engine/stream-buffer.js +12 -6
  120. package/dist/core/piece/engine/stream-buffer.js.map +1 -1
  121. package/dist/core/piece/engine/team-leader-execution.d.ts +1 -1
  122. package/dist/core/piece/engine/team-leader-execution.d.ts.map +1 -1
  123. package/dist/core/piece/index.d.ts +0 -1
  124. package/dist/core/piece/index.d.ts.map +1 -1
  125. package/dist/core/piece/index.js +0 -2
  126. package/dist/core/piece/index.js.map +1 -1
  127. package/dist/core/piece/instruction/InstructionBuilder.js +3 -3
  128. package/dist/core/piece/instruction/InstructionBuilder.js.map +1 -1
  129. package/dist/core/piece/phase-runner.d.ts +2 -0
  130. package/dist/core/piece/phase-runner.d.ts.map +1 -1
  131. package/dist/core/piece/phase-runner.js +1 -1
  132. package/dist/core/piece/phase-runner.js.map +1 -1
  133. package/dist/core/piece/status-judgment-phase.d.ts.map +1 -1
  134. package/dist/core/piece/status-judgment-phase.js +2 -1
  135. package/dist/core/piece/status-judgment-phase.js.map +1 -1
  136. package/dist/core/piece/types.d.ts +4 -60
  137. package/dist/core/piece/types.d.ts.map +1 -1
  138. package/dist/features/config/deploySkill.d.ts.map +1 -1
  139. package/dist/features/config/deploySkill.js +13 -11
  140. package/dist/features/config/deploySkill.js.map +1 -1
  141. package/dist/features/interactive/index.d.ts +1 -1
  142. package/dist/features/interactive/index.d.ts.map +1 -1
  143. package/dist/features/interactive/index.js.map +1 -1
  144. package/dist/features/interactive/interactive-summary-types.d.ts +64 -0
  145. package/dist/features/interactive/interactive-summary-types.d.ts.map +1 -0
  146. package/dist/features/interactive/interactive-summary-types.js +9 -0
  147. package/dist/features/interactive/interactive-summary-types.js.map +1 -0
  148. package/dist/features/interactive/interactive-summary.d.ts +3 -60
  149. package/dist/features/interactive/interactive-summary.d.ts.map +1 -1
  150. package/dist/features/interactive/interactive-summary.js +4 -7
  151. package/dist/features/interactive/interactive-summary.js.map +1 -1
  152. package/dist/features/interactive/interactive.d.ts +6 -2
  153. package/dist/features/interactive/interactive.d.ts.map +1 -1
  154. package/dist/features/interactive/interactive.js +12 -11
  155. package/dist/features/interactive/interactive.js.map +1 -1
  156. package/dist/features/interactive/retryMode.d.ts.map +1 -1
  157. package/dist/features/interactive/retryMode.js +10 -9
  158. package/dist/features/interactive/retryMode.js.map +1 -1
  159. package/dist/features/pipeline/execute.d.ts +0 -17
  160. package/dist/features/pipeline/execute.d.ts.map +1 -1
  161. package/dist/features/pipeline/execute.js +1 -26
  162. package/dist/features/pipeline/execute.js.map +1 -1
  163. package/dist/features/pipeline/steps.d.ts +13 -12
  164. package/dist/features/pipeline/steps.d.ts.map +1 -1
  165. package/dist/features/pipeline/steps.js +50 -30
  166. package/dist/features/pipeline/steps.js.map +1 -1
  167. package/dist/features/repertoire/constants.d.ts +1 -2
  168. package/dist/features/repertoire/constants.d.ts.map +1 -1
  169. package/dist/features/repertoire/constants.js +3 -2
  170. package/dist/features/repertoire/constants.js.map +1 -1
  171. package/dist/features/tasks/add/index.d.ts +4 -0
  172. package/dist/features/tasks/add/index.d.ts.map +1 -1
  173. package/dist/features/tasks/add/index.js +7 -30
  174. package/dist/features/tasks/add/index.js.map +1 -1
  175. package/dist/features/tasks/add/worktree-settings.d.ts +13 -0
  176. package/dist/features/tasks/add/worktree-settings.d.ts.map +1 -0
  177. package/dist/features/tasks/add/worktree-settings.js +61 -0
  178. package/dist/features/tasks/add/worktree-settings.js.map +1 -0
  179. package/dist/features/tasks/execute/abortHandler.d.ts +34 -0
  180. package/dist/features/tasks/execute/abortHandler.d.ts.map +1 -0
  181. package/dist/features/tasks/execute/abortHandler.js +77 -0
  182. package/dist/features/tasks/execute/abortHandler.js.map +1 -0
  183. package/dist/features/tasks/execute/analyticsEmitter.d.ts +21 -0
  184. package/dist/features/tasks/execute/analyticsEmitter.d.ts.map +1 -0
  185. package/dist/features/tasks/execute/analyticsEmitter.js +75 -0
  186. package/dist/features/tasks/execute/analyticsEmitter.js.map +1 -0
  187. package/dist/features/tasks/execute/iterationLimitHandler.d.ts +19 -0
  188. package/dist/features/tasks/execute/iterationLimitHandler.d.ts.map +1 -0
  189. package/dist/features/tasks/execute/iterationLimitHandler.js +67 -0
  190. package/dist/features/tasks/execute/iterationLimitHandler.js.map +1 -0
  191. package/dist/features/tasks/execute/outputFns.d.ts +24 -0
  192. package/dist/features/tasks/execute/outputFns.d.ts.map +1 -0
  193. package/dist/features/tasks/execute/outputFns.js +59 -0
  194. package/dist/features/tasks/execute/outputFns.js.map +1 -0
  195. package/dist/features/tasks/execute/pieceExecution.d.ts.map +1 -1
  196. package/dist/features/tasks/execute/pieceExecution.js +90 -501
  197. package/dist/features/tasks/execute/pieceExecution.js.map +1 -1
  198. package/dist/features/tasks/execute/postExecution.d.ts +2 -11
  199. package/dist/features/tasks/execute/postExecution.d.ts.map +1 -1
  200. package/dist/features/tasks/execute/postExecution.js +2 -30
  201. package/dist/features/tasks/execute/postExecution.js.map +1 -1
  202. package/dist/features/tasks/execute/resolveTask.d.ts +2 -12
  203. package/dist/features/tasks/execute/resolveTask.d.ts.map +1 -1
  204. package/dist/features/tasks/execute/resolveTask.js +17 -25
  205. package/dist/features/tasks/execute/resolveTask.js.map +1 -1
  206. package/dist/features/tasks/execute/runMeta.d.ts +16 -0
  207. package/dist/features/tasks/execute/runMeta.d.ts.map +1 -0
  208. package/dist/features/tasks/execute/runMeta.js +41 -0
  209. package/dist/features/tasks/execute/runMeta.js.map +1 -0
  210. package/dist/features/tasks/execute/selectAndExecute.d.ts +1 -12
  211. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  212. package/dist/features/tasks/execute/selectAndExecute.js +9 -56
  213. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  214. package/dist/features/tasks/execute/sessionLogger.d.ts +28 -0
  215. package/dist/features/tasks/execute/sessionLogger.d.ts.map +1 -0
  216. package/dist/features/tasks/execute/sessionLogger.js +132 -0
  217. package/dist/features/tasks/execute/sessionLogger.js.map +1 -0
  218. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  219. package/dist/features/tasks/execute/taskExecution.js +11 -3
  220. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  221. package/dist/features/tasks/execute/taskResultHandler.d.ts +2 -1
  222. package/dist/features/tasks/execute/taskResultHandler.d.ts.map +1 -1
  223. package/dist/features/tasks/execute/taskResultHandler.js +9 -1
  224. package/dist/features/tasks/execute/taskResultHandler.js.map +1 -1
  225. package/dist/features/tasks/execute/types.d.ts +17 -9
  226. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  227. package/dist/features/tasks/index.d.ts +1 -1
  228. package/dist/features/tasks/index.d.ts.map +1 -1
  229. package/dist/features/tasks/index.js +1 -1
  230. package/dist/features/tasks/index.js.map +1 -1
  231. package/dist/features/tasks/list/index.d.ts.map +1 -1
  232. package/dist/features/tasks/list/index.js +32 -5
  233. package/dist/features/tasks/list/index.js.map +1 -1
  234. package/dist/features/tasks/list/listNonInteractive.js +2 -2
  235. package/dist/features/tasks/list/listNonInteractive.js.map +1 -1
  236. package/dist/features/tasks/list/requeueHelpers.d.ts +2 -0
  237. package/dist/features/tasks/list/requeueHelpers.d.ts.map +1 -1
  238. package/dist/features/tasks/list/requeueHelpers.js +83 -0
  239. package/dist/features/tasks/list/requeueHelpers.js.map +1 -1
  240. package/dist/features/tasks/list/taskDeleteActions.d.ts +1 -3
  241. package/dist/features/tasks/list/taskDeleteActions.d.ts.map +1 -1
  242. package/dist/features/tasks/list/taskDeleteActions.js +12 -59
  243. package/dist/features/tasks/list/taskDeleteActions.js.map +1 -1
  244. package/dist/features/tasks/list/taskInstructionActions.d.ts.map +1 -1
  245. package/dist/features/tasks/list/taskInstructionActions.js +5 -2
  246. package/dist/features/tasks/list/taskInstructionActions.js.map +1 -1
  247. package/dist/features/tasks/list/taskRetryActions.d.ts.map +1 -1
  248. package/dist/features/tasks/list/taskRetryActions.js +5 -2
  249. package/dist/features/tasks/list/taskRetryActions.js.map +1 -1
  250. package/dist/features/tasks/list/taskStatusLabel.d.ts.map +1 -1
  251. package/dist/features/tasks/list/taskStatusLabel.js +1 -0
  252. package/dist/features/tasks/list/taskStatusLabel.js.map +1 -1
  253. package/dist/features/tasks/watch/index.js +1 -1
  254. package/dist/features/tasks/watch/index.js.map +1 -1
  255. package/dist/index.d.ts +4 -2
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +3 -1
  258. package/dist/index.js.map +1 -1
  259. package/dist/infra/config/configNormalizers.d.ts +30 -0
  260. package/dist/infra/config/configNormalizers.d.ts.map +1 -0
  261. package/dist/infra/config/configNormalizers.js +63 -0
  262. package/dist/infra/config/configNormalizers.js.map +1 -0
  263. package/dist/infra/config/constants.d.ts +10 -0
  264. package/dist/infra/config/constants.d.ts.map +1 -0
  265. package/dist/infra/config/constants.js +10 -0
  266. package/dist/infra/config/constants.js.map +1 -0
  267. package/dist/infra/config/global/globalConfig.d.ts.map +1 -1
  268. package/dist/infra/config/global/globalConfig.js +25 -27
  269. package/dist/infra/config/global/globalConfig.js.map +1 -1
  270. package/dist/infra/config/loaders/pieceParser.d.ts +2 -13
  271. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  272. package/dist/infra/config/loaders/pieceParser.js +28 -59
  273. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  274. package/dist/infra/config/loaders/qualityGateOverrides.d.ts +32 -0
  275. package/dist/infra/config/loaders/qualityGateOverrides.d.ts.map +1 -0
  276. package/dist/infra/config/loaders/qualityGateOverrides.js +69 -0
  277. package/dist/infra/config/loaders/qualityGateOverrides.js.map +1 -0
  278. package/dist/infra/config/paths.js +1 -1
  279. package/dist/infra/config/paths.js.map +1 -1
  280. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  281. package/dist/infra/config/project/projectConfig.js +19 -30
  282. package/dist/infra/config/project/projectConfig.js.map +1 -1
  283. package/dist/infra/config/project/sessionStore.d.ts.map +1 -1
  284. package/dist/infra/config/project/sessionStore.js +54 -80
  285. package/dist/infra/config/project/sessionStore.js.map +1 -1
  286. package/dist/infra/config/providerBlockOptions.d.ts +14 -0
  287. package/dist/infra/config/providerBlockOptions.d.ts.map +1 -0
  288. package/dist/infra/config/providerBlockOptions.js +24 -0
  289. package/dist/infra/config/providerBlockOptions.js.map +1 -0
  290. package/dist/infra/config/providerOptions.d.ts +21 -0
  291. package/dist/infra/config/providerOptions.d.ts.map +1 -0
  292. package/dist/infra/config/providerOptions.js +48 -0
  293. package/dist/infra/config/providerOptions.js.map +1 -0
  294. package/dist/infra/config/providerReference.d.ts +24 -0
  295. package/dist/infra/config/providerReference.d.ts.map +1 -0
  296. package/dist/infra/config/providerReference.js +27 -0
  297. package/dist/infra/config/providerReference.js.map +1 -0
  298. package/dist/infra/config/resolveConfigValue.d.ts.map +1 -1
  299. package/dist/infra/config/resolveConfigValue.js +1 -0
  300. package/dist/infra/config/resolveConfigValue.js.map +1 -1
  301. package/dist/infra/config/types.d.ts +3 -1
  302. package/dist/infra/config/types.d.ts.map +1 -1
  303. package/dist/infra/copilot/client.d.ts.map +1 -1
  304. package/dist/infra/copilot/client.js +16 -11
  305. package/dist/infra/copilot/client.js.map +1 -1
  306. package/dist/infra/fs/session.d.ts +1 -1
  307. package/dist/infra/fs/session.d.ts.map +1 -1
  308. package/dist/infra/fs/session.js +2 -9
  309. package/dist/infra/fs/session.js.map +1 -1
  310. package/dist/infra/git/types.d.ts +1 -31
  311. package/dist/infra/git/types.d.ts.map +1 -1
  312. package/dist/infra/git/types.js +0 -6
  313. package/dist/infra/git/types.js.map +1 -1
  314. package/dist/infra/github/pr.d.ts.map +1 -1
  315. package/dist/infra/github/pr.js +2 -1
  316. package/dist/infra/github/pr.js.map +1 -1
  317. package/dist/infra/resources/schema-loader.d.ts.map +1 -0
  318. package/dist/{core/piece → infra/resources}/schema-loader.js +1 -1
  319. package/dist/infra/resources/schema-loader.js.map +1 -0
  320. package/dist/infra/task/clone-base-branch.d.ts +6 -0
  321. package/dist/infra/task/clone-base-branch.d.ts.map +1 -0
  322. package/dist/infra/task/clone-base-branch.js +73 -0
  323. package/dist/infra/task/clone-base-branch.js.map +1 -0
  324. package/dist/infra/task/clone-exec.d.ts +7 -0
  325. package/dist/infra/task/clone-exec.d.ts.map +1 -0
  326. package/dist/infra/task/clone-exec.js +111 -0
  327. package/dist/infra/task/clone-exec.js.map +1 -0
  328. package/dist/infra/task/clone-meta.d.ts +7 -0
  329. package/dist/infra/task/clone-meta.d.ts.map +1 -0
  330. package/dist/infra/task/clone-meta.js +40 -0
  331. package/dist/infra/task/clone-meta.js.map +1 -0
  332. package/dist/infra/task/clone.d.ts +3 -60
  333. package/dist/infra/task/clone.d.ts.map +1 -1
  334. package/dist/infra/task/clone.js +35 -251
  335. package/dist/infra/task/clone.js.map +1 -1
  336. package/dist/infra/task/display.d.ts.map +1 -1
  337. package/dist/infra/task/display.js +2 -3
  338. package/dist/infra/task/display.js.map +1 -1
  339. package/dist/infra/task/git.d.ts +4 -0
  340. package/dist/infra/task/git.d.ts.map +1 -1
  341. package/dist/infra/task/git.js +8 -0
  342. package/dist/infra/task/git.js.map +1 -1
  343. package/dist/infra/task/index.d.ts +3 -2
  344. package/dist/infra/task/index.d.ts.map +1 -1
  345. package/dist/infra/task/index.js +3 -2
  346. package/dist/infra/task/index.js.map +1 -1
  347. package/dist/infra/task/instruction.d.ts +2 -0
  348. package/dist/infra/task/instruction.d.ts.map +1 -0
  349. package/dist/infra/task/instruction.js +9 -0
  350. package/dist/infra/task/instruction.js.map +1 -0
  351. package/dist/infra/task/mapper.d.ts +1 -0
  352. package/dist/infra/task/mapper.d.ts.map +1 -1
  353. package/dist/infra/task/mapper.js +21 -24
  354. package/dist/infra/task/mapper.js.map +1 -1
  355. package/dist/infra/task/runner.d.ts +7 -4
  356. package/dist/infra/task/runner.d.ts.map +1 -1
  357. package/dist/infra/task/runner.js +13 -7
  358. package/dist/infra/task/runner.js.map +1 -1
  359. package/dist/infra/task/schema.d.ts +15 -0
  360. package/dist/infra/task/schema.d.ts.map +1 -1
  361. package/dist/infra/task/schema.js +43 -1
  362. package/dist/infra/task/schema.js.map +1 -1
  363. package/dist/infra/task/taskDeletionService.d.ts +1 -4
  364. package/dist/infra/task/taskDeletionService.d.ts.map +1 -1
  365. package/dist/infra/task/taskDeletionService.js +0 -9
  366. package/dist/infra/task/taskDeletionService.js.map +1 -1
  367. package/dist/infra/task/taskExceedService.d.ts +13 -0
  368. package/dist/infra/task/taskExceedService.d.ts.map +1 -0
  369. package/dist/infra/task/taskExceedService.js +50 -0
  370. package/dist/infra/task/taskExceedService.js.map +1 -0
  371. package/dist/infra/task/taskQueryService.d.ts +1 -0
  372. package/dist/infra/task/taskQueryService.d.ts.map +1 -1
  373. package/dist/infra/task/taskQueryService.js +7 -1
  374. package/dist/infra/task/taskQueryService.js.map +1 -1
  375. package/dist/infra/task/types.d.ts +4 -19
  376. package/dist/infra/task/types.d.ts.map +1 -1
  377. package/dist/infra/task/types.js +0 -3
  378. package/dist/infra/task/types.js.map +1 -1
  379. package/dist/shared/types/provider.d.ts +70 -0
  380. package/dist/shared/types/provider.d.ts.map +1 -0
  381. package/dist/shared/types/provider.js +11 -0
  382. package/dist/shared/types/provider.js.map +1 -0
  383. package/dist/shared/ui/StreamDisplay.d.ts +1 -1
  384. package/dist/shared/ui/StreamDisplay.d.ts.map +1 -1
  385. package/dist/shared/ui/StreamDisplay.js.map +1 -1
  386. package/dist/shared/utils/providerEventLogger.d.ts +1 -1
  387. package/dist/shared/utils/providerEventLogger.d.ts.map +1 -1
  388. package/package.json +7 -7
  389. package/builtins/en/pieces/default-mini.yaml +0 -219
  390. package/builtins/en/pieces/default-test-first-mini.yaml +0 -254
  391. package/builtins/en/pieces/passthrough.yaml +0 -43
  392. package/builtins/en/pieces/structural-reform.yaml +0 -488
  393. package/builtins/ja/pieces/default-mini.yaml +0 -219
  394. package/builtins/ja/pieces/default-test-first-mini.yaml +0 -254
  395. package/builtins/ja/pieces/passthrough.yaml +0 -43
  396. package/builtins/ja/pieces/structural-reform.yaml +0 -488
  397. package/dist/core/piece/agent-usecases.d.ts.map +0 -1
  398. package/dist/core/piece/agent-usecases.js.map +0 -1
  399. package/dist/core/piece/schema-loader.d.ts.map +0 -1
  400. package/dist/core/piece/schema-loader.js.map +0 -1
  401. /package/builtins/en/facets/personas/{expert-supervisor.md → dual-supervisor.md} +0 -0
  402. /package/dist/{core/piece → infra/resources}/schema-loader.d.ts +0 -0
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **T**AKT **A**gent **K**oordination **T**opology — Give your AI coding agents structured review loops, managed prompts, and guardrails — so they deliver quality code, not just code.
6
6
 
7
- TAKT runs AI agents (Claude Code, Codex, OpenCode, Cursor, Copilot) through YAML-defined workflows with built-in review cycles. You talk to AI to define what you want, queue tasks, and let TAKT handle the execution — planning, implementation, multi-stage review, and fix loops — all governed by declarative piece files.
7
+ TAKT runs AI agents (Claude Code, Codex, OpenCode, Cursor, GitHub Copilot CLI) through YAML-defined workflows with built-in review cycles. You talk to AI to define what you want, queue tasks, and let TAKT handle the execution — planning, implementation, multi-stage review, and fix loops — all governed by declarative piece files.
8
8
 
9
9
  TAKT is built with TAKT itself (dogfooding).
10
10
 
@@ -22,13 +22,15 @@ TAKT is built with TAKT itself (dogfooding).
22
22
 
23
23
  Choose one:
24
24
 
25
- - **Provider CLIs**: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex](https://github.com/openai/codex), [OpenCode](https://opencode.ai), [Cursor Agent](https://docs.cursor.com/), or [GitHub Copilot](https://github.com/features/copilot) installed
26
- - **Direct API**: Anthropic / OpenAI / OpenCode / Cursor API Key (no CLI required)
25
+ - **Provider CLIs**: [Codex](https://github.com/openai/codex), [OpenCode](https://opencode.ai), [Cursor Agent](https://docs.cursor.com/), or [GitHub Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli) installed
26
+ - **Direct API**: Anthropic / OpenAI / OpenCode API Key (no CLI required)
27
27
 
28
28
  Optional:
29
29
 
30
30
  - [GitHub CLI](https://cli.github.com/) (`gh`) — for `takt #N` (GitHub Issue tasks)
31
31
 
32
+ > **OAuth and API key usage:** Whether OAuth or API key access is permitted varies by provider and use case. Check each provider's terms of service before using TAKT.
33
+
32
34
  ## Quick Start
33
35
 
34
36
  ### Install
@@ -44,8 +46,9 @@ $ takt
44
46
 
45
47
  Select piece:
46
48
  ❯ 🎼 default (current)
47
- 📁 Development/
48
- 📁 Research/
49
+ 📁 🚀 Quick Start/
50
+ 📁 🎨 Frontend/
51
+ 📁 ⚙️ Backend/
49
52
 
50
53
  > Add user authentication with JWT
51
54
 
@@ -124,12 +127,10 @@ Rules determine the next movement. `COMPLETE` ends the piece successfully, `ABOR
124
127
 
125
128
  | Piece | Use Case |
126
129
  |-------|----------|
127
- | `default-mini` | Quick fixes. Lightweight plan implement parallel review fix loop. |
128
- | `default-test-first-mini` | Test-first development. Write tests first, then implement to pass them. |
130
+ | `default` | Standard development. Test-first with AI antipattern review and parallel review (architecture + supervisor). |
129
131
  | `frontend-mini` | Frontend-focused mini configuration. |
130
132
  | `backend-mini` | Backend-focused mini configuration. |
131
- | `expert-mini` | Expert-level mini configuration. |
132
- | `default` | Serious development. Multi-stage review with parallel reviewers. Used for TAKT's own development. |
133
+ | `dual-mini` | Frontend + backend mini configuration. |
133
134
 
134
135
  See the [Builtin Catalog](./docs/builtin-catalog.md) for all pieces and personas.
135
136
 
@@ -157,13 +158,14 @@ model: sonnet # passed directly to provider
157
158
  language: en # en or ja
158
159
  ```
159
160
 
160
- Or use API keys directly (no CLI installation required):
161
+ Or use API keys directly (no CLI installation required for Claude, Codex, OpenCode):
161
162
 
162
163
  ```bash
163
164
  export TAKT_ANTHROPIC_API_KEY=sk-ant-... # Anthropic (Claude)
164
165
  export TAKT_OPENAI_API_KEY=sk-... # OpenAI (Codex)
165
166
  export TAKT_OPENCODE_API_KEY=... # OpenCode
166
167
  export TAKT_CURSOR_API_KEY=... # Cursor Agent (optional if logged in)
168
+ export TAKT_COPILOT_GITHUB_TOKEN=ghp_... # GitHub Copilot CLI
167
169
  ```
168
170
 
169
171
  See the [Configuration Guide](./docs/configuration.md) for all options, provider profiles, and model resolution.
@@ -41,6 +41,15 @@ Small / Medium / Large
41
41
  - **Rationale**: {Reason for the choice}
42
42
  ```
43
43
 
44
+ **Pre-completion self-check (required):**
45
+ Before running build and tests, verify the following:
46
+ - If new parameters/fields were added, grep to confirm they are actually passed from call sites
47
+ - For any `??`, `||`, `= defaultValue` usage, confirm fallback is truly necessary
48
+ - Verify no replaced code/exports remain after refactoring
49
+ - Verify no features outside the task specification were added
50
+ - Verify no if/else blocks call the same function with only argument differences
51
+ - Verify new code matches existing implementation patterns (API call style, type definition style, etc.)
52
+
44
53
  **Required output (include headings)**
45
54
  ## Work results
46
55
  - {Summary of actions taken}
@@ -40,6 +40,15 @@ Small / Medium / Large
40
40
  - **Rationale**: {Reason for the choice}
41
41
  ```
42
42
 
43
+ **Pre-completion self-check (required):**
44
+ Before running build and tests, verify the following:
45
+ - If new parameters/fields were added, grep to confirm they are actually passed from call sites
46
+ - For any `??`, `||`, `= defaultValue` usage, confirm fallback is truly necessary
47
+ - Verify no replaced code/exports remain after refactoring
48
+ - Verify no features outside the task specification were added
49
+ - Verify no if/else blocks call the same function with only argument differences
50
+ - Verify new code matches existing implementation patterns (API call style, type definition style, etc.)
51
+
43
52
  **Required output (include headings)**
44
53
  ## Work results
45
54
  - {Summary of actions taken}
@@ -19,3 +19,7 @@ For small tasks, skip the design sections in the report.
19
19
  4. Determine file structure and design patterns (if needed)
20
20
  5. Decide on the implementation approach
21
21
  - Verify the implementation approach does not violate knowledge/policy constraints
22
+ 6. Include the following in coder implementation guidelines:
23
+ - Existing implementation patterns to reference (file:line). Always cite when similar processing already exists
24
+ - Impact area of changes. Especially when adding new parameters, enumerate all call sites that need wiring
25
+ - Anti-patterns to watch for in this specific task (if applicable)
@@ -3,6 +3,8 @@ Do not review AI-specific issues (already covered by the ai_review movement).
3
3
 
4
4
  **Review criteria:**
5
5
  - Structural and design validity
6
+ - Modularization (high cohesion, low coupling, no circular dependencies)
7
+ - Functionalization (single responsibility per function, operation discoverability, consistent abstraction level)
6
8
  - Code quality
7
9
  - Appropriateness of change scope
8
10
  - Test coverage
@@ -321,3 +321,6 @@ function formatPercentage(value: number): string { ... }
321
321
  - **Replaced code surviving after refactoring** - Remove replaced code and exports. Do not keep unless explicitly told to
322
322
  - **Workarounds that bypass safety mechanisms** - If the root fix is correct, no additional bypass is needed
323
323
  - **Direct tool execution bypassing project scripts** - `npx tool` and similar bypass the lockfile, causing version mismatches. Look for project-defined scripts (npm scripts, Makefile, etc.) first. Only consider direct execution when no script exists
324
+ - **Missing wiring** - When adding new parameters or fields, grep the entire call chain to verify. If callers do not pass the value, `options.xxx ?? fallback` always uses the fallback
325
+ - **Redundant conditionals** - When if/else calls the same function with only argument differences, unify using ternary operators or spread syntax
326
+ - **Copy-paste patterns** - Before writing new code, grep for existing implementations of the same kind and follow the existing pattern. Do not introduce your own style
@@ -1,20 +1,17 @@
1
1
  piece_categories:
2
2
  🚀 Quick Start:
3
3
  pieces:
4
- - default-mini
4
+ - default
5
5
  - frontend-mini
6
6
  - backend-mini
7
- - default
8
7
  - compound-eye
9
8
  ⚡ Mini:
10
9
  pieces:
11
- - default-mini
12
- - default-test-first-mini
13
10
  - frontend-mini
14
11
  - backend-mini
15
12
  - backend-cqrs-mini
16
- - expert-mini
17
- - expert-cqrs-mini
13
+ - dual-mini
14
+ - dual-cqrs-mini
18
15
  🎨 Frontend:
19
16
  pieces:
20
17
  - frontend
@@ -25,35 +22,42 @@ piece_categories:
25
22
  - backend-mini
26
23
  - backend-cqrs
27
24
  - backend-cqrs-mini
28
- 🔧 Expert:
25
+ 🔧 Dual:
29
26
  pieces:
30
- - expert
31
- - expert-mini
32
- - expert-cqrs
33
- - expert-cqrs-mini
27
+ - dual
28
+ - dual-mini
29
+ - dual-cqrs
30
+ - dual-cqrs-mini
34
31
  🏗️ Infrastructure:
35
32
  pieces:
36
33
  - terraform
37
- 🛠️ Refactoring:
38
- pieces:
39
- - structural-reform
40
34
  🔍 Review:
41
35
  pieces:
42
36
  - review
37
+ - review-fix
38
+ - frontend-review
39
+ - frontend-review-fix
40
+ - backend-review
41
+ - backend-review-fix
42
+ - dual-review
43
+ - dual-review-fix
44
+ - dual-cqrs-review
45
+ - dual-cqrs-review-fix
46
+ - backend-cqrs-review
47
+ - backend-cqrs-review-fix
43
48
  🧪 Testing:
44
49
  pieces:
45
50
  - unit-test
46
51
  - e2e-test
47
- ✅ Test First:
48
- pieces:
49
- - default-test-first-mini
50
52
  🎵 TAKT Development:
51
53
  pieces:
52
54
  - takt-default
53
55
  - takt-default-team-leader
56
+ - takt-default-review-fix
54
57
  Others:
55
58
  pieces:
56
59
  - research
60
+ - deep-research
57
61
  - magi
58
62
  show_others_category: true
59
63
  others_category_name: Others
@@ -0,0 +1,220 @@
1
+ name: backend-cqrs-review-fix
2
+ description: CQRS+ES focused review + fix loop (structure, modularization, domain model, security, QA)
3
+ piece_config:
4
+ provider_options:
5
+ codex:
6
+ network_access: true
7
+ opencode:
8
+ network_access: true
9
+ max_movements: 30
10
+ initial_movement: gather
11
+ loop_monitors:
12
+ - cycle:
13
+ - reviewers
14
+ - fix
15
+ threshold: 3
16
+ judge:
17
+ persona: supervisor
18
+ instruction_template: loop-monitor-ai-fix
19
+ rules:
20
+ - condition: Healthy (progress being made)
21
+ next: reviewers
22
+ - condition: Unproductive (repeated findings, fixes not applied)
23
+ next: supervise
24
+
25
+ movements:
26
+ - name: gather
27
+ edit: false
28
+ persona: planner
29
+ allowed_tools:
30
+ - Read
31
+ - Glob
32
+ - Grep
33
+ - Bash
34
+ - WebSearch
35
+ - WebFetch
36
+ instruction: gather-review
37
+ output_contracts:
38
+ report:
39
+ - name: review-target.md
40
+ format: review-gather
41
+ rules:
42
+ - condition: Review target information gathered
43
+ next: reviewers
44
+ - condition: Unable to identify review target, insufficient information
45
+ next: ABORT
46
+
47
+ - name: reviewers
48
+ parallel:
49
+ - name: arch-review
50
+ edit: false
51
+ persona: architecture-reviewer
52
+ policy: review
53
+ knowledge:
54
+ - architecture
55
+ - backend
56
+ allowed_tools:
57
+ - Read
58
+ - Glob
59
+ - Grep
60
+ - WebSearch
61
+ - WebFetch
62
+ instruction: review-arch
63
+ output_contracts:
64
+ report:
65
+ - name: architect-review.md
66
+ format: architecture-review
67
+ rules:
68
+ - condition: approved
69
+ - condition: needs_fix
70
+
71
+ - name: cqrs-es-review
72
+ edit: false
73
+ persona: cqrs-es-reviewer
74
+ policy: review
75
+ knowledge:
76
+ - cqrs-es
77
+ - backend
78
+ allowed_tools:
79
+ - Read
80
+ - Glob
81
+ - Grep
82
+ - WebSearch
83
+ - WebFetch
84
+ instruction: review-cqrs-es
85
+ output_contracts:
86
+ report:
87
+ - name: cqrs-es-review.md
88
+ format: cqrs-es-review
89
+ rules:
90
+ - condition: approved
91
+ - condition: needs_fix
92
+
93
+ - name: security-review
94
+ edit: false
95
+ persona: security-reviewer
96
+ policy: review
97
+ knowledge: security
98
+ allowed_tools:
99
+ - Read
100
+ - Glob
101
+ - Grep
102
+ - WebSearch
103
+ - WebFetch
104
+ instruction: review-security
105
+ output_contracts:
106
+ report:
107
+ - name: security-review.md
108
+ format: security-review
109
+ rules:
110
+ - condition: approved
111
+ - condition: needs_fix
112
+
113
+ - name: qa-review
114
+ edit: false
115
+ persona: qa-reviewer
116
+ policy:
117
+ - review
118
+ - qa
119
+ allowed_tools:
120
+ - Read
121
+ - Glob
122
+ - Grep
123
+ - WebSearch
124
+ - WebFetch
125
+ instruction: review-qa
126
+ output_contracts:
127
+ report:
128
+ - name: qa-review.md
129
+ format: qa-review
130
+ rules:
131
+ - condition: approved
132
+ - condition: needs_fix
133
+
134
+ rules:
135
+ - condition: all("approved")
136
+ next: supervise
137
+ - condition: any("needs_fix")
138
+ next: fix
139
+
140
+ - name: fix
141
+ edit: true
142
+ persona: coder
143
+ policy:
144
+ - coding
145
+ - testing
146
+ knowledge:
147
+ - backend
148
+ - cqrs-es
149
+ - security
150
+ - architecture
151
+ allowed_tools:
152
+ - Read
153
+ - Glob
154
+ - Grep
155
+ - Edit
156
+ - Write
157
+ - Bash
158
+ - WebSearch
159
+ - WebFetch
160
+ required_permission_mode: edit
161
+ pass_previous_response: false
162
+ instruction: fix
163
+ rules:
164
+ - condition: Fixes complete
165
+ next: reviewers
166
+ - condition: Unable to proceed with fixes
167
+ next: supervise
168
+
169
+ - name: supervise
170
+ edit: false
171
+ persona: dual-supervisor
172
+ policy: review
173
+ allowed_tools:
174
+ - Read
175
+ - Glob
176
+ - Grep
177
+ - WebSearch
178
+ - WebFetch
179
+ instruction: supervise
180
+ pass_previous_response: false
181
+ rules:
182
+ - condition: All validations complete, ready to merge
183
+ next: COMPLETE
184
+ - condition: Issues detected
185
+ next: fix_supervisor
186
+ output_contracts:
187
+ report:
188
+ - name: supervisor-validation.md
189
+ format: supervisor-validation
190
+ - name: summary.md
191
+ format: summary
192
+ use_judge: false
193
+
194
+ - name: fix_supervisor
195
+ edit: true
196
+ persona: coder
197
+ policy:
198
+ - coding
199
+ - testing
200
+ knowledge:
201
+ - backend
202
+ - cqrs-es
203
+ - security
204
+ - architecture
205
+ allowed_tools:
206
+ - Read
207
+ - Glob
208
+ - Grep
209
+ - Edit
210
+ - Write
211
+ - Bash
212
+ - WebSearch
213
+ - WebFetch
214
+ instruction: fix-supervisor
215
+ pass_previous_response: false
216
+ rules:
217
+ - condition: Fixes for supervisor findings complete
218
+ next: supervise
219
+ - condition: Unable to proceed with fixes
220
+ next: supervise
@@ -0,0 +1,148 @@
1
+ name: backend-cqrs-review
2
+ description: CQRS+ES focused review (structure, modularization, domain model, security, QA)
3
+ piece_config:
4
+ provider_options:
5
+ codex:
6
+ network_access: true
7
+ opencode:
8
+ network_access: true
9
+ max_movements: 10
10
+ initial_movement: gather
11
+
12
+ movements:
13
+ - name: gather
14
+ edit: false
15
+ persona: planner
16
+ allowed_tools:
17
+ - Read
18
+ - Glob
19
+ - Grep
20
+ - Bash
21
+ - WebSearch
22
+ - WebFetch
23
+ instruction: gather-review
24
+ output_contracts:
25
+ report:
26
+ - name: review-target.md
27
+ format: review-gather
28
+ rules:
29
+ - condition: Review target information gathered
30
+ next: reviewers
31
+ - condition: Unable to identify review target, insufficient information
32
+ next: ABORT
33
+
34
+ - name: reviewers
35
+ parallel:
36
+ - name: arch-review
37
+ edit: false
38
+ persona: architecture-reviewer
39
+ policy: review
40
+ knowledge:
41
+ - architecture
42
+ - backend
43
+ allowed_tools:
44
+ - Read
45
+ - Glob
46
+ - Grep
47
+ - WebSearch
48
+ - WebFetch
49
+ instruction: review-arch
50
+ output_contracts:
51
+ report:
52
+ - name: architect-review.md
53
+ format: architecture-review
54
+ rules:
55
+ - condition: approved
56
+ - condition: needs_fix
57
+
58
+ - name: cqrs-es-review
59
+ edit: false
60
+ persona: cqrs-es-reviewer
61
+ policy: review
62
+ knowledge:
63
+ - cqrs-es
64
+ - backend
65
+ allowed_tools:
66
+ - Read
67
+ - Glob
68
+ - Grep
69
+ - WebSearch
70
+ - WebFetch
71
+ instruction: review-cqrs-es
72
+ output_contracts:
73
+ report:
74
+ - name: cqrs-es-review.md
75
+ format: cqrs-es-review
76
+ rules:
77
+ - condition: approved
78
+ - condition: needs_fix
79
+
80
+ - name: security-review
81
+ edit: false
82
+ persona: security-reviewer
83
+ policy: review
84
+ knowledge: security
85
+ allowed_tools:
86
+ - Read
87
+ - Glob
88
+ - Grep
89
+ - WebSearch
90
+ - WebFetch
91
+ instruction: review-security
92
+ output_contracts:
93
+ report:
94
+ - name: security-review.md
95
+ format: security-review
96
+ rules:
97
+ - condition: approved
98
+ - condition: needs_fix
99
+
100
+ - name: qa-review
101
+ edit: false
102
+ persona: qa-reviewer
103
+ policy:
104
+ - review
105
+ - qa
106
+ allowed_tools:
107
+ - Read
108
+ - Glob
109
+ - Grep
110
+ - WebSearch
111
+ - WebFetch
112
+ instruction: review-qa
113
+ output_contracts:
114
+ report:
115
+ - name: qa-review.md
116
+ format: qa-review
117
+ rules:
118
+ - condition: approved
119
+ - condition: needs_fix
120
+
121
+ rules:
122
+ - condition: all("approved")
123
+ next: supervise
124
+ - condition: any("needs_fix")
125
+ next: supervise
126
+
127
+ - name: supervise
128
+ edit: false
129
+ persona: supervisor
130
+ policy: review
131
+ allowed_tools:
132
+ - Read
133
+ - Glob
134
+ - Grep
135
+ - WebSearch
136
+ - WebFetch
137
+ pass_previous_response: false
138
+ instruction: supervise
139
+ output_contracts:
140
+ report:
141
+ - name: supervisor-validation.md
142
+ format: supervisor-validation
143
+ - name: summary.md
144
+ format: summary
145
+ use_judge: false
146
+ rules:
147
+ - condition: Review integration complete
148
+ next: COMPLETE
@@ -235,7 +235,7 @@ movements:
235
235
  instruction: fix
236
236
  - name: supervise
237
237
  edit: false
238
- persona: expert-supervisor
238
+ persona: dual-supervisor
239
239
  policy: review
240
240
  allowed_tools:
241
241
  - Read