takt 0.47.0 → 0.49.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 (524) hide show
  1. package/README.md +24 -0
  2. package/builtins/en/facets/instructions/exec-loop-monitor.md +15 -0
  3. package/builtins/en/facets/instructions/exec-replan.md +5 -0
  4. package/builtins/en/facets/instructions/exec-review.md +10 -0
  5. package/builtins/en/facets/instructions/exec-worker.md +5 -0
  6. package/builtins/en/facets/instructions/fix-maintenance.md +1 -1
  7. package/builtins/en/facets/instructions/implement-maintenance.md +2 -2
  8. package/builtins/en/facets/instructions/plan-maintenance.md +3 -3
  9. package/builtins/en/facets/instructions/review-coding.md +6 -4
  10. package/builtins/en/facets/instructions/review-test.md +6 -1
  11. package/builtins/en/facets/knowledge/backend.md +2 -0
  12. package/builtins/en/facets/knowledge/cqrs-es.md +12 -0
  13. package/builtins/en/facets/knowledge/e2e-testing.md +13 -0
  14. package/builtins/en/facets/knowledge/existing-system.md +2 -2
  15. package/builtins/en/facets/knowledge/takt.md +27 -0
  16. package/builtins/en/facets/output-contracts/exec-review-result.md +13 -0
  17. package/builtins/en/facets/personas/exec-assistant.md +3 -0
  18. package/builtins/en/facets/personas/exec-worker.md +3 -0
  19. package/builtins/en/facets/policies/existing-system-respect.md +30 -16
  20. package/builtins/en/facets/policies/review.md +2 -0
  21. package/builtins/en/facets/policies/testing.md +41 -0
  22. package/builtins/en/workflow-categories.yaml +1 -0
  23. package/builtins/en/workflows/backend-maintenance.yaml +540 -0
  24. package/builtins/en/workflows/draft.yaml +4 -2
  25. package/builtins/en/workflows/frontend-maintenance.yaml +1 -1
  26. package/builtins/en/workflows/frontend.yaml +1 -1
  27. package/builtins/en/workflows/peer-review-with-fc.yaml +1 -1
  28. package/builtins/en/workflows/peer-review.yaml +1 -1
  29. package/builtins/exec/presets/backend.yaml +31 -0
  30. package/builtins/exec/presets/dual.yaml +34 -0
  31. package/builtins/exec/presets/frontend.yaml +31 -0
  32. package/builtins/exec/presets/research.yaml +45 -0
  33. package/builtins/ja/facets/instructions/exec-loop-monitor.md +15 -0
  34. package/builtins/ja/facets/instructions/exec-replan.md +5 -0
  35. package/builtins/ja/facets/instructions/exec-review.md +10 -0
  36. package/builtins/ja/facets/instructions/exec-worker.md +5 -0
  37. package/builtins/ja/facets/instructions/fix-maintenance.md +1 -1
  38. package/builtins/ja/facets/instructions/implement-maintenance.md +2 -2
  39. package/builtins/ja/facets/instructions/plan-maintenance.md +3 -3
  40. package/builtins/ja/facets/instructions/review-coding.md +6 -4
  41. package/builtins/ja/facets/instructions/review-test.md +6 -1
  42. package/builtins/ja/facets/knowledge/backend.md +2 -0
  43. package/builtins/ja/facets/knowledge/cqrs-es.md +12 -0
  44. package/builtins/ja/facets/knowledge/e2e-testing.md +13 -0
  45. package/builtins/ja/facets/knowledge/existing-system.md +2 -2
  46. package/builtins/ja/facets/knowledge/takt.md +27 -0
  47. package/builtins/ja/facets/output-contracts/exec-review-result.md +13 -0
  48. package/builtins/ja/facets/personas/exec-assistant.md +3 -0
  49. package/builtins/ja/facets/personas/exec-worker.md +3 -0
  50. package/builtins/ja/facets/policies/existing-system-respect.md +30 -16
  51. package/builtins/ja/facets/policies/review.md +3 -0
  52. package/builtins/ja/facets/policies/testing.md +41 -0
  53. package/builtins/ja/workflow-categories.yaml +1 -0
  54. package/builtins/ja/workflows/backend-maintenance.yaml +540 -0
  55. package/builtins/ja/workflows/draft.yaml +4 -2
  56. package/builtins/ja/workflows/frontend-maintenance.yaml +1 -1
  57. package/builtins/ja/workflows/frontend.yaml +1 -1
  58. package/builtins/ja/workflows/peer-review-with-fc.yaml +1 -1
  59. package/builtins/ja/workflows/peer-review.yaml +1 -1
  60. package/builtins/skill/SKILL.md +1 -1
  61. package/builtins/skill/references/engine.md +1 -15
  62. package/builtins/skill-codex/SKILL.md +1 -1
  63. package/builtins/skill-codex/references/engine.md +0 -2
  64. package/dist/agents/decompose-task-usecase.d.ts +3 -2
  65. package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
  66. package/dist/agents/decompose-task-usecase.js +2 -6
  67. package/dist/agents/decompose-task-usecase.js.map +1 -1
  68. package/dist/agents/runner.d.ts.map +1 -1
  69. package/dist/agents/runner.js +7 -6
  70. package/dist/agents/runner.js.map +1 -1
  71. package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts +2 -2
  72. package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts.map +1 -1
  73. package/dist/agents/structured-caller/capability-aware-structured-caller.js.map +1 -1
  74. package/dist/agents/structured-caller/contracts.d.ts +2 -2
  75. package/dist/agents/structured-caller/contracts.d.ts.map +1 -1
  76. package/dist/agents/structured-caller/default-structured-caller.d.ts +2 -2
  77. package/dist/agents/structured-caller/default-structured-caller.d.ts.map +1 -1
  78. package/dist/agents/structured-caller/default-structured-caller.js.map +1 -1
  79. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts +2 -2
  80. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  81. package/dist/agents/structured-caller/prompt-based-structured-caller.js +2 -5
  82. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  83. package/dist/agents/structured-caller/shared.d.ts.map +1 -1
  84. package/dist/agents/structured-caller/shared.js +2 -9
  85. package/dist/agents/structured-caller/shared.js.map +1 -1
  86. package/dist/agents/team-leader-structured-output.d.ts +2 -2
  87. package/dist/agents/team-leader-structured-output.d.ts.map +1 -1
  88. package/dist/agents/team-leader-structured-output.js +42 -9
  89. package/dist/agents/team-leader-structured-output.js.map +1 -1
  90. package/dist/app/cli/commands.js +13 -0
  91. package/dist/app/cli/commands.js.map +1 -1
  92. package/dist/commands/repertoire/add.d.ts.map +1 -1
  93. package/dist/commands/repertoire/add.js +2 -3
  94. package/dist/commands/repertoire/add.js.map +1 -1
  95. package/dist/core/models/config-schemas.d.ts +26 -0
  96. package/dist/core/models/config-schemas.d.ts.map +1 -1
  97. package/dist/core/models/part.d.ts +7 -0
  98. package/dist/core/models/part.d.ts.map +1 -1
  99. package/dist/core/models/schema-base.d.ts +10 -0
  100. package/dist/core/models/schema-base.d.ts.map +1 -1
  101. package/dist/core/models/schema-base.js +2 -0
  102. package/dist/core/models/schema-base.js.map +1 -1
  103. package/dist/core/models/workflow-provider-options.d.ts +2 -0
  104. package/dist/core/models/workflow-provider-options.d.ts.map +1 -1
  105. package/dist/core/models/workflow-provider-options.js.map +1 -1
  106. package/dist/core/models/workflow-schemas.d.ts +270 -16
  107. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  108. package/dist/core/models/workflow-schemas.js +39 -3
  109. package/dist/core/models/workflow-schemas.js.map +1 -1
  110. package/dist/core/models/workflow-types.d.ts +8 -0
  111. package/dist/core/models/workflow-types.d.ts.map +1 -1
  112. package/dist/core/workflow/engine/LoopMonitorJudgeRunner.d.ts +2 -2
  113. package/dist/core/workflow/engine/LoopMonitorJudgeRunner.d.ts.map +1 -1
  114. package/dist/core/workflow/engine/LoopMonitorJudgeRunner.js +8 -7
  115. package/dist/core/workflow/engine/LoopMonitorJudgeRunner.js.map +1 -1
  116. package/dist/core/workflow/engine/OptionsBuilder.d.ts +1 -0
  117. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
  118. package/dist/core/workflow/engine/OptionsBuilder.js +23 -11
  119. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
  120. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  121. package/dist/core/workflow/engine/StepExecutor.js +4 -8
  122. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  123. package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
  124. package/dist/core/workflow/engine/TeamLeaderRunner.js +6 -6
  125. package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
  126. package/dist/core/workflow/engine/WorkflowEngineSetup.js +2 -2
  127. package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
  128. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
  129. package/dist/core/workflow/engine/WorkflowRunLoop.js +31 -0
  130. package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
  131. package/dist/core/workflow/engine/WorkflowValidator.d.ts.map +1 -1
  132. package/dist/core/workflow/engine/WorkflowValidator.js +17 -7
  133. package/dist/core/workflow/engine/WorkflowValidator.js.map +1 -1
  134. package/dist/core/workflow/engine/engine-provider-options.d.ts +2 -1
  135. package/dist/core/workflow/engine/engine-provider-options.d.ts.map +1 -1
  136. package/dist/core/workflow/engine/engine-provider-options.js +45 -6
  137. package/dist/core/workflow/engine/engine-provider-options.js.map +1 -1
  138. package/dist/core/workflow/engine/team-leader-common.d.ts +1 -0
  139. package/dist/core/workflow/engine/team-leader-common.d.ts.map +1 -1
  140. package/dist/core/workflow/engine/team-leader-common.js +13 -1
  141. package/dist/core/workflow/engine/team-leader-common.js.map +1 -1
  142. package/dist/core/workflow/findings/manager-runner.d.ts.map +1 -1
  143. package/dist/core/workflow/findings/manager-runner.js +9 -25
  144. package/dist/core/workflow/findings/manager-runner.js.map +1 -1
  145. package/dist/core/workflow/instruction/InstructionBuilder.js +1 -1
  146. package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
  147. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  148. package/dist/core/workflow/observability/workflowSpans.js +2 -1
  149. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  150. package/dist/core/workflow/promotion/promotion-runtime.d.ts.map +1 -1
  151. package/dist/core/workflow/promotion/promotion-runtime.js +3 -2
  152. package/dist/core/workflow/promotion/promotion-runtime.js.map +1 -1
  153. package/dist/core/workflow/provider-model-compatibility.d.ts +0 -1
  154. package/dist/core/workflow/provider-model-compatibility.d.ts.map +1 -1
  155. package/dist/core/workflow/provider-model-compatibility.js +2 -2
  156. package/dist/core/workflow/provider-model-compatibility.js.map +1 -1
  157. package/dist/core/workflow/provider-resolution.d.ts +4 -6
  158. package/dist/core/workflow/provider-resolution.d.ts.map +1 -1
  159. package/dist/core/workflow/provider-resolution.js +19 -11
  160. package/dist/core/workflow/provider-resolution.js.map +1 -1
  161. package/dist/core/workflow/providerOptionsRedaction.d.ts +4 -0
  162. package/dist/core/workflow/providerOptionsRedaction.d.ts.map +1 -0
  163. package/dist/core/workflow/providerOptionsRedaction.js +18 -0
  164. package/dist/core/workflow/providerOptionsRedaction.js.map +1 -0
  165. package/dist/core/workflow/session-key.d.ts +4 -1
  166. package/dist/core/workflow/session-key.d.ts.map +1 -1
  167. package/dist/core/workflow/session-key.js +5 -2
  168. package/dist/core/workflow/session-key.js.map +1 -1
  169. package/dist/features/catalog/catalogFacets.d.ts +11 -1
  170. package/dist/features/catalog/catalogFacets.d.ts.map +1 -1
  171. package/dist/features/catalog/catalogFacets.js +36 -10
  172. package/dist/features/catalog/catalogFacets.js.map +1 -1
  173. package/dist/features/exec/assistantSession.d.ts +18 -0
  174. package/dist/features/exec/assistantSession.d.ts.map +1 -0
  175. package/dist/features/exec/assistantSession.js +51 -0
  176. package/dist/features/exec/assistantSession.js.map +1 -0
  177. package/dist/features/exec/command.d.ts +9 -0
  178. package/dist/features/exec/command.d.ts.map +1 -0
  179. package/dist/features/exec/command.js +143 -0
  180. package/dist/features/exec/command.js.map +1 -0
  181. package/dist/features/exec/commandAvailability.d.ts +4 -0
  182. package/dist/features/exec/commandAvailability.d.ts.map +1 -0
  183. package/dist/features/exec/commandAvailability.js +10 -0
  184. package/dist/features/exec/commandAvailability.js.map +1 -0
  185. package/dist/features/exec/configOps.d.ts +13 -0
  186. package/dist/features/exec/configOps.d.ts.map +1 -0
  187. package/dist/features/exec/configOps.js +129 -0
  188. package/dist/features/exec/configOps.js.map +1 -0
  189. package/dist/features/exec/configValidation.d.ts +15 -0
  190. package/dist/features/exec/configValidation.d.ts.map +1 -0
  191. package/dist/features/exec/configValidation.js +150 -0
  192. package/dist/features/exec/configValidation.js.map +1 -0
  193. package/dist/features/exec/defaults.d.ts +3 -0
  194. package/dist/features/exec/defaults.d.ts.map +1 -0
  195. package/dist/features/exec/defaults.js +30 -0
  196. package/dist/features/exec/defaults.js.map +1 -0
  197. package/dist/features/exec/facetEditor.d.ts +5 -0
  198. package/dist/features/exec/facetEditor.d.ts.map +1 -0
  199. package/dist/features/exec/facetEditor.js +293 -0
  200. package/dist/features/exec/facetEditor.js.map +1 -0
  201. package/dist/features/exec/index.d.ts +2 -0
  202. package/dist/features/exec/index.d.ts.map +1 -0
  203. package/dist/features/exec/index.js +2 -0
  204. package/dist/features/exec/index.js.map +1 -0
  205. package/dist/features/exec/labels.d.ts +11 -0
  206. package/dist/features/exec/labels.d.ts.map +1 -0
  207. package/dist/features/exec/labels.js +20 -0
  208. package/dist/features/exec/labels.js.map +1 -0
  209. package/dist/features/exec/presetSelection.d.ts +3 -0
  210. package/dist/features/exec/presetSelection.d.ts.map +1 -0
  211. package/dist/features/exec/presetSelection.js +16 -0
  212. package/dist/features/exec/presetSelection.js.map +1 -0
  213. package/dist/features/exec/presetSetup.d.ts +7 -0
  214. package/dist/features/exec/presetSetup.d.ts.map +1 -0
  215. package/dist/features/exec/presetSetup.js +120 -0
  216. package/dist/features/exec/presetSetup.js.map +1 -0
  217. package/dist/features/exec/presetStore.d.ts +25 -0
  218. package/dist/features/exec/presetStore.d.ts.map +1 -0
  219. package/dist/features/exec/presetStore.js +326 -0
  220. package/dist/features/exec/presetStore.js.map +1 -0
  221. package/dist/features/exec/projectLocalFiles.d.ts +9 -0
  222. package/dist/features/exec/projectLocalFiles.d.ts.map +1 -0
  223. package/dist/features/exec/projectLocalFiles.js +111 -0
  224. package/dist/features/exec/projectLocalFiles.js.map +1 -0
  225. package/dist/features/exec/promptUtils.d.ts +8 -0
  226. package/dist/features/exec/promptUtils.d.ts.map +1 -0
  227. package/dist/features/exec/promptUtils.js +32 -0
  228. package/dist/features/exec/promptUtils.js.map +1 -0
  229. package/dist/features/exec/runtimeConfig.d.ts +13 -0
  230. package/dist/features/exec/runtimeConfig.d.ts.map +1 -0
  231. package/dist/features/exec/runtimeConfig.js +59 -0
  232. package/dist/features/exec/runtimeConfig.js.map +1 -0
  233. package/dist/features/exec/setupMenu.d.ts +5 -0
  234. package/dist/features/exec/setupMenu.d.ts.map +1 -0
  235. package/dist/features/exec/setupMenu.js +431 -0
  236. package/dist/features/exec/setupMenu.js.map +1 -0
  237. package/dist/features/exec/types.d.ts +52 -0
  238. package/dist/features/exec/types.d.ts.map +1 -0
  239. package/dist/features/exec/types.js +2 -0
  240. package/dist/features/exec/types.js.map +1 -0
  241. package/dist/features/exec/workflowRunner.d.ts +9 -0
  242. package/dist/features/exec/workflowRunner.d.ts.map +1 -0
  243. package/dist/features/exec/workflowRunner.js +96 -0
  244. package/dist/features/exec/workflowRunner.js.map +1 -0
  245. package/dist/features/exec/workflowTemplate.d.ts +9 -0
  246. package/dist/features/exec/workflowTemplate.d.ts.map +1 -0
  247. package/dist/features/exec/workflowTemplate.js +159 -0
  248. package/dist/features/exec/workflowTemplate.js.map +1 -0
  249. package/dist/features/interactive/aiCaller.d.ts +3 -0
  250. package/dist/features/interactive/aiCaller.d.ts.map +1 -1
  251. package/dist/features/interactive/aiCaller.js +4 -0
  252. package/dist/features/interactive/aiCaller.js.map +1 -1
  253. package/dist/features/interactive/clipboardImage.js +2 -2
  254. package/dist/features/interactive/clipboardImage.js.map +1 -1
  255. package/dist/features/interactive/commandMatcher.d.ts +2 -1
  256. package/dist/features/interactive/commandMatcher.d.ts.map +1 -1
  257. package/dist/features/interactive/commandMatcher.js +13 -2
  258. package/dist/features/interactive/commandMatcher.js.map +1 -1
  259. package/dist/features/interactive/interactive-summary.d.ts.map +1 -1
  260. package/dist/features/interactive/interactive-summary.js +45 -23
  261. package/dist/features/interactive/interactive-summary.js.map +1 -1
  262. package/dist/features/interactive/interactive.js +2 -2
  263. package/dist/features/interactive/interactive.js.map +1 -1
  264. package/dist/features/interactive/promptSections.d.ts.map +1 -1
  265. package/dist/features/interactive/promptSections.js +3 -6
  266. package/dist/features/interactive/promptSections.js.map +1 -1
  267. package/dist/features/interactive/retryMode.d.ts.map +1 -1
  268. package/dist/features/interactive/retryMode.js +3 -3
  269. package/dist/features/interactive/retryMode.js.map +1 -1
  270. package/dist/features/interactive/runSessionReader.d.ts +4 -37
  271. package/dist/features/interactive/runSessionReader.d.ts.map +1 -1
  272. package/dist/features/interactive/runSessionReader.js +130 -49
  273. package/dist/features/interactive/runSessionReader.js.map +1 -1
  274. package/dist/features/interactive/slashCommandRegistry.d.ts +2 -0
  275. package/dist/features/interactive/slashCommandRegistry.d.ts.map +1 -1
  276. package/dist/features/interactive/slashCommandRegistry.js +5 -0
  277. package/dist/features/interactive/slashCommandRegistry.js.map +1 -1
  278. package/dist/features/prompt/preview.d.ts.map +1 -1
  279. package/dist/features/prompt/preview.js +58 -32
  280. package/dist/features/prompt/preview.js.map +1 -1
  281. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  282. package/dist/features/tasks/execute/selectAndExecute.js +6 -2
  283. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  284. package/dist/features/tasks/execute/sessionLoggerRecordFactory.d.ts.map +1 -1
  285. package/dist/features/tasks/execute/sessionLoggerRecordFactory.js +2 -1
  286. package/dist/features/tasks/execute/sessionLoggerRecordFactory.js.map +1 -1
  287. package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
  288. package/dist/features/tasks/execute/taskWorkflowExecution.js +41 -1
  289. package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
  290. package/dist/features/tasks/execute/types.d.ts +8 -0
  291. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  292. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  293. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +4 -0
  294. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  295. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
  296. package/dist/features/tasks/execute/workflowExecutionEvents.js +12 -1
  297. package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
  298. package/dist/features/tasks/list/instructMode.d.ts.map +1 -1
  299. package/dist/features/tasks/list/instructMode.js +3 -3
  300. package/dist/features/tasks/list/instructMode.js.map +1 -1
  301. package/dist/features/tasks/resume/directInstructMode.d.ts.map +1 -1
  302. package/dist/features/tasks/resume/directInstructMode.js +3 -3
  303. package/dist/features/tasks/resume/directInstructMode.js.map +1 -1
  304. package/dist/infra/claude/client.d.ts.map +1 -1
  305. package/dist/infra/claude/client.js +1 -0
  306. package/dist/infra/claude/client.js.map +1 -1
  307. package/dist/infra/claude/mcp-config.d.ts.map +1 -1
  308. package/dist/infra/claude/mcp-config.js +2 -2
  309. package/dist/infra/claude/mcp-config.js.map +1 -1
  310. package/dist/infra/claude/options-builder.d.ts.map +1 -1
  311. package/dist/infra/claude/options-builder.js +3 -0
  312. package/dist/infra/claude/options-builder.js.map +1 -1
  313. package/dist/infra/claude/types.d.ts +4 -0
  314. package/dist/infra/claude/types.d.ts.map +1 -1
  315. package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -1
  316. package/dist/infra/claude-headless/headless-spawn.js +3 -0
  317. package/dist/infra/claude-headless/headless-spawn.js.map +1 -1
  318. package/dist/infra/claude-headless/types.d.ts +2 -0
  319. package/dist/infra/claude-headless/types.d.ts.map +1 -1
  320. package/dist/infra/codex/client.d.ts.map +1 -1
  321. package/dist/infra/codex/client.js +1 -0
  322. package/dist/infra/codex/client.js.map +1 -1
  323. package/dist/infra/codex/types.d.ts +2 -0
  324. package/dist/infra/codex/types.d.ts.map +1 -1
  325. package/dist/infra/config/configNormalizers.d.ts +3 -2
  326. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  327. package/dist/infra/config/configNormalizers.js +26 -13
  328. package/dist/infra/config/configNormalizers.js.map +1 -1
  329. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  330. package/dist/infra/config/global/globalConfigCore.js +2 -1
  331. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  332. package/dist/infra/config/loaders/resource-resolver.d.ts +3 -33
  333. package/dist/infra/config/loaders/resource-resolver.d.ts.map +1 -1
  334. package/dist/infra/config/loaders/resource-resolver.js +119 -46
  335. package/dist/infra/config/loaders/resource-resolver.js.map +1 -1
  336. package/dist/infra/config/loaders/workflowCallableArgResolver.d.ts.map +1 -1
  337. package/dist/infra/config/loaders/workflowCallableArgResolver.js +15 -7
  338. package/dist/infra/config/loaders/workflowCallableArgResolver.js.map +1 -1
  339. package/dist/infra/config/loaders/workflowDoctor.d.ts.map +1 -1
  340. package/dist/infra/config/loaders/workflowDoctor.js +19 -7
  341. package/dist/infra/config/loaders/workflowDoctor.js.map +1 -1
  342. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.d.ts +3 -1
  343. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.d.ts.map +1 -1
  344. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js +3 -1
  345. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js.map +1 -1
  346. package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
  347. package/dist/infra/config/loaders/workflowParser.js +6 -8
  348. package/dist/infra/config/loaders/workflowParser.js.map +1 -1
  349. package/dist/infra/config/loaders/workflowPreview.d.ts +3 -0
  350. package/dist/infra/config/loaders/workflowPreview.d.ts.map +1 -1
  351. package/dist/infra/config/loaders/workflowPreview.js +32 -12
  352. package/dist/infra/config/loaders/workflowPreview.js.map +1 -1
  353. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +8 -2
  354. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -1
  355. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.d.ts.map +1 -1
  356. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js +32 -1
  357. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js.map +1 -1
  358. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +1 -1
  359. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
  360. package/dist/infra/config/loaders/workflowStepNormalizer.js +18 -10
  361. package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
  362. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  363. package/dist/infra/config/project/projectConfig.js +12 -4
  364. package/dist/infra/config/project/projectConfig.js.map +1 -1
  365. package/dist/infra/config/providerOptions.d.ts +12 -5
  366. package/dist/infra/config/providerOptions.d.ts.map +1 -1
  367. package/dist/infra/config/providerOptions.js +112 -10
  368. package/dist/infra/config/providerOptions.js.map +1 -1
  369. package/dist/infra/config/providerOptionsContract.d.ts +4 -3
  370. package/dist/infra/config/providerOptionsContract.d.ts.map +1 -1
  371. package/dist/infra/config/providerOptionsContract.js +11 -0
  372. package/dist/infra/config/providerOptionsContract.js.map +1 -1
  373. package/dist/infra/config/providerReference.d.ts +3 -2
  374. package/dist/infra/config/providerReference.d.ts.map +1 -1
  375. package/dist/infra/config/providerReference.js +6 -6
  376. package/dist/infra/config/providerReference.js.map +1 -1
  377. package/dist/infra/config/resolveConfigValue.d.ts.map +1 -1
  378. package/dist/infra/config/resolveConfigValue.js +95 -25
  379. package/dist/infra/config/resolveConfigValue.js.map +1 -1
  380. package/dist/infra/config/traced/tracedConfigLoader.d.ts +3 -2
  381. package/dist/infra/config/traced/tracedConfigLoader.d.ts.map +1 -1
  382. package/dist/infra/config/traced/tracedConfigLoader.js +28 -4
  383. package/dist/infra/config/traced/tracedConfigLoader.js.map +1 -1
  384. package/dist/infra/config/traced/tracedConfigRuntimeBridge.d.ts.map +1 -1
  385. package/dist/infra/config/traced/tracedConfigRuntimeBridge.js +2 -2
  386. package/dist/infra/config/traced/tracedConfigRuntimeBridge.js.map +1 -1
  387. package/dist/infra/copilot/client.d.ts.map +1 -1
  388. package/dist/infra/copilot/client.js +3 -3
  389. package/dist/infra/copilot/client.js.map +1 -1
  390. package/dist/infra/opencode/allowedTools.d.ts +1 -0
  391. package/dist/infra/opencode/allowedTools.d.ts.map +1 -1
  392. package/dist/infra/opencode/allowedTools.js +7 -0
  393. package/dist/infra/opencode/allowedTools.js.map +1 -1
  394. package/dist/infra/opencode/client.d.ts.map +1 -1
  395. package/dist/infra/opencode/client.js +47 -1
  396. package/dist/infra/opencode/client.js.map +1 -1
  397. package/dist/infra/opencode/types.d.ts +1 -0
  398. package/dist/infra/opencode/types.d.ts.map +1 -1
  399. package/dist/infra/opencode/types.js +10 -10
  400. package/dist/infra/opencode/types.js.map +1 -1
  401. package/dist/infra/providers/allowed-tool-edit-policy.d.ts +1 -0
  402. package/dist/infra/providers/allowed-tool-edit-policy.d.ts.map +1 -1
  403. package/dist/infra/providers/allowed-tool-edit-policy.js +35 -1
  404. package/dist/infra/providers/allowed-tool-edit-policy.js.map +1 -1
  405. package/dist/infra/providers/claude-headless.d.ts +1 -1
  406. package/dist/infra/providers/claude-headless.d.ts.map +1 -1
  407. package/dist/infra/providers/claude-headless.js +2 -1
  408. package/dist/infra/providers/claude-headless.js.map +1 -1
  409. package/dist/infra/providers/claude-terminal.d.ts +1 -1
  410. package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
  411. package/dist/infra/providers/claude-terminal.js +1 -1
  412. package/dist/infra/providers/claude-terminal.js.map +1 -1
  413. package/dist/infra/providers/claude.d.ts +1 -1
  414. package/dist/infra/providers/claude.d.ts.map +1 -1
  415. package/dist/infra/providers/claude.js +2 -1
  416. package/dist/infra/providers/claude.js.map +1 -1
  417. package/dist/infra/providers/codex.d.ts +1 -1
  418. package/dist/infra/providers/codex.d.ts.map +1 -1
  419. package/dist/infra/providers/codex.js +2 -1
  420. package/dist/infra/providers/codex.js.map +1 -1
  421. package/dist/infra/providers/copilot.d.ts +1 -1
  422. package/dist/infra/providers/copilot.d.ts.map +1 -1
  423. package/dist/infra/providers/copilot.js +1 -1
  424. package/dist/infra/providers/copilot.js.map +1 -1
  425. package/dist/infra/providers/cursor.d.ts +1 -1
  426. package/dist/infra/providers/cursor.d.ts.map +1 -1
  427. package/dist/infra/providers/cursor.js +1 -1
  428. package/dist/infra/providers/cursor.js.map +1 -1
  429. package/dist/infra/providers/kiro.d.ts +1 -1
  430. package/dist/infra/providers/kiro.d.ts.map +1 -1
  431. package/dist/infra/providers/kiro.js +1 -1
  432. package/dist/infra/providers/kiro.js.map +1 -1
  433. package/dist/infra/providers/mock.d.ts +1 -1
  434. package/dist/infra/providers/mock.d.ts.map +1 -1
  435. package/dist/infra/providers/mock.js +1 -1
  436. package/dist/infra/providers/mock.js.map +1 -1
  437. package/dist/infra/providers/opencode.d.ts +2 -1
  438. package/dist/infra/providers/opencode.d.ts.map +1 -1
  439. package/dist/infra/providers/opencode.js +19 -6
  440. package/dist/infra/providers/opencode.js.map +1 -1
  441. package/dist/infra/providers/types.d.ts +1 -1
  442. package/dist/infra/providers/types.d.ts.map +1 -1
  443. package/dist/infra/task/projectLocalTaktSync.d.ts +1 -0
  444. package/dist/infra/task/projectLocalTaktSync.d.ts.map +1 -1
  445. package/dist/infra/task/projectLocalTaktSync.js +40 -0
  446. package/dist/infra/task/projectLocalTaktSync.js.map +1 -1
  447. package/dist/shared/constants.d.ts +1 -0
  448. package/dist/shared/constants.d.ts.map +1 -1
  449. package/dist/shared/constants.js +1 -0
  450. package/dist/shared/constants.js.map +1 -1
  451. package/dist/shared/i18n/labels_en.yaml +115 -0
  452. package/dist/shared/i18n/labels_ja.yaml +115 -0
  453. package/dist/shared/prompts/en/exec_assistant_clarify.md +14 -0
  454. package/dist/shared/prompts/en/exec_assistant_instruct.md +14 -0
  455. package/dist/shared/prompts/en/exec_assistant_summary.md +12 -0
  456. package/dist/shared/prompts/en/exec_facet_create.md +8 -0
  457. package/dist/shared/prompts/en/exec_facet_edit.md +8 -0
  458. package/dist/shared/prompts/en/finding_manager_instruction.md +28 -0
  459. package/dist/shared/prompts/en/opencode_agent_prompt.md +52 -0
  460. package/dist/shared/prompts/en/opencode_report_agent_prompt.md +8 -0
  461. package/dist/shared/prompts/en/opencode_review_agent_prompt.md +35 -0
  462. package/dist/shared/prompts/en/perform_phase1_message.md +1 -4
  463. package/dist/shared/prompts/en/perform_phase2_message.md +1 -0
  464. package/dist/shared/prompts/en/perform_phase3_message.md +1 -0
  465. package/dist/shared/prompts/en/provider_runtime_system_prompt.md +1 -0
  466. package/dist/shared/prompts/en/score_slug_system_prompt.md +1 -0
  467. package/dist/shared/prompts/en/score_slug_user_prompt.md +1 -0
  468. package/dist/shared/prompts/en/score_summary_system_prompt.md +1 -0
  469. package/dist/shared/prompts/en/source_context_section_guidance.md +6 -0
  470. package/dist/shared/prompts/en/source_context_system_guard.md +8 -0
  471. package/dist/shared/prompts/en/structured_json_schema_instruction.md +12 -0
  472. package/dist/shared/prompts/en/structured_json_step_instruction.md +12 -0
  473. package/dist/shared/prompts/en/sync_conflict_resolver_message.md +1 -0
  474. package/dist/shared/prompts/en/sync_conflict_resolver_system_prompt.md +1 -0
  475. package/dist/shared/prompts/index.d.ts.map +1 -1
  476. package/dist/shared/prompts/index.js +3 -1
  477. package/dist/shared/prompts/index.js.map +1 -1
  478. package/dist/shared/prompts/ja/exec_assistant_clarify.md +14 -0
  479. package/dist/shared/prompts/ja/exec_assistant_instruct.md +14 -0
  480. package/dist/shared/prompts/ja/exec_assistant_summary.md +12 -0
  481. package/dist/shared/prompts/ja/exec_facet_create.md +8 -0
  482. package/dist/shared/prompts/ja/exec_facet_edit.md +8 -0
  483. package/dist/shared/prompts/ja/finding_manager_instruction.md +28 -0
  484. package/dist/shared/prompts/ja/opencode_agent_prompt.md +52 -0
  485. package/dist/shared/prompts/ja/opencode_report_agent_prompt.md +8 -0
  486. package/dist/shared/prompts/ja/opencode_review_agent_prompt.md +35 -0
  487. package/dist/shared/prompts/ja/perform_phase1_message.md +1 -4
  488. package/dist/shared/prompts/ja/perform_phase2_message.md +1 -0
  489. package/dist/shared/prompts/ja/perform_phase3_message.md +1 -0
  490. package/dist/shared/prompts/ja/provider_runtime_system_prompt.md +1 -0
  491. package/dist/shared/prompts/ja/score_slug_system_prompt.md +1 -0
  492. package/dist/shared/prompts/ja/score_slug_user_prompt.md +1 -0
  493. package/dist/shared/prompts/ja/score_summary_system_prompt.md +1 -0
  494. package/dist/shared/prompts/ja/source_context_section_guidance.md +6 -0
  495. package/dist/shared/prompts/ja/source_context_system_guard.md +8 -0
  496. package/dist/shared/prompts/ja/structured_json_schema_instruction.md +12 -0
  497. package/dist/shared/prompts/ja/structured_json_step_instruction.md +12 -0
  498. package/dist/shared/prompts/ja/sync_conflict_resolver_message.md +1 -0
  499. package/dist/shared/prompts/ja/sync_conflict_resolver_system_prompt.md +1 -0
  500. package/dist/shared/team-leader-inspect-tools.d.ts +5 -0
  501. package/dist/shared/team-leader-inspect-tools.d.ts.map +1 -0
  502. package/dist/shared/team-leader-inspect-tools.js +8 -0
  503. package/dist/shared/team-leader-inspect-tools.js.map +1 -0
  504. package/dist/shared/utils/index.d.ts +1 -0
  505. package/dist/shared/utils/index.d.ts.map +1 -1
  506. package/dist/shared/utils/index.js +1 -0
  507. package/dist/shared/utils/index.js.map +1 -1
  508. package/dist/shared/utils/pathBoundary.d.ts +6 -0
  509. package/dist/shared/utils/pathBoundary.d.ts.map +1 -1
  510. package/dist/shared/utils/pathBoundary.js +38 -1
  511. package/dist/shared/utils/pathBoundary.js.map +1 -1
  512. package/dist/shared/utils/tmpdir.d.ts +2 -0
  513. package/dist/shared/utils/tmpdir.d.ts.map +1 -0
  514. package/dist/shared/utils/tmpdir.js +8 -0
  515. package/dist/shared/utils/tmpdir.js.map +1 -0
  516. package/package.json +10 -5
  517. package/builtins/en/provider-options/review-web.yaml +0 -14
  518. package/builtins/ja/provider-options/review-web.yaml +0 -14
  519. package/dist/features/interactive/policyPrompt.d.ts +0 -2
  520. package/dist/features/interactive/policyPrompt.d.ts.map +0 -1
  521. package/dist/features/interactive/policyPrompt.js +0 -18
  522. package/dist/features/interactive/policyPrompt.js.map +0 -1
  523. package/dist/shared/prompts/en/score_interactive_policy.md +0 -83
  524. package/dist/shared/prompts/ja/score_interactive_policy.md +0 -83
@@ -0,0 +1,45 @@
1
+ name: research
2
+ description: Research and implementation team
3
+ session: {}
4
+ replan:
5
+ instruction: exec-replan
6
+ knowledge:
7
+ - research
8
+ policy: []
9
+ workers:
10
+ - name: worker-1
11
+ instruction: exec-worker
12
+ knowledge:
13
+ - research
14
+ - architecture
15
+ policy:
16
+ - coding
17
+ - testing
18
+ - name: worker-2
19
+ instruction: exec-worker
20
+ knowledge:
21
+ - research
22
+ - unit-testing
23
+ policy:
24
+ - coding
25
+ - testing
26
+ - name: worker-3
27
+ instruction: exec-worker
28
+ knowledge:
29
+ - research
30
+ - architecture
31
+ policy:
32
+ - coding
33
+ - testing
34
+ reviews:
35
+ - name: review-1
36
+ instruction: exec-review
37
+ knowledge:
38
+ - research
39
+ - architecture
40
+ policy:
41
+ - review
42
+ loop:
43
+ threshold: 3
44
+ large_threshold: 2
45
+ max_steps: 20
@@ -0,0 +1,15 @@
1
+ # Exec ループモニター指示
2
+
3
+ 繰り返されている exec ループが生産的か判定する。
4
+
5
+ このループは {cycle_count} 回繰り返されています。
6
+
7
+ 直近のレポートを時系列で確認し、次のいずれかの条件を選ぶ。
8
+
9
+ 小ループ(execute ↔ review):
10
+ - `Healthy (progress being made)` — 指摘が減っている、または意味のある進捗がある。
11
+ - `Unproductive (same rework repeating)` — 同じ修正が改善なく繰り返されている。
12
+
13
+ 大ループ(replan → execute → review):
14
+ - `Healthy (progress being made)` — 指摘が減っている、または意味のある進捗がある。
15
+ - `Unproductive (no convergence)` — Worker が blocked を続ける、または収束が見えない。
@@ -0,0 +1,5 @@
1
+ # Exec Replan 指示
2
+
3
+ review が needs_replan を求めた場合に、ユーザーと再計画を相談する。
4
+
5
+ review レポートの問題点を要約し、必要最小限の確認を行い、合意できたら改訂計画を作成する。
@@ -0,0 +1,10 @@
1
+ # Exec Review 指示
2
+
3
+ Worker の結果を独立セッションでレビューする。
4
+
5
+ タスク要件、Worker レポート、実際のコード変更を確認する。次のいずれかのステータスを返す:
6
+ - approved: タスクは完了している。
7
+ - needs_fix: 軽微な実装修正が必要。
8
+ - needs_replan: ユーザーと方針を再計画する必要がある。
9
+
10
+ 根拠と次の具体的な手順を簡潔に含める。
@@ -0,0 +1,5 @@
1
+ # Exec Worker 指示
2
+
3
+ 依頼されたタスクを実装する。
4
+
5
+ タスク指示と Report Directory 内のレポートを主要な文脈として扱う。差し戻しの場合は review の指摘を最優先で修正する。担当範囲内に変更を限定し、必要な検証を実行し、変更ファイルと検証結果を報告する。
@@ -1,4 +1,4 @@
1
- Report Directory内のレビューレポートを確認し、指摘事項を既存契約を保つ最小差分で修正してください。
1
+ Report Directory内のレビューレポートを確認し、指摘事項を既存契約を保ちつつ、要求と因果関係のある範囲で修正してください。
2
2
 
3
3
  **修正の原則:**
4
4
  - 指摘の「修正案」が示されている場合はそれに沿った対応を優先し、独自の迂回策を取らない
@@ -1,4 +1,4 @@
1
- 計画に従い、既存契約を保った最小差分で実装してください。
1
+ 計画に従い、既存契約を保ちつつ、要求と因果関係のある範囲で実装してください。
2
2
  Workflow Contextに示されたReport Directory内のファイルのみ参照してください。他のレポートディレクトリは検索/参照しないでください。
3
3
  Report Directory内のレポートを一次情報として参照してください。不足情報の補完が必要な場合に限り、Previous Responseや会話履歴を補助的に参照して構いません(Previous Responseは提供されない場合があります)。情報が競合する場合は、Report Directory内のレポートと実際のファイル内容を優先してください。
4
4
 
@@ -14,7 +14,7 @@ Report Directory内のレポートを一次情報として参照してくださ
14
14
  - 実装前に差分予定を「必須変更」「関連変更」「不要変更」に分類する
15
15
  - 必須変更と関連変更だけを実装する
16
16
  - 変更ファイル内という理由だけで、作法改善、改名、ファイル移動、hook戻り値変更、コメント削除、テスト期待値変更を行わない
17
- - 既存構造で要求を満たせる場合は、より一般的な作法へ寄せるためだけの構造変更をしない
17
+ - 要求と因果関係のない構造変更をしない
18
18
  - 仕様変更で廃止された旧設計について、旧仕様の不在確認だけのコード・テストを残さない
19
19
  - 実装後に全差分を確認し、不要変更を戻す
20
20
 
@@ -1,4 +1,4 @@
1
- 既存フロントエンド機能の保守変更としてタスクを分析し、設計を含めた最小差分の実装方針を立ててください。
1
+ 既存機能の保守変更としてタスクを分析し、設計を含めた因果差分の実装方針を立ててください。
2
2
 
3
3
  **注意:** Previous Responseがある場合は差し戻しのため、その内容と現在のファイル内容を照合して計画を見直してください(replan)。
4
4
 
@@ -29,7 +29,7 @@
29
29
  - 変更ファイル内、近い責務、一般作法という理由だけでは関連変更にしない
30
30
  - 不要変更は Coder に実装させない
31
31
  6. ファイル構成・設計パターンを決定する(必要な場合)
32
- - 既存構造で要求を満たせる場合は、理想的でなくても既存構造を優先する
32
+ - 要求と因果関係のない範囲では、理想的でなくても既存構造を優先する
33
33
  7. 実装アプローチを決める
34
34
  - 実装アプローチがナレッジ・ポリシーの制約に違反しないか照合する
35
35
  - 利用者向け機能の追加や変更がある場合、利用者がその機能へ到達する条件・入口・起動経路を固定する
@@ -48,4 +48,4 @@
48
48
  ## 既存契約
49
49
  - {守るべき既存契約}
50
50
  ## 実装方針
51
- - {最小差分の方針}
51
+ - {因果差分の方針}
@@ -8,7 +8,9 @@
8
8
  5. 共通ヘルパー、正規化関数、builder、adapter の追加・変更がある場合、既存の同種分岐にも同じ契約が適用されているか確認する
9
9
  6. 型、スキーマ、validator、resolver のいずれかが変わった場合、対応する契約も同じ変更で整合しているか確認する
10
10
  7. 複数レイヤーで解決・合成される値は、単体の正規化処理だけでなく、実際の入口から検証処理までの経路を追う
11
- 8. 副作用や状態変更を伴う差分は、入口・正常終了・早期終了・例外・後片付けの経路を追う
12
- 9. 指摘は現在の差分に起因し、ユーザーが修正すべきものだけにする
13
- 10. 各指摘には場所、影響、修正方針を含める
14
- 11. 根拠のない推測、好みだけの変更、今回の差分と無関係な既存問題は指摘しない
11
+ 8. 実行とは別に同じ値を表示・検証・説明する入口がある場合、主実行経路と同じ正規化済み入力・override 順・resolver で解決されているか比較する
12
+ 9. テストがある場合、値の存在だけでなく、未設定・設定・不正値・override・継承・非継承・非対応対象など元要件の分岐条件を踏んでいるか確認する
13
+ 10. 副作用や状態変更を伴う差分は、入口・正常終了・早期終了・例外・後片付けの経路を追う
14
+ 11. 指摘は現在の差分に起因し、ユーザーが修正すべきものだけにする
15
+ 12. 各指摘には場所、影響、修正方針を含める
16
+ 13. 根拠のない推測、好みだけの変更、今回の差分と無関係な既存問題は指摘しない
@@ -11,4 +11,9 @@
11
11
  2. 外部契約があるのに入力位置(root body / query / path)の検証が欠けている場合、カバレッジ不足として扱う
12
12
  3. 副作用や状態遷移を伴う変更では、正常系だけでなく代表的な失敗経路のテスト有無を確認する
13
13
  4. 共通化・抽象化で契約を統一した変更では、新しい共通経路だけでなく既存の同種分岐にも契約テストがあるか確認する
14
- 5. モックで代替した検証は、実連携まで確認したものとして扱わない
14
+ 5. 設定値、実行時に選択される能力・バックエンド・オプション、権限の変更では、値の存在ではなく、未設定・設定・override・継承・非継承など元要件の分岐条件を踏むテストか確認する
15
+ 6. 実行とは別に同じ値を表示・検証・説明する入口がある変更では、表示値だけでなく実行時の解決入力と一致することを検証しているか確認する
16
+ 7. モックで代替した検証は、実連携まで確認したものとして扱わない
17
+ 8. 禁止・拒否・非継承・非対応・隔離の検証が、完全一致文字列の不在だけでなく、観測単位を抽出して禁止値ごとに確認しているか確認する
18
+ 9. 新しい設定境界では、空文字列、空白だけの文字列、空配列、大小文字違いなどの正規化対象を必要に応じて確認する
19
+ 10. E2E の timeout、cleanup、強制終了の扱いが既存の同種テスト規約と一致しているか確認する
@@ -218,6 +218,8 @@ fun confirm(confirmedBy: String): OrderConfirmedEvent {
218
218
  | 読み取り用のクラス名やメソッド名なのに副作用を持つ | REJECT |
219
219
  | 単純な参照APIが問い合わせ層を呼び、レスポンスDTOに変換するだけ | OK |
220
220
  | 単純な状態変更APIが構造検証と認可境界の解決後にコマンドを1つ送るだけ | OK |
221
+ | Controller向けの読み取り調整役が認可境界、複数Read Model、ページング等を扱う | ApplicationService または ReadService として表現 |
222
+ | QueryHandler と同じ領域に QueryService という名前の送信側・調整側コンポーネントを置く | 警告。クエリ受信側と混同しやすい |
221
223
  | 複数のRead Model参照、外部連携、複数コマンド、結果待機をControllerに置く | REJECT。UseCase層に分離 |
222
224
  | UseCaseが別サービスへの薄い委譲だけでドメイン上の判断や調整を持たない | 削除を検討 |
223
225
 
@@ -471,6 +471,18 @@ Query側はイベント駆動のPubSubモデルで動作する。Projection が
471
471
  | Command と Query を同じサービスに混在させる | REJECT。責務と命名を分離 |
472
472
  | Query側で存在確認やスコープ確認を行い、呼び出し元がコマンドを送る | OK |
473
473
 
474
+ ### QueryHandler と ApplicationService の命名
475
+
476
+ CQRSではクエリを受けるコンポーネントを QueryHandler と呼び、クエリを送る入口は QueryGateway / QueryBus として扱う。Controller から読み取りユースケースを呼ぶ facade は、QueryHandler と混同しないよう ApplicationService または ReadService と名付ける。
477
+
478
+ | 基準 | 判定 |
479
+ |------|------|
480
+ | Query を受けて Read Model を参照し、Query結果の型を返す | QueryHandler |
481
+ | Controller から複数Query、認可境界、ページング、DTO組み立てを調整する | ApplicationService または ReadService |
482
+ | Query送信や読み取り調整だけのクラスを QueryService と呼ぶ | 警告。QueryHandler と混同しやすい |
483
+ | QueryHandler がHTTPリクエスト/レスポンスやController都合のエラー変換を知る | REJECT |
484
+ | 追加判断のない単純な読み取り wrapper を作る | 削除を検討。Controller から QueryGateway 直でもよい |
485
+
474
486
  レイヤー間の型:
475
487
  - `application/query/` - Query結果の型(例: `OrderDetail`)
476
488
  - `adapter/protocol/` - RESTレスポンスの型(例: `OrderDetailResponse`)
@@ -28,6 +28,18 @@ E2Eテストはユーザーから見える振る舞いを観測する。設定
28
28
  | 設定や内部状態だけを確認してユーザー-visible な結果を見ていない | REJECT |
29
29
  | 実外部環境に依存する確認しかなく、主要境界の deterministic test がない | 警告またはREJECT |
30
30
 
31
+ ## 否定契約の観測
32
+
33
+ E2E で権限、実行時に選択される能力・バックエンド・オプション、設定、拒否、隔離を確認する場合、出力全体への文字列否定は証拠として弱い。
34
+ 対象の行、イベント、レコード、フィールド、呼び出し引数などを取り出し、禁止値ごとに検査することで、順序、大小文字、空白、区切り、部分漏れによる見逃しを防ぐ。
35
+
36
+ | 基準 | 判定 |
37
+ |------|------|
38
+ | 「特定の一文が出ていない」だけで拒否・非継承・隔離を検証した扱いにする | REJECT |
39
+ | 許可された値の表示だけを確認し、禁止値が末端処理へ渡っていないことを見ていない | REJECT |
40
+ | 観測単位を抽出して、禁止値・拒否値・非継承値が含まれないことを値単位で確認する | OK |
41
+ | 同じシナリオで許可側と拒否側、継承側と非継承側を比較できる | OK |
42
+
31
43
  ## UXルートの洗い出し
32
44
 
33
45
  E2Eテストの網羅性はユーザー操作ルートの洗い出しに依存する。ドキュメントではなくコードから起点を特定する。
@@ -77,6 +89,7 @@ E2Eテストは非決定的な要因で失敗しやすい。
77
89
  | プロセスリーク | タイムアウトと強制終了を設定する |
78
90
  | 環境依存 | テスト実行に必要な前提条件を明示的にセットアップする |
79
91
  | 実行順序依存 | 各テストが独立して実行できるよう、状態を初期化する |
92
+ | 既存規約から外れた timeout/cleanup | 同種 E2E の既存規約に合わせる |
80
93
 
81
94
  ```typescript
82
95
  // NG - 固定 sleep でタイミングを合わせる
@@ -40,9 +40,9 @@
40
40
 
41
41
  | 状況 | 判断 |
42
42
  |------|------|
43
- | コンポーネント分割した方がきれいだが、今回の修正に不要 | 変更しない |
43
+ | コンポーネント分割した方がきれいだが、要求と因果関係がない | 変更しない |
44
44
  | Props 型名や配置を一般作法へ寄せたいだけ | 変更しない |
45
- | 既存構造のままだと要求を満たせない | 最小範囲で変更する |
45
+ | 既存構造のままだと要求を満たせない | 因果関係のある範囲で変更する |
46
46
  | 既存構造が不具合原因そのもの | 理由と影響範囲を明記して変更する |
47
47
 
48
48
  ## コメントとテストの意味
@@ -77,6 +77,33 @@ ProviderAgent.call(prompt, options) → AgentResponse
77
77
  4. config.yaml(プロバイダー一致時)
78
78
  5. プロバイダーデフォルト
79
79
 
80
+ ## 補助入口の契約
81
+
82
+ TAKT では workflow 実行経路だけでなく、preview、doctor、workflow summary、validation、report も利用者に見える契約入口である。設定値、provider、model、tool、権限、出力契約を表示・検証する補助入口は、runtime と同じ正規化済み入力、resolver、override 順を使う。
83
+
84
+ | 基準 | 判定 |
85
+ |------|------|
86
+ | runtime と preview が別々の入力で provider、model、tool、権限を解決している | REJECT |
87
+ | preview に値が表示されるだけで、runtime と同じ override 条件を検証していない | REJECT |
88
+ | doctor や validation が正常とする設定が runtime では別条件により失敗する | 警告 |
89
+ | runtime と補助入口が同じ正規化済み入力または同じ resolver を共有している | OK |
90
+
91
+ ## 実行資産の消費境界
92
+
93
+ TAKT の実行資産は、配置場所や名前だけではなく、それを消費する入口で意味が決まる。同じ文字列でも、資産参照、セッション識別子、表示名、直接渡される本文は別契約として扱う。
94
+
95
+ | 基準 | 判定 |
96
+ |------|------|
97
+ | 資産参照を解決する入口と、識別子だけを使う入口を同一視している | REJECT |
98
+ | 同名の facet を追加しただけで、直接本文を渡す入口にも反映されると扱っている | REJECT |
99
+ | workflow 由来の実行資産と機能固有の実行資産が同じ責務名で混在している | 警告 |
100
+ | 入口ごとに、どの resolver / loader がどの資産種別を消費するかを確認して配置している | OK |
101
+ | 共有すべき本文を、既存の実行資産 loader から読む形に集約している | OK |
102
+
103
+ ### 参照名と識別名
104
+
105
+ `persona`、`session_key`、`name` のような文字列は、参照名か識別名かで意味が異なる。参照名なら対応する resolver が資産を読み込む。識別名ならセッション、ログ、状態、表示のキーであり、同名ファイルの存在だけでは内容は使われない。新しい資産を追加した場合は、その資産を読む loader と呼び出し元まで追う。
106
+
80
107
  ## ファセット組み立て
81
108
 
82
109
  faceted-prompting モジュールは TAKT 本体に依存しない独立モジュール。
@@ -0,0 +1,13 @@
1
+ # Exec Review Result
2
+
3
+ ## Status
4
+
5
+ approved | needs_fix | needs_replan
6
+
7
+ ## Evidence
8
+
9
+ レビューの根拠を簡潔に書く。
10
+
11
+ ## Required Next Step
12
+
13
+ 必要な次の行動を具体的に書く。
@@ -0,0 +1,3 @@
1
+ # アシスタント ペルソナ
2
+
3
+ あなたは TAKT アシスタントです。簡潔で、的確で、行動指向を保ちます。
@@ -0,0 +1,3 @@
1
+ # ワーカー ペルソナ
2
+
3
+ あなたは TAKT ワーカーです。集中し、正確で、自己完結的に行動します。
@@ -1,19 +1,20 @@
1
1
  # 既存システム尊重ポリシー
2
2
 
3
- リリース済みまたは運用中の既存システムでは、要求達成に必要な最小差分だけを行い、既存契約を不用意に変えない。
3
+ リリース済みまたは運用中の既存システムでは、要求と因果関係のある変更を行い、因果関係のない既存契約を変えない。
4
4
 
5
5
  ## 原則
6
6
 
7
7
  | 原則 | 基準 |
8
8
  |------|------|
9
9
  | 既存契約優先 | 既存利用者、テスト、運用が依存する契約を保持する |
10
- | 最小差分 | 要求達成に必要な変更だけを残す |
10
+ | 因果差分 | 要求と因果関係のある変更を行い、因果関係のない変更を排除する |
11
11
  | 近接性より必要性 | 変更箇所に近いことを変更理由にしない |
12
- | 既存構造尊重 | ファイル配置、型名、公開API、責務境界を明示要求なしに変えない |
12
+ | 既存構造尊重 | ファイル配置、型名、公開API、責務境界を要求と因果関係なく変えない |
13
13
  | コメント保全 | 意図、制約、算出根拠を示すコメントを削除しない |
14
14
  | テストの契約性 | 既存テストが検証する挙動を軽微扱いしない |
15
- | 改善の分離 | 作法改善や整理は要求と直接関係する場合に限定する |
16
- | 保守制約優先 | 一般的な品質改善より、既存挙動と既存構造の保持を優先する |
15
+ | 外部契約一次確認 | 外部サービス・SDK・生成物の挙動は、公式仕様または実際の型・スキーマで確認する |
16
+ | 改善の因果判定 | 作法改善・リファクタは要求と因果関係がある場合に実施する。因果関係のない改善は混ぜない |
17
+ | 無関係保護優先 | 要求と因果関係のない既存挙動・構造の保持を優先する |
17
18
 
18
19
  ## 変更境界
19
20
 
@@ -22,21 +23,22 @@
22
23
  | 要求を満たすために不可欠な変更 | OK |
23
24
  | 不可欠な変更を接続するための呼び出し元更新 | OK |
24
25
  | 不可欠な変更の副作用を止めるための局所修正 | OK |
26
+ | 要求と因果関係のある構造変更・リファクタ | OK |
25
27
  | 変更ファイル内という理由だけの整理 | REJECT |
26
- | 明示要求のないファイル移動、型名変更、公開API変更 | REJECT |
27
- | フレームワーク作法の改善を混ぜる | REJECT |
28
- | 別PRで扱える改善を同時に入れる | REJECT |
28
+ | 要求と因果関係のないファイル移動、型名変更、公開API変更 | REJECT |
29
+ | フレームワーク作法の改善を混ぜる(要求と因果関係がない場合) | REJECT |
30
+ | 要求と因果関係のない改善を同時に入れる | REJECT |
29
31
 
30
32
  ## 他ポリシーとの優先順位
31
33
 
32
- 既存システムの保守では、coding、frontend、design-fidelity、testing などの一般的な品質基準を、要求達成に必要な範囲へ制限して適用する。
34
+ 既存システムの保守では、coding、frontend、design-fidelity、testing などの一般的な品質基準を、要求と因果関係のある範囲で適用する。
33
35
 
34
36
  | 衝突 | 判定 |
35
37
  |------|------|
36
- | 一般品質基準は改善を推奨するが、要求には不要 | 変更しない |
37
- | 既存構造は理想的でないが、今回の要求を満たせる | 既存構造を維持する |
38
+ | 一般品質基準は改善を推奨するが、要求と因果関係がない | 変更しない |
39
+ | 既存構造は理想的でないが、要求と因果関係がない | 既存構造を維持する |
38
40
  | 品質基準を満たすには既存契約変更が必要 | ユーザーの明示要求または計画上の根拠が必要 |
39
- | 不具合修正に必要な最小の構造変更 | 理由と影響範囲を明記して実施する |
41
+ | 要求と因果関係のある構造変更 | 理由と影響範囲を明記して実施する |
40
42
 
41
43
  ## 観測可能契約
42
44
 
@@ -44,11 +46,23 @@ UI、アクセシビリティ、テスト、ログ、API、型、ファイル配
44
46
 
45
47
  | 契約 | 変更条件 |
46
48
  |------|----------|
47
- | UI文言、アクセシビリティ名、role/state | 要求に直接含まれる場合のみ変更する |
48
- | hook の戻り値、Props 型名、公開関数名 | 呼び出し元更新が要求達成に不可欠な場合のみ変更する |
49
+ | UI文言、アクセシビリティ名、role/state | 要求と因果関係がある場合のみ変更する |
50
+ | hook の戻り値、Props 型名、公開関数名 | 要求と因果関係のある呼び出し元更新に不可欠な場合のみ変更する |
49
51
  | テスト期待値 | 仕様変更が要求されている場合のみ変更する |
50
52
  | コメント | 誤りを直す場合、またはコードで完全に不要になった場合のみ変更する |
51
- | ファイル配置 | 既存構造では要求を満たせない場合のみ変更する |
53
+ | ファイル配置 | 要求と因果関係がある場合のみ変更する |
54
+
55
+ ## 外部依存契約
56
+
57
+ 外部サービス、SDK、生成コード、スキーマ、CLI の挙動は既存システムの境界契約として扱う。操作ごとのエラー型、ステータス、戻り値、冪等性、上限、optional 条件を推測で共通化しない。
58
+
59
+ | 基準 | 判定 |
60
+ |------|------|
61
+ | 公式仕様、実際の型定義、生成スキーマ、または既存の同種実装で具体契約を確認している | OK |
62
+ | 同じサービス内の別操作の例外型・ステータス・戻り値を「相当」とみなし、未確認の操作へ流用する | REJECT |
63
+ | コンパイル成功、モック成功、スタブの期待値だけで外部契約を確認済みと扱う | REJECT |
64
+ | 計画や実装ガイドラインに外部契約の曖昧語が残る(例: 「相当」「同様」) | REJECT |
65
+ | 外部契約を確認できない場合に、未確認範囲・リスク・確認方法を記録している | OK |
52
66
 
53
67
  ## テスト変更
54
68
 
@@ -70,4 +84,4 @@ UI、アクセシビリティ、テスト、ログ、API、型、ファイル配
70
84
  |------|------|
71
85
  | 必須変更 | これがないと要求を満たせない |
72
86
  | 関連変更 | 必須変更を接続、検証、整合させるために必要 |
73
- | 不要変更 | 読みやすさ、作法、ついで整理、将来拡張だけが理由 |
87
+ | 不要変更 | 要求との因果関係がなく、読みやすさ、作法、ついで整理、将来拡張だけが理由 |
@@ -13,6 +13,7 @@
13
13
  | 状態整合性 | 副作用や状態変更は、正常・失敗・中断の各経路で漏れ・重複・不整合がないことを確認する |
14
14
  | 契約全入口 | 新しい契約は通常入口だけでなく、派生条件・検証・評価・出力・再注入経路まで同じ基準で確認する |
15
15
  | 契約一貫性 | 共通化・抽象化で担う契約は、既存の同種分岐にも同じ基準で適用されていることを確認する |
16
+ | 外部契約検証 | 外部サービス・SDK・生成物の意味契約を、一次情報または実型で確認する |
16
17
  | 仕様完全性 | 利用者向け契約を変える場合、実装・テスト・ドキュメントが同じ探索順、上書き規則、特殊記法、失敗条件を説明していることを確認する |
17
18
  | 元要件固定 | タスク指示書の必須項目を、実装都合で optional・対象外・別要件に読み替えない |
18
19
  | 解消判定 | resolved 判定は修正内容ではなく、元 finding の受入条件と元要件に戻って確認する |
@@ -57,6 +58,7 @@
57
58
  - 設定・CLI・ファイル形式などの利用者向け契約変更に対して、ドキュメントや例が優先順位、first-match/merge、inline上書き、scope/特殊参照、失敗条件のいずれかを欠落している
58
59
  - 共通ヘルパー、正規化関数、builder、adapter の追加・変更後に、同じ契約を持つ既存分岐が旧実装のまま残っている
59
60
  - タスクで要求されたフィールド、属性、出力、設定、識別子を、明示根拠なく optional・未設定・対象外として扱う、または入口や実行モードによって欠落させている
61
+ - 外部サービス・SDK・生成物の操作ごとのエラー型、ステータス、戻り値、冪等性を確認せず、別操作の契約やモックの成功で代用している
60
62
  - 副作用や状態変更の実行経路に、漏れ・重複・順序不整合がある
61
63
  - ログ、エラーレスポンス、テスト出力への機密情報露出
62
64
 
@@ -101,6 +103,7 @@ DRY違反の修正案は、単に共通化を求めるだけでは不十分と
101
103
  | ファイルを開いて実コードを確認 | 「修正済みのはず」と思い込む |
102
104
  | 呼び出し元・使用箇所を検索 | 記憶に基づいて指摘する |
103
105
  | 型定義・スキーマを突合 | 推測でデッドコードと判断する |
106
+ | 外部SDK・APIの操作別契約を公式仕様または実型で確認 | コンパイル成功やモック成功だけで意味契約を確認済みとする |
104
107
  | 生成ファイル(レポート等)とソースを区別 | 生成ファイルをソースコードとしてレビュー |
105
108
  | ツール出力が正常に読めることを確認 | 文字化け・異常文字を含む出力に基づいて指摘する |
106
109
  | 「存在しない」主張は対象行を直接読んで検証 | 検索結果だけで「コードにない」と断定する |
@@ -12,6 +12,8 @@
12
12
  | 独立性 | 他のテストや実行順序に依存しない |
13
13
  | 再現性 | 時間やランダム性に依存せず、毎回同じ結果 |
14
14
  | 非実行資産を固定しない | 実行時の振る舞いを定義しない本文や章構成を CI の失敗条件にしない |
15
+ | 否定契約を観測単位で検証 | 禁止・拒否・非継承・非対応は、完全一致文字列の不在だけで合格にしない |
16
+ | モック契約一致 | 外部SDK・APIのモックは実契約と一致させ、誤った前提をテストで固定しない |
15
17
 
16
18
  ## カバレッジ基準
17
19
 
@@ -113,6 +115,33 @@ test('ユーザーが存在しない場合、NotFoundエラーを返す', async
113
115
  | 変更対象関数の return / throw / catch / early return を列挙せず、代表的な失敗経路を取りこぼしている | REJECT |
114
116
  | 同じ責務の既存分岐にも、戻り値・副作用・イベント・エラー分類の契約を検証するテストがある | OK |
115
117
 
118
+ ## 契約テストの十分性
119
+
120
+ 新しい設定値、実行時に選択される能力・バックエンド・オプション、権限、出力契約を追加・変更した場合、テストは値の存在ではなく、契約を変える分岐条件を踏んでいることを確認する。
121
+
122
+ | 基準 | 判定 |
123
+ |------|------|
124
+ | 新しいオプションの正常系だけを確認している | 警告 |
125
+ | 未設定、設定、不正値、継承、非継承、override、非対応対象のうち、要件に関係する分岐を検証していない | REJECT |
126
+ | 利用者向けの表示・検証用入口で、主実行経路と同じ契約になることを確認していない | REJECT |
127
+ | 値の表示だけを確認し、実行時に使われる解決入力と一致するか検証していない | REJECT |
128
+ | 漏れ検証を完全一致文字列だけで行い、順序、大小文字、空白、部分漏れの違いを見逃す | REJECT |
129
+ | 空文字列、空白だけの文字列、空配列、大小文字違いなど、設定境界で正規化対象になり得る値を検証していない | 警告。契約の主要分岐なら REJECT |
130
+ | 入口から末端呼び出しまで、正常系、拒否系、非継承系を確認している | OK |
131
+
132
+ ## 否定・非継承・拒否のテスト
133
+
134
+ 禁止、拒否、非継承、非対応、隔離を検証するテストは、出力全体に特定の文字列が存在しないことだけを根拠にしない。
135
+ 観測対象の行、レコード、フィールド、呼び出し引数などを抽出し、禁止値が順序、大小文字、空白、区切り、部分一致の形でも漏れていないことを検証する。
136
+
137
+ | 基準 | 判定 |
138
+ |------|------|
139
+ | 完全一致文字列の不在だけで、禁止値や非継承値が使われていないと判断している | REJECT |
140
+ | 許可値の存在確認だけで、拒否値・禁止値・非継承値が末端に渡らないことを検証していない | REJECT |
141
+ | 出力行、イベント、レコード、フィールド、呼び出し引数などの観測単位を抽出し、禁止値ごとに検証している | OK |
142
+ | 許可側と拒否側、継承側と非継承側を対にして検証している | OK |
143
+ | 新しい E2E の timeout、cleanup、強制終了の扱いが既存の同種テスト規約と一致していない | 警告。プロセスリークやフレークの原因になる場合は REJECT |
144
+
116
145
  ## パーサー・設定境界のテスト
117
146
 
118
147
  外部ファイル、設定、YAML/JSON、CLI入力などを読む境界では、型定義どおりの入力だけを検証しても十分ではない。
@@ -136,6 +165,18 @@ test('ユーザーが存在しない場合、NotFoundエラーを返す', async
136
165
  | factory でデフォルトを用意し、テストに関係するフィールドだけ上書きしている | OK |
137
166
  | 契約変更時に fixture、mock、snapshot を同じ変更で更新している | OK |
138
167
 
168
+ ## 外部契約モック
169
+
170
+ 外部SDK、外部API、生成クライアント、CLI をモックする場合、モックの例外型、ステータス、戻り値、欠落値、部分成功、冪等性は実契約に合わせる。型が合うだけでは、意味契約を検証したことにならない。
171
+
172
+ | 基準 | 判定 |
173
+ |------|------|
174
+ | 公式仕様、SDK型、生成スキーマ、既存同種テストのいずれかと突合してモック値を決めている | OK |
175
+ | 実装が期待する例外や戻り値をモックに投げさせ、そのテスト成功を外部契約の根拠にしている | REJECT |
176
+ | 同じサービス内の別操作のエラー型やレスポンス shape を流用している | REJECT |
177
+ | 型安全なモックだが、操作ごとの意味契約(既存リソース時、部分成功時、未検出時など)を確認していない | REJECT |
178
+ | 実連携をスタブ化する場合、モックで確認した範囲と未確認の実連携範囲をレポートに分けて記録している | OK |
179
+
139
180
  ### 命名
140
181
 
141
182
  テスト名は期待される振る舞いを記述する。`should {期待する振る舞い} when {条件}` パターンを使う。
@@ -24,6 +24,7 @@ workflow_categories:
24
24
  workflows:
25
25
  - backend
26
26
  - backend-mini
27
+ - backend-maintenance
27
28
  - backend-cqrs
28
29
  - backend-cqrs-mini
29
30
  🔧 デュアル: