takt 0.33.1 → 0.34.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 (634) hide show
  1. package/README.md +29 -22
  2. package/builtins/en/config.yaml +8 -8
  3. package/builtins/en/facets/instructions/architecture-audit-plan.md +13 -0
  4. package/builtins/en/facets/instructions/architecture-audit-review.md +15 -0
  5. package/builtins/en/facets/instructions/architecture-audit-supervise.md +14 -0
  6. package/builtins/en/facets/instructions/architecture-audit-team-leader.md +22 -0
  7. package/builtins/en/facets/instructions/dual-team-leader-implement.md +8 -2
  8. package/builtins/en/facets/instructions/e2e-audit-plan.md +13 -0
  9. package/builtins/en/facets/instructions/e2e-audit-review.md +16 -0
  10. package/builtins/en/facets/instructions/e2e-audit-supervise.md +11 -0
  11. package/builtins/en/facets/instructions/e2e-audit-team-leader.md +22 -0
  12. package/builtins/en/facets/instructions/plan.md +3 -0
  13. package/builtins/en/facets/instructions/review-requirements.md +12 -7
  14. package/builtins/en/facets/instructions/supervise.md +4 -2
  15. package/builtins/en/facets/instructions/team-leader-implement.md +3 -2
  16. package/builtins/en/facets/instructions/unit-audit-plan.md +13 -0
  17. package/builtins/en/facets/instructions/unit-audit-review.md +16 -0
  18. package/builtins/en/facets/instructions/unit-audit-supervise.md +11 -0
  19. package/builtins/en/facets/instructions/unit-audit-team-leader.md +22 -0
  20. package/builtins/en/facets/knowledge/architecture.md +93 -0
  21. package/builtins/en/facets/knowledge/cqrs-es.md +64 -5
  22. package/builtins/en/facets/output-contracts/architecture-audit-plan.md +26 -0
  23. package/builtins/en/facets/output-contracts/architecture-audit.md +38 -0
  24. package/builtins/en/facets/output-contracts/{security-audit.md → audit-security.md} +15 -0
  25. package/builtins/en/facets/output-contracts/e2e-audit-plan.md +26 -0
  26. package/builtins/en/facets/output-contracts/e2e-audit.md +41 -0
  27. package/builtins/en/facets/output-contracts/plan.md +8 -0
  28. package/builtins/en/facets/output-contracts/requirements-review.md +10 -8
  29. package/builtins/en/facets/output-contracts/supervisor-validation.md +8 -0
  30. package/builtins/en/facets/output-contracts/unit-audit-plan.md +26 -0
  31. package/builtins/en/facets/output-contracts/unit-audit.md +41 -0
  32. package/builtins/en/facets/personas/planner.md +7 -0
  33. package/builtins/en/facets/personas/requirements-reviewer.md +7 -0
  34. package/builtins/en/facets/personas/supervisor.md +10 -0
  35. package/builtins/en/facets/policies/coding.md +87 -0
  36. package/builtins/en/{piece-categories.yaml → workflow-categories.yaml} +17 -15
  37. package/builtins/en/workflows/audit-architecture-backend.yaml +83 -0
  38. package/builtins/en/workflows/audit-architecture-dual.yaml +87 -0
  39. package/builtins/en/workflows/audit-architecture-frontend.yaml +87 -0
  40. package/builtins/en/workflows/audit-architecture.yaml +75 -0
  41. package/builtins/en/workflows/audit-e2e.yaml +92 -0
  42. package/builtins/en/{pieces/security-audit.yaml → workflows/audit-security.yaml} +10 -10
  43. package/builtins/en/workflows/audit-unit.yaml +94 -0
  44. package/builtins/en/{pieces → workflows}/backend-cqrs-mini.yaml +5 -5
  45. package/builtins/en/{pieces → workflows}/backend-cqrs.yaml +5 -5
  46. package/builtins/en/{pieces → workflows}/backend-mini.yaml +5 -5
  47. package/builtins/en/{pieces → workflows}/backend.yaml +5 -5
  48. package/builtins/en/{pieces → workflows}/compound-eye.yaml +4 -4
  49. package/builtins/en/{pieces → workflows}/deep-research.yaml +5 -5
  50. package/builtins/en/{pieces → workflows}/default.yaml +5 -5
  51. package/builtins/en/{pieces → workflows}/dual-cqrs-mini.yaml +5 -5
  52. package/builtins/en/{pieces → workflows}/dual-cqrs.yaml +5 -5
  53. package/builtins/en/{pieces → workflows}/dual-mini.yaml +5 -5
  54. package/builtins/en/{pieces → workflows}/dual.yaml +23 -7
  55. package/builtins/en/{pieces → workflows}/frontend-mini.yaml +5 -5
  56. package/builtins/en/{pieces → workflows}/frontend.yaml +5 -5
  57. package/builtins/en/{pieces → workflows}/magi.yaml +4 -4
  58. package/builtins/en/{pieces → workflows}/research.yaml +5 -5
  59. package/builtins/en/{pieces → workflows}/review-backend-cqrs.yaml +4 -4
  60. package/builtins/en/{pieces → workflows}/review-backend.yaml +4 -4
  61. package/builtins/en/{pieces → workflows}/review-default.yaml +5 -5
  62. package/builtins/en/{pieces → workflows}/review-dual-cqrs.yaml +4 -4
  63. package/builtins/en/{pieces → workflows}/review-dual.yaml +4 -4
  64. package/builtins/en/{pieces → workflows}/review-fix-backend-cqrs.yaml +4 -4
  65. package/builtins/en/{pieces → workflows}/review-fix-backend.yaml +4 -4
  66. package/builtins/en/{pieces → workflows}/review-fix-default.yaml +4 -4
  67. package/builtins/en/{pieces → workflows}/review-fix-dual-cqrs.yaml +4 -4
  68. package/builtins/en/{pieces → workflows}/review-fix-dual.yaml +4 -4
  69. package/builtins/en/{pieces → workflows}/review-fix-frontend.yaml +4 -4
  70. package/builtins/en/{pieces → workflows}/review-fix-takt-default.yaml +4 -4
  71. package/builtins/en/{pieces → workflows}/review-frontend.yaml +4 -4
  72. package/builtins/en/{pieces → workflows}/review-takt-default.yaml +5 -5
  73. package/builtins/en/{pieces → workflows}/takt-default.yaml +5 -5
  74. package/builtins/en/{pieces → workflows}/terraform.yaml +5 -5
  75. package/builtins/ja/config.yaml +8 -8
  76. package/builtins/ja/facets/instructions/architecture-audit-plan.md +13 -0
  77. package/builtins/ja/facets/instructions/architecture-audit-review.md +15 -0
  78. package/builtins/ja/facets/instructions/architecture-audit-supervise.md +14 -0
  79. package/builtins/ja/facets/instructions/architecture-audit-team-leader.md +22 -0
  80. package/builtins/ja/facets/instructions/dual-team-leader-implement.md +8 -2
  81. package/builtins/ja/facets/instructions/e2e-audit-plan.md +13 -0
  82. package/builtins/ja/facets/instructions/e2e-audit-review.md +16 -0
  83. package/builtins/ja/facets/instructions/e2e-audit-supervise.md +11 -0
  84. package/builtins/ja/facets/instructions/e2e-audit-team-leader.md +22 -0
  85. package/builtins/ja/facets/instructions/plan.md +3 -0
  86. package/builtins/ja/facets/instructions/review-requirements.md +12 -7
  87. package/builtins/ja/facets/instructions/supervise.md +4 -2
  88. package/builtins/ja/facets/instructions/team-leader-implement.md +3 -2
  89. package/builtins/ja/facets/instructions/unit-audit-plan.md +13 -0
  90. package/builtins/ja/facets/instructions/unit-audit-review.md +16 -0
  91. package/builtins/ja/facets/instructions/unit-audit-supervise.md +11 -0
  92. package/builtins/ja/facets/instructions/unit-audit-team-leader.md +22 -0
  93. package/builtins/ja/facets/knowledge/architecture.md +93 -0
  94. package/builtins/ja/facets/knowledge/cqrs-es.md +66 -6
  95. package/builtins/ja/facets/output-contracts/architecture-audit-plan.md +26 -0
  96. package/builtins/ja/facets/output-contracts/architecture-audit.md +38 -0
  97. package/builtins/ja/facets/output-contracts/{security-audit.md → audit-security.md} +15 -0
  98. package/builtins/ja/facets/output-contracts/e2e-audit-plan.md +26 -0
  99. package/builtins/ja/facets/output-contracts/e2e-audit.md +41 -0
  100. package/builtins/ja/facets/output-contracts/plan.md +8 -0
  101. package/builtins/ja/facets/output-contracts/requirements-review.md +10 -8
  102. package/builtins/ja/facets/output-contracts/supervisor-validation.md +8 -0
  103. package/builtins/ja/facets/output-contracts/unit-audit-plan.md +26 -0
  104. package/builtins/ja/facets/output-contracts/unit-audit.md +41 -0
  105. package/builtins/ja/facets/personas/planner.md +8 -0
  106. package/builtins/ja/facets/personas/requirements-reviewer.md +7 -0
  107. package/builtins/ja/facets/personas/supervisor.md +6 -0
  108. package/builtins/ja/facets/policies/coding.md +87 -0
  109. package/builtins/ja/{piece-categories.yaml → workflow-categories.yaml} +17 -15
  110. package/builtins/ja/workflows/audit-architecture-backend.yaml +83 -0
  111. package/builtins/ja/workflows/audit-architecture-dual.yaml +87 -0
  112. package/builtins/ja/workflows/audit-architecture-frontend.yaml +87 -0
  113. package/builtins/ja/workflows/audit-architecture.yaml +75 -0
  114. package/builtins/ja/workflows/audit-e2e.yaml +92 -0
  115. package/builtins/ja/{pieces/security-audit.yaml → workflows/audit-security.yaml} +10 -10
  116. package/builtins/ja/workflows/audit-unit.yaml +94 -0
  117. package/builtins/ja/{pieces → workflows}/backend-cqrs-mini.yaml +5 -5
  118. package/builtins/ja/{pieces → workflows}/backend-cqrs.yaml +4 -4
  119. package/builtins/ja/{pieces → workflows}/backend-mini.yaml +5 -5
  120. package/builtins/ja/{pieces → workflows}/backend.yaml +4 -4
  121. package/builtins/ja/{pieces → workflows}/compound-eye.yaml +4 -4
  122. package/builtins/ja/{pieces → workflows}/deep-research.yaml +5 -5
  123. package/builtins/ja/{pieces → workflows}/default.yaml +5 -5
  124. package/builtins/ja/{pieces → workflows}/dual-cqrs-mini.yaml +5 -5
  125. package/builtins/ja/{pieces → workflows}/dual-cqrs.yaml +5 -5
  126. package/builtins/ja/{pieces → workflows}/dual-mini.yaml +5 -5
  127. package/builtins/ja/{pieces → workflows}/dual.yaml +23 -7
  128. package/builtins/ja/{pieces → workflows}/frontend-mini.yaml +5 -5
  129. package/builtins/ja/{pieces → workflows}/frontend.yaml +4 -4
  130. package/builtins/ja/{pieces → workflows}/magi.yaml +4 -4
  131. package/builtins/ja/{pieces → workflows}/research.yaml +5 -5
  132. package/builtins/ja/{pieces → workflows}/review-backend-cqrs.yaml +4 -4
  133. package/builtins/ja/{pieces → workflows}/review-backend.yaml +4 -4
  134. package/builtins/ja/{pieces → workflows}/review-default.yaml +5 -5
  135. package/builtins/ja/{pieces → workflows}/review-dual-cqrs.yaml +4 -4
  136. package/builtins/ja/{pieces → workflows}/review-dual.yaml +4 -4
  137. package/builtins/ja/{pieces → workflows}/review-fix-backend-cqrs.yaml +4 -4
  138. package/builtins/ja/{pieces → workflows}/review-fix-backend.yaml +4 -4
  139. package/builtins/ja/{pieces → workflows}/review-fix-default.yaml +4 -4
  140. package/builtins/ja/{pieces → workflows}/review-fix-dual-cqrs.yaml +4 -4
  141. package/builtins/ja/{pieces → workflows}/review-fix-dual.yaml +4 -4
  142. package/builtins/ja/{pieces → workflows}/review-fix-frontend.yaml +4 -4
  143. package/builtins/ja/{pieces → workflows}/review-fix-takt-default.yaml +4 -4
  144. package/builtins/ja/{pieces → workflows}/review-frontend.yaml +4 -4
  145. package/builtins/ja/{pieces → workflows}/review-takt-default.yaml +5 -5
  146. package/builtins/ja/{pieces → workflows}/takt-default.yaml +5 -5
  147. package/builtins/ja/{pieces → workflows}/terraform.yaml +5 -5
  148. package/builtins/schemas/decomposition.json +1 -5
  149. package/builtins/schemas/more-parts.json +1 -5
  150. package/builtins/skill/SKILL.md +54 -52
  151. package/builtins/skill/references/engine.md +45 -45
  152. package/builtins/skill/references/yaml-schema.md +46 -38
  153. package/builtins/skill-codex/SKILL.md +48 -46
  154. package/builtins/skill-codex/references/engine.md +32 -32
  155. package/builtins/skill-codex/references/yaml-schema.md +46 -38
  156. package/dist/agents/decompose-task-usecase.d.ts +3 -1
  157. package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
  158. package/dist/agents/decompose-task-usecase.js +2 -112
  159. package/dist/agents/decompose-task-usecase.js.map +1 -1
  160. package/dist/agents/judge-status-usecase.d.ts +11 -0
  161. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  162. package/dist/agents/judge-status-usecase.js +37 -31
  163. package/dist/agents/judge-status-usecase.js.map +1 -1
  164. package/dist/agents/judge-utils.d.ts +6 -0
  165. package/dist/agents/judge-utils.d.ts.map +1 -1
  166. package/dist/agents/judge-utils.js +12 -0
  167. package/dist/agents/judge-utils.js.map +1 -1
  168. package/dist/agents/runner.d.ts.map +1 -1
  169. package/dist/agents/runner.js +10 -2
  170. package/dist/agents/runner.js.map +1 -1
  171. package/dist/agents/structured-caller/contracts.d.ts +18 -0
  172. package/dist/agents/structured-caller/contracts.d.ts.map +1 -0
  173. package/dist/agents/structured-caller/contracts.js +2 -0
  174. package/dist/agents/structured-caller/contracts.js.map +1 -0
  175. package/dist/agents/structured-caller/default-structured-caller.d.ts +19 -0
  176. package/dist/agents/structured-caller/default-structured-caller.d.ts.map +1 -0
  177. package/dist/agents/structured-caller/default-structured-caller.js +25 -0
  178. package/dist/agents/structured-caller/default-structured-caller.js.map +1 -0
  179. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts +19 -0
  180. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -0
  181. package/dist/agents/structured-caller/prompt-based-structured-caller.js +137 -0
  182. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -0
  183. package/dist/agents/structured-caller/shared.d.ts +5 -0
  184. package/dist/agents/structured-caller/shared.d.ts.map +1 -0
  185. package/dist/agents/structured-caller/shared.js +36 -0
  186. package/dist/agents/structured-caller/shared.js.map +1 -0
  187. package/dist/agents/structured-caller.d.ts +4 -0
  188. package/dist/agents/structured-caller.d.ts.map +1 -0
  189. package/dist/agents/structured-caller.js +3 -0
  190. package/dist/agents/structured-caller.js.map +1 -0
  191. package/dist/agents/team-leader-structured-output.d.ts +19 -0
  192. package/dist/agents/team-leader-structured-output.d.ts.map +1 -0
  193. package/dist/agents/team-leader-structured-output.js +152 -0
  194. package/dist/agents/team-leader-structured-output.js.map +1 -0
  195. package/dist/agents/types.d.ts +2 -2
  196. package/dist/agents/types.d.ts.map +1 -1
  197. package/dist/app/cli/commands.js +31 -14
  198. package/dist/app/cli/commands.js.map +1 -1
  199. package/dist/app/cli/helpers.d.ts +1 -0
  200. package/dist/app/cli/helpers.d.ts.map +1 -1
  201. package/dist/app/cli/helpers.js +8 -0
  202. package/dist/app/cli/helpers.js.map +1 -1
  203. package/dist/app/cli/program.d.ts.map +1 -1
  204. package/dist/app/cli/program.js +2 -1
  205. package/dist/app/cli/program.js.map +1 -1
  206. package/dist/app/cli/routing-inputs.d.ts +2 -2
  207. package/dist/app/cli/routing-inputs.d.ts.map +1 -1
  208. package/dist/app/cli/routing-inputs.js +11 -8
  209. package/dist/app/cli/routing-inputs.js.map +1 -1
  210. package/dist/app/cli/routing.d.ts.map +1 -1
  211. package/dist/app/cli/routing.js +12 -4
  212. package/dist/app/cli/routing.js.map +1 -1
  213. package/dist/core/models/config-schemas.d.ts +674 -0
  214. package/dist/core/models/config-schemas.d.ts.map +1 -0
  215. package/dist/core/models/config-schemas.js +143 -0
  216. package/dist/core/models/config-schemas.js.map +1 -0
  217. package/dist/core/models/config-types.d.ts +7 -2
  218. package/dist/core/models/config-types.d.ts.map +1 -1
  219. package/dist/core/models/part.d.ts +0 -2
  220. package/dist/core/models/part.d.ts.map +1 -1
  221. package/dist/core/models/piece-types.d.ts +8 -0
  222. package/dist/core/models/piece-types.d.ts.map +1 -1
  223. package/dist/core/models/piece-types.js +2 -0
  224. package/dist/core/models/piece-types.js.map +1 -1
  225. package/dist/core/models/schema-base.d.ts +493 -0
  226. package/dist/core/models/schema-base.d.ts.map +1 -0
  227. package/dist/core/models/schema-base.js +201 -0
  228. package/dist/core/models/schema-base.js.map +1 -0
  229. package/dist/core/models/schemas.d.ts +4 -1638
  230. package/dist/core/models/schemas.d.ts.map +1 -1
  231. package/dist/core/models/schemas.js +4 -563
  232. package/dist/core/models/schemas.js.map +1 -1
  233. package/dist/core/models/workflow-schemas.d.ts +1723 -0
  234. package/dist/core/models/workflow-schemas.d.ts.map +1 -0
  235. package/dist/core/models/workflow-schemas.js +217 -0
  236. package/dist/core/models/workflow-schemas.js.map +1 -0
  237. package/dist/core/piece/engine/ArpeggioRunner.d.ts +2 -6
  238. package/dist/core/piece/engine/ArpeggioRunner.d.ts.map +1 -1
  239. package/dist/core/piece/engine/ArpeggioRunner.js +2 -1
  240. package/dist/core/piece/engine/ArpeggioRunner.js.map +1 -1
  241. package/dist/core/piece/engine/MovementExecutor.d.ts +2 -6
  242. package/dist/core/piece/engine/MovementExecutor.d.ts.map +1 -1
  243. package/dist/core/piece/engine/MovementExecutor.js +2 -1
  244. package/dist/core/piece/engine/MovementExecutor.js.map +1 -1
  245. package/dist/core/piece/engine/OptionsBuilder.d.ts +1 -0
  246. package/dist/core/piece/engine/OptionsBuilder.d.ts.map +1 -1
  247. package/dist/core/piece/engine/OptionsBuilder.js +13 -34
  248. package/dist/core/piece/engine/OptionsBuilder.js.map +1 -1
  249. package/dist/core/piece/engine/ParallelRunner.d.ts +2 -6
  250. package/dist/core/piece/engine/ParallelRunner.d.ts.map +1 -1
  251. package/dist/core/piece/engine/ParallelRunner.js +109 -55
  252. package/dist/core/piece/engine/ParallelRunner.js.map +1 -1
  253. package/dist/core/piece/engine/PieceEngine.d.ts +1 -1
  254. package/dist/core/piece/engine/PieceEngine.d.ts.map +1 -1
  255. package/dist/core/piece/engine/PieceEngine.js +11 -10
  256. package/dist/core/piece/engine/PieceEngine.js.map +1 -1
  257. package/dist/core/piece/engine/TeamLeaderRunner.d.ts +0 -7
  258. package/dist/core/piece/engine/TeamLeaderRunner.d.ts.map +1 -1
  259. package/dist/core/piece/engine/TeamLeaderRunner.js +9 -6
  260. package/dist/core/piece/engine/TeamLeaderRunner.js.map +1 -1
  261. package/dist/core/piece/engine/parallel-logger.d.ts.map +1 -1
  262. package/dist/core/piece/engine/parallel-logger.js +2 -0
  263. package/dist/core/piece/engine/parallel-logger.js.map +1 -1
  264. package/dist/core/piece/engine/team-leader-common.d.ts.map +1 -1
  265. package/dist/core/piece/engine/team-leader-common.js +6 -3
  266. package/dist/core/piece/engine/team-leader-common.js.map +1 -1
  267. package/dist/core/piece/evaluation/RuleEvaluator.d.ts +6 -3
  268. package/dist/core/piece/evaluation/RuleEvaluator.d.ts.map +1 -1
  269. package/dist/core/piece/evaluation/RuleEvaluator.js +16 -14
  270. package/dist/core/piece/evaluation/RuleEvaluator.js.map +1 -1
  271. package/dist/core/piece/instruction/InstructionBuilder.d.ts +4 -4
  272. package/dist/core/piece/instruction/InstructionBuilder.js +9 -9
  273. package/dist/core/piece/instruction/InstructionBuilder.js.map +1 -1
  274. package/dist/core/piece/instruction/instruction-context.d.ts +1 -1
  275. package/dist/core/piece/instruction/instruction-context.js +5 -5
  276. package/dist/core/piece/instruction/instruction-context.js.map +1 -1
  277. package/dist/core/piece/part-definition-validator.d.ts.map +1 -1
  278. package/dist/core/piece/part-definition-validator.js +3 -6
  279. package/dist/core/piece/part-definition-validator.js.map +1 -1
  280. package/dist/core/piece/phase-runner.d.ts +6 -1
  281. package/dist/core/piece/phase-runner.d.ts.map +1 -1
  282. package/dist/core/piece/phase-runner.js.map +1 -1
  283. package/dist/core/piece/provider-resolution.d.ts +0 -2
  284. package/dist/core/piece/provider-resolution.d.ts.map +1 -1
  285. package/dist/core/piece/provider-resolution.js +0 -2
  286. package/dist/core/piece/provider-resolution.js.map +1 -1
  287. package/dist/core/piece/status-judgment-phase.d.ts.map +1 -1
  288. package/dist/core/piece/status-judgment-phase.js +2 -2
  289. package/dist/core/piece/status-judgment-phase.js.map +1 -1
  290. package/dist/core/piece/types.d.ts +7 -9
  291. package/dist/core/piece/types.d.ts.map +1 -1
  292. package/dist/core/runtime/runtime-environment.d.ts.map +1 -1
  293. package/dist/core/runtime/runtime-environment.js +15 -0
  294. package/dist/core/runtime/runtime-environment.js.map +1 -1
  295. package/dist/features/config/deploySkill.js +1 -1
  296. package/dist/features/config/deploySkill.js.map +1 -1
  297. package/dist/features/config/deploySkillCodex.js +1 -1
  298. package/dist/features/config/deploySkillCodex.js.map +1 -1
  299. package/dist/features/config/deploySkillInternal.js +5 -5
  300. package/dist/features/config/deploySkillInternal.js.map +1 -1
  301. package/dist/features/config/ejectBuiltin.d.ts +3 -3
  302. package/dist/features/config/ejectBuiltin.d.ts.map +1 -1
  303. package/dist/features/config/ejectBuiltin.js +53 -28
  304. package/dist/features/config/ejectBuiltin.js.map +1 -1
  305. package/dist/features/pieceSelection/index.d.ts.map +1 -1
  306. package/dist/features/pieceSelection/index.js +32 -31
  307. package/dist/features/pieceSelection/index.js.map +1 -1
  308. package/dist/features/pipeline/execute.d.ts.map +1 -1
  309. package/dist/features/pipeline/execute.js +9 -3
  310. package/dist/features/pipeline/execute.js.map +1 -1
  311. package/dist/features/pipeline/steps.d.ts.map +1 -1
  312. package/dist/features/pipeline/steps.js +25 -19
  313. package/dist/features/pipeline/steps.js.map +1 -1
  314. package/dist/features/prompt/preview.d.ts.map +1 -1
  315. package/dist/features/prompt/preview.js +9 -4
  316. package/dist/features/prompt/preview.js.map +1 -1
  317. package/dist/features/tasks/add/index.d.ts +2 -0
  318. package/dist/features/tasks/add/index.d.ts.map +1 -1
  319. package/dist/features/tasks/add/index.js +9 -8
  320. package/dist/features/tasks/add/index.js.map +1 -1
  321. package/dist/features/tasks/add/issueTask.d.ts +1 -0
  322. package/dist/features/tasks/add/issueTask.d.ts.map +1 -1
  323. package/dist/features/tasks/add/issueTask.js +1 -1
  324. package/dist/features/tasks/add/issueTask.js.map +1 -1
  325. package/dist/features/tasks/add/worktree-settings.d.ts.map +1 -1
  326. package/dist/features/tasks/add/worktree-settings.js +10 -8
  327. package/dist/features/tasks/add/worktree-settings.js.map +1 -1
  328. package/dist/features/tasks/execute/pieceExecution.d.ts.map +1 -1
  329. package/dist/features/tasks/execute/pieceExecution.js +28 -27
  330. package/dist/features/tasks/execute/pieceExecution.js.map +1 -1
  331. package/dist/features/tasks/execute/postExecution.js +5 -5
  332. package/dist/features/tasks/execute/postExecution.js.map +1 -1
  333. package/dist/features/tasks/execute/resolveTask.d.ts +1 -1
  334. package/dist/features/tasks/execute/resolveTask.d.ts.map +1 -1
  335. package/dist/features/tasks/execute/resolveTask.js +10 -9
  336. package/dist/features/tasks/execute/resolveTask.js.map +1 -1
  337. package/dist/features/tasks/execute/runAllTasks.d.ts +3 -0
  338. package/dist/features/tasks/execute/runAllTasks.d.ts.map +1 -0
  339. package/dist/features/tasks/execute/runAllTasks.js +81 -0
  340. package/dist/features/tasks/execute/runAllTasks.js.map +1 -0
  341. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  342. package/dist/features/tasks/execute/selectAndExecute.js +2 -1
  343. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  344. package/dist/features/tasks/execute/taskExecution.d.ts +0 -7
  345. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  346. package/dist/features/tasks/execute/taskExecution.js +17 -95
  347. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  348. package/dist/features/tasks/execute/taskResultHandler.js +1 -1
  349. package/dist/features/tasks/execute/taskResultHandler.js.map +1 -1
  350. package/dist/features/tasks/execute/types.d.ts +3 -1
  351. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  352. package/dist/features/tasks/index.d.ts +2 -1
  353. package/dist/features/tasks/index.d.ts.map +1 -1
  354. package/dist/features/tasks/index.js +2 -1
  355. package/dist/features/tasks/index.js.map +1 -1
  356. package/dist/features/tasks/list/listNonInteractive.d.ts.map +1 -1
  357. package/dist/features/tasks/list/listNonInteractive.js +6 -2
  358. package/dist/features/tasks/list/listNonInteractive.js.map +1 -1
  359. package/dist/features/tasks/list/requeueHelpers.d.ts.map +1 -1
  360. package/dist/features/tasks/list/requeueHelpers.js +2 -1
  361. package/dist/features/tasks/list/requeueHelpers.js.map +1 -1
  362. package/dist/features/tasks/list/taskRetryActions.d.ts.map +1 -1
  363. package/dist/features/tasks/list/taskRetryActions.js +12 -11
  364. package/dist/features/tasks/list/taskRetryActions.js.map +1 -1
  365. package/dist/index.d.ts +2 -2
  366. package/dist/index.d.ts.map +1 -1
  367. package/dist/index.js +1 -1
  368. package/dist/index.js.map +1 -1
  369. package/dist/infra/claude/client.d.ts.map +1 -1
  370. package/dist/infra/claude/client.js +2 -13
  371. package/dist/infra/claude/client.js.map +1 -1
  372. package/dist/infra/claude/executor.d.ts +1 -1
  373. package/dist/infra/claude/executor.d.ts.map +1 -1
  374. package/dist/infra/claude/executor.js +47 -27
  375. package/dist/infra/claude/executor.js.map +1 -1
  376. package/dist/infra/claude/options-builder.d.ts.map +1 -1
  377. package/dist/infra/claude/options-builder.js +2 -0
  378. package/dist/infra/claude/options-builder.js.map +1 -1
  379. package/dist/infra/claude/stream-converter.d.ts.map +1 -1
  380. package/dist/infra/claude/stream-converter.js +26 -0
  381. package/dist/infra/claude/stream-converter.js.map +1 -1
  382. package/dist/infra/claude/types.d.ts +23 -0
  383. package/dist/infra/claude/types.d.ts.map +1 -1
  384. package/dist/infra/codex/client.d.ts.map +1 -1
  385. package/dist/infra/codex/client.js +1 -0
  386. package/dist/infra/codex/client.js.map +1 -1
  387. package/dist/infra/codex/types.d.ts +2 -0
  388. package/dist/infra/codex/types.d.ts.map +1 -1
  389. package/dist/infra/codex/types.js.map +1 -1
  390. package/dist/infra/config/configKeyAliases.d.ts +17 -0
  391. package/dist/infra/config/configKeyAliases.d.ts.map +1 -0
  392. package/dist/infra/config/configKeyAliases.js +82 -0
  393. package/dist/infra/config/configKeyAliases.js.map +1 -0
  394. package/dist/infra/config/configNormalizers.d.ts +7 -6
  395. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  396. package/dist/infra/config/configNormalizers.js +25 -10
  397. package/dist/infra/config/configNormalizers.js.map +1 -1
  398. package/dist/infra/config/env/config-env-overrides.d.ts +6 -3
  399. package/dist/infra/config/env/config-env-overrides.d.ts.map +1 -1
  400. package/dist/infra/config/env/config-env-overrides.js +5 -194
  401. package/dist/infra/config/env/config-env-overrides.js.map +1 -1
  402. package/dist/infra/config/env/config-env-shared.d.ts +16 -0
  403. package/dist/infra/config/env/config-env-shared.d.ts.map +1 -0
  404. package/dist/infra/config/env/config-env-shared.js +62 -0
  405. package/dist/infra/config/env/config-env-shared.js.map +1 -0
  406. package/dist/infra/config/env/global-current-env-specs.d.ts +3 -0
  407. package/dist/infra/config/env/global-current-env-specs.d.ts.map +1 -0
  408. package/dist/infra/config/env/global-current-env-specs.js +63 -0
  409. package/dist/infra/config/env/global-current-env-specs.js.map +1 -0
  410. package/dist/infra/config/env/global-legacy-env-specs.d.ts +3 -0
  411. package/dist/infra/config/env/global-legacy-env-specs.d.ts.map +1 -0
  412. package/dist/infra/config/env/global-legacy-env-specs.js +122 -0
  413. package/dist/infra/config/env/global-legacy-env-specs.js.map +1 -0
  414. package/dist/infra/config/env/project-current-env-specs.d.ts +3 -0
  415. package/dist/infra/config/env/project-current-env-specs.d.ts.map +1 -0
  416. package/dist/infra/config/env/project-current-env-specs.js +35 -0
  417. package/dist/infra/config/env/project-current-env-specs.js.map +1 -0
  418. package/dist/infra/config/env/project-legacy-env-specs.d.ts +3 -0
  419. package/dist/infra/config/env/project-legacy-env-specs.d.ts.map +1 -0
  420. package/dist/infra/config/env/project-legacy-env-specs.js +80 -0
  421. package/dist/infra/config/env/project-legacy-env-specs.js.map +1 -0
  422. package/dist/infra/config/global/globalConfigCore.d.ts +4 -0
  423. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  424. package/dist/infra/config/global/globalConfigCore.js +67 -38
  425. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  426. package/dist/infra/config/global/globalConfigSerializer.js +9 -9
  427. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  428. package/dist/infra/config/issuePath.d.ts +2 -0
  429. package/dist/infra/config/issuePath.d.ts.map +1 -0
  430. package/dist/infra/config/issuePath.js +6 -0
  431. package/dist/infra/config/issuePath.js.map +1 -0
  432. package/dist/infra/config/loaders/agentLoader.d.ts +1 -1
  433. package/dist/infra/config/loaders/agentLoader.js +3 -3
  434. package/dist/infra/config/loaders/agentLoader.js.map +1 -1
  435. package/dist/infra/config/loaders/pieceCategories.d.ts +3 -3
  436. package/dist/infra/config/loaders/pieceCategories.d.ts.map +1 -1
  437. package/dist/infra/config/loaders/pieceCategories.js +53 -17
  438. package/dist/infra/config/loaders/pieceCategories.js.map +1 -1
  439. package/dist/infra/config/loaders/pieceLoadWarning.d.ts +2 -0
  440. package/dist/infra/config/loaders/pieceLoadWarning.d.ts.map +1 -0
  441. package/dist/infra/config/loaders/pieceLoadWarning.js +22 -0
  442. package/dist/infra/config/loaders/pieceLoadWarning.js.map +1 -0
  443. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  444. package/dist/infra/config/loaders/pieceParser.js +6 -14
  445. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  446. package/dist/infra/config/loaders/pieceResolver.d.ts +25 -22
  447. package/dist/infra/config/loaders/pieceResolver.d.ts.map +1 -1
  448. package/dist/infra/config/loaders/pieceResolver.js +80 -72
  449. package/dist/infra/config/loaders/pieceResolver.js.map +1 -1
  450. package/dist/infra/config/paths.d.ts +6 -2
  451. package/dist/infra/config/paths.d.ts.map +1 -1
  452. package/dist/infra/config/paths.js +11 -3
  453. package/dist/infra/config/paths.js.map +1 -1
  454. package/dist/infra/config/project/projectConfig.d.ts +2 -6
  455. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  456. package/dist/infra/config/project/projectConfig.js +39 -65
  457. package/dist/infra/config/project/projectConfig.js.map +1 -1
  458. package/dist/infra/config/project/projectConfigTransforms.d.ts +0 -1
  459. package/dist/infra/config/project/projectConfigTransforms.d.ts.map +1 -1
  460. package/dist/infra/config/project/projectConfigTransforms.js +0 -5
  461. package/dist/infra/config/project/projectConfigTransforms.js.map +1 -1
  462. package/dist/infra/config/project/projectConfigValidation.d.ts +2 -0
  463. package/dist/infra/config/project/projectConfigValidation.d.ts.map +1 -0
  464. package/dist/infra/config/project/projectConfigValidation.js +17 -0
  465. package/dist/infra/config/project/projectConfigValidation.js.map +1 -0
  466. package/dist/infra/config/providerOptions.d.ts +6 -1
  467. package/dist/infra/config/providerOptions.d.ts.map +1 -1
  468. package/dist/infra/config/providerOptions.js +93 -5
  469. package/dist/infra/config/providerOptions.js.map +1 -1
  470. package/dist/infra/config/providerOptionsContract.d.ts +14 -0
  471. package/dist/infra/config/providerOptionsContract.d.ts.map +1 -0
  472. package/dist/infra/config/providerOptionsContract.js +80 -0
  473. package/dist/infra/config/providerOptionsContract.js.map +1 -0
  474. package/dist/infra/config/resolutionCache.d.ts +3 -0
  475. package/dist/infra/config/resolutionCache.d.ts.map +1 -1
  476. package/dist/infra/config/resolutionCache.js +9 -0
  477. package/dist/infra/config/resolutionCache.js.map +1 -1
  478. package/dist/infra/config/resolveConfigValue.d.ts +6 -0
  479. package/dist/infra/config/resolveConfigValue.d.ts.map +1 -1
  480. package/dist/infra/config/resolveConfigValue.js +97 -16
  481. package/dist/infra/config/resolveConfigValue.js.map +1 -1
  482. package/dist/infra/config/resolvedConfig.d.ts +2 -1
  483. package/dist/infra/config/resolvedConfig.d.ts.map +1 -1
  484. package/dist/infra/config/traced/tracedConfigLegacyEnvAdapter.d.ts +4 -0
  485. package/dist/infra/config/traced/tracedConfigLegacyEnvAdapter.d.ts.map +1 -0
  486. package/dist/infra/config/traced/tracedConfigLegacyEnvAdapter.js +47 -0
  487. package/dist/infra/config/traced/tracedConfigLegacyEnvAdapter.js.map +1 -0
  488. package/dist/infra/config/traced/tracedConfigLoader.d.ts +32 -0
  489. package/dist/infra/config/traced/tracedConfigLoader.d.ts.map +1 -0
  490. package/dist/infra/config/traced/tracedConfigLoader.js +153 -0
  491. package/dist/infra/config/traced/tracedConfigLoader.js.map +1 -0
  492. package/dist/infra/config/traced/tracedConfigRuntimeBridge.d.ts +3 -0
  493. package/dist/infra/config/traced/tracedConfigRuntimeBridge.d.ts.map +1 -0
  494. package/dist/infra/config/traced/tracedConfigRuntimeBridge.js +135 -0
  495. package/dist/infra/config/traced/tracedConfigRuntimeBridge.js.map +1 -0
  496. package/dist/infra/config/traced/tracedConfigSchema.d.ts +5 -0
  497. package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -0
  498. package/dist/infra/config/traced/tracedConfigSchema.js +215 -0
  499. package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -0
  500. package/dist/infra/cursor/client.js +1 -1
  501. package/dist/infra/cursor/client.js.map +1 -1
  502. package/dist/infra/git/detect.d.ts +1 -1
  503. package/dist/infra/git/detect.d.ts.map +1 -1
  504. package/dist/infra/git/detect.js +2 -2
  505. package/dist/infra/git/detect.js.map +1 -1
  506. package/dist/infra/git/index.d.ts +2 -2
  507. package/dist/infra/git/index.d.ts.map +1 -1
  508. package/dist/infra/git/index.js +8 -8
  509. package/dist/infra/git/index.js.map +1 -1
  510. package/dist/infra/git/types.d.ts +5 -5
  511. package/dist/infra/git/types.d.ts.map +1 -1
  512. package/dist/infra/github/GitHubProvider.d.ts +7 -7
  513. package/dist/infra/github/GitHubProvider.d.ts.map +1 -1
  514. package/dist/infra/github/GitHubProvider.js +14 -14
  515. package/dist/infra/github/GitHubProvider.js.map +1 -1
  516. package/dist/infra/github/issue.d.ts +3 -3
  517. package/dist/infra/github/issue.d.ts.map +1 -1
  518. package/dist/infra/github/issue.js +11 -9
  519. package/dist/infra/github/issue.js.map +1 -1
  520. package/dist/infra/github/pr.d.ts +4 -4
  521. package/dist/infra/github/pr.d.ts.map +1 -1
  522. package/dist/infra/github/pr.js +11 -11
  523. package/dist/infra/github/pr.js.map +1 -1
  524. package/dist/infra/gitlab/GitLabProvider.d.ts +5 -5
  525. package/dist/infra/gitlab/GitLabProvider.d.ts.map +1 -1
  526. package/dist/infra/gitlab/GitLabProvider.js +10 -10
  527. package/dist/infra/gitlab/GitLabProvider.js.map +1 -1
  528. package/dist/infra/gitlab/issue.d.ts +1 -1
  529. package/dist/infra/gitlab/issue.d.ts.map +1 -1
  530. package/dist/infra/gitlab/issue.js +3 -3
  531. package/dist/infra/gitlab/issue.js.map +1 -1
  532. package/dist/infra/gitlab/pr.d.ts +4 -4
  533. package/dist/infra/gitlab/pr.d.ts.map +1 -1
  534. package/dist/infra/gitlab/pr.js +8 -8
  535. package/dist/infra/gitlab/pr.js.map +1 -1
  536. package/dist/infra/gitlab/utils.d.ts +1 -1
  537. package/dist/infra/gitlab/utils.d.ts.map +1 -1
  538. package/dist/infra/gitlab/utils.js +4 -4
  539. package/dist/infra/gitlab/utils.js.map +1 -1
  540. package/dist/infra/providers/claude.d.ts +1 -0
  541. package/dist/infra/providers/claude.d.ts.map +1 -1
  542. package/dist/infra/providers/claude.js +2 -0
  543. package/dist/infra/providers/claude.js.map +1 -1
  544. package/dist/infra/providers/codex.d.ts +1 -0
  545. package/dist/infra/providers/codex.d.ts.map +1 -1
  546. package/dist/infra/providers/codex.js +2 -0
  547. package/dist/infra/providers/codex.js.map +1 -1
  548. package/dist/infra/providers/copilot.d.ts +1 -0
  549. package/dist/infra/providers/copilot.d.ts.map +1 -1
  550. package/dist/infra/providers/copilot.js +1 -0
  551. package/dist/infra/providers/copilot.js.map +1 -1
  552. package/dist/infra/providers/cursor.d.ts +1 -0
  553. package/dist/infra/providers/cursor.d.ts.map +1 -1
  554. package/dist/infra/providers/cursor.js +1 -0
  555. package/dist/infra/providers/cursor.js.map +1 -1
  556. package/dist/infra/providers/mock.d.ts +1 -0
  557. package/dist/infra/providers/mock.d.ts.map +1 -1
  558. package/dist/infra/providers/mock.js +1 -0
  559. package/dist/infra/providers/mock.js.map +1 -1
  560. package/dist/infra/providers/opencode.d.ts +1 -0
  561. package/dist/infra/providers/opencode.d.ts.map +1 -1
  562. package/dist/infra/providers/opencode.js +1 -0
  563. package/dist/infra/providers/opencode.js.map +1 -1
  564. package/dist/infra/providers/types.d.ts +1 -0
  565. package/dist/infra/providers/types.d.ts.map +1 -1
  566. package/dist/infra/resources/index.d.ts +1 -1
  567. package/dist/infra/resources/index.js +1 -1
  568. package/dist/infra/task/display.js +2 -2
  569. package/dist/infra/task/display.js.map +1 -1
  570. package/dist/infra/task/index.d.ts +2 -1
  571. package/dist/infra/task/index.d.ts.map +1 -1
  572. package/dist/infra/task/index.js +2 -1
  573. package/dist/infra/task/index.js.map +1 -1
  574. package/dist/infra/task/listSerializer.d.ts +41 -0
  575. package/dist/infra/task/listSerializer.d.ts.map +1 -0
  576. package/dist/infra/task/listSerializer.js +51 -0
  577. package/dist/infra/task/listSerializer.js.map +1 -0
  578. package/dist/infra/task/schema.d.ts +208 -12
  579. package/dist/infra/task/schema.d.ts.map +1 -1
  580. package/dist/infra/task/schema.js +78 -5
  581. package/dist/infra/task/schema.js.map +1 -1
  582. package/dist/infra/task/store.d.ts.map +1 -1
  583. package/dist/infra/task/store.js +2 -2
  584. package/dist/infra/task/store.js.map +1 -1
  585. package/dist/shared/i18n/labels_en.yaml +6 -6
  586. package/dist/shared/i18n/labels_ja.yaml +6 -6
  587. package/dist/shared/prompts/en/perform_agent_system_prompt.md +6 -6
  588. package/dist/shared/prompts/en/perform_builtin_agent_system_prompt.md +1 -1
  589. package/dist/shared/prompts/en/perform_judge_message.md +1 -1
  590. package/dist/shared/prompts/en/perform_phase1_message.md +9 -9
  591. package/dist/shared/prompts/en/perform_phase2_message.md +2 -2
  592. package/dist/shared/prompts/en/score_instruct_system_prompt.md +7 -7
  593. package/dist/shared/prompts/en/score_interactive_policy.md +10 -10
  594. package/dist/shared/prompts/en/score_interactive_system_prompt.md +9 -9
  595. package/dist/shared/prompts/en/score_retry_system_prompt.md +8 -8
  596. package/dist/shared/prompts/en/score_summary_system_prompt.md +4 -4
  597. package/dist/shared/prompts/ja/perform_agent_system_prompt.md +6 -6
  598. package/dist/shared/prompts/ja/perform_builtin_agent_system_prompt.md +1 -1
  599. package/dist/shared/prompts/ja/perform_judge_message.md +1 -1
  600. package/dist/shared/prompts/ja/perform_phase1_message.md +9 -9
  601. package/dist/shared/prompts/ja/perform_phase2_message.md +2 -2
  602. package/dist/shared/prompts/ja/score_instruct_system_prompt.md +7 -7
  603. package/dist/shared/prompts/ja/score_interactive_policy.md +10 -10
  604. package/dist/shared/prompts/ja/score_interactive_system_prompt.md +9 -9
  605. package/dist/shared/prompts/ja/score_retry_system_prompt.md +8 -8
  606. package/dist/shared/prompts/ja/score_summary_system_prompt.md +7 -7
  607. package/dist/shared/types/provider.d.ts +20 -0
  608. package/dist/shared/types/provider.d.ts.map +1 -1
  609. package/dist/shared/ui/StreamDisplay.d.ts.map +1 -1
  610. package/dist/shared/ui/StreamDisplay.js +2 -0
  611. package/dist/shared/ui/StreamDisplay.js.map +1 -1
  612. package/dist/shared/utils/slackWebhook.js +2 -2
  613. package/dist/shared/utils/slackWebhook.js.map +1 -1
  614. package/dist/shared/utils/text.d.ts +4 -0
  615. package/dist/shared/utils/text.d.ts.map +1 -1
  616. package/dist/shared/utils/text.js +29 -0
  617. package/dist/shared/utils/text.js.map +1 -1
  618. package/package.json +3 -2
  619. package/builtins/en/pieces/fill-e2e.yaml +0 -239
  620. package/builtins/en/pieces/fill-unit.yaml +0 -269
  621. package/builtins/ja/pieces/fill-e2e.yaml +0 -239
  622. package/builtins/ja/pieces/fill-unit.yaml +0 -269
  623. package/dist/agents/ai-judge.d.ts +0 -15
  624. package/dist/agents/ai-judge.d.ts.map +0 -1
  625. package/dist/agents/ai-judge.js +0 -23
  626. package/dist/agents/ai-judge.js.map +0 -1
  627. /package/builtins/en/facets/instructions/{security-audit-plan.md → audit-security-plan.md} +0 -0
  628. /package/builtins/en/facets/instructions/{security-audit-review.md → audit-security-review.md} +0 -0
  629. /package/builtins/en/facets/instructions/{security-audit-supervise.md → audit-security-supervise.md} +0 -0
  630. /package/builtins/en/facets/instructions/{security-audit-team-leader.md → audit-security-team-leader.md} +0 -0
  631. /package/builtins/ja/facets/instructions/{security-audit-plan.md → audit-security-plan.md} +0 -0
  632. /package/builtins/ja/facets/instructions/{security-audit-review.md → audit-security-review.md} +0 -0
  633. /package/builtins/ja/facets/instructions/{security-audit-supervise.md → audit-security-supervise.md} +0 -0
  634. /package/builtins/ja/facets/instructions/{security-audit-team-leader.md → audit-security-team-leader.md} +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, 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.
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 workflow files.
8
8
 
9
9
  TAKT is built with TAKT itself (dogfooding).
10
10
 
@@ -14,7 +14,7 @@ TAKT is built with TAKT itself (dogfooding).
14
14
 
15
15
  **Practical** — A tool for daily development, not demos. Talk to AI to refine requirements, queue tasks, and run them. Worktree isolation on task execution, PR creation, and retry on failure.
16
16
 
17
- **Reproducible** — Execution paths are declared in YAML, keeping results consistent. Pieces are shareable — a workflow built by one team member can be used by anyone else to run the same quality process. Every step is logged in NDJSON for full traceability from task to PR.
17
+ **Reproducible** — Execution paths are declared in YAML, keeping results consistent. Workflows are shareable — a workflow built by one team member can be used by anyone else to run the same quality process. Every step is logged in NDJSON for full traceability from task to PR.
18
18
 
19
19
  **Multi-agent** — Orchestrate multiple agents with different personas, permissions, and review criteria. Run parallel reviewers, route failures back to implementers, aggregate results with declarative rules. Prompts are managed as independent facets (persona, policy, knowledge, instruction) that compose freely across workflows ([Faceted Prompting](./docs/faceted-prompting.md)).
20
20
 
@@ -45,7 +45,7 @@ npm install -g takt
45
45
  ```
46
46
  $ takt
47
47
 
48
- Select piece:
48
+ Select workflow:
49
49
  ❯ 🎼 default (current)
50
50
  📁 🚀 Quick Start/
51
51
  📁 🎨 Frontend/
@@ -67,7 +67,7 @@ What would you like to do?
67
67
  Continue conversation
68
68
  ```
69
69
 
70
- Choosing "Queue as task" saves the task to `.takt/tasks/`. Run `takt run` to execute — TAKT creates an isolated worktree, runs the piece (plan → implement → review → fix loop), and offers to create a PR when done.
70
+ Choosing "Queue as task" saves the task to `.takt/tasks/`. Run `takt run` to execute — TAKT creates an isolated worktree, runs the workflow (plan → implement → review → fix loop), and offers to create a PR when done.
71
71
 
72
72
  ```bash
73
73
  # Execute queued tasks
@@ -81,7 +81,7 @@ takt add #12
81
81
  takt run
82
82
  ```
83
83
 
84
- > **"Execute now"** runs the piece directly in your current directory without worktree isolation. Useful for quick experiments, but note that changes go straight into your working tree.
84
+ > **"Execute now"** runs the workflow directly in your current directory without worktree isolation. Useful for quick experiments, but note that changes go straight into your working tree.
85
85
 
86
86
  ### Manage results
87
87
 
@@ -92,16 +92,16 @@ takt list
92
92
 
93
93
  ## How It Works
94
94
 
95
- TAKT uses a music metaphor — the name itself comes from the German word for "beat" or "baton stroke," used in conducting to keep an orchestra in time. In TAKT, a **piece** is a workflow and a **movement** is a step within it, just as a musical piece is composed of movements.
95
+ TAKT uses a music metaphor — the name itself comes from the German word for "beat" or "baton stroke," used in conducting to keep an orchestra in time. User-facing terminology uses **workflow** and **step**, while the internal canonical names remain **piece** and **movement** for backward compatibility.
96
96
 
97
- A piece defines a sequence of movements. Each movement specifies a persona (who), permissions (what's allowed), and rules (what happens next). Here's a minimal example:
97
+ A workflow is defined by a sequence of steps. Public YAML examples use `steps` and `initial_step`, while legacy `movements` and `initial_movement` are still accepted as compatibility aliases. Each step specifies a persona (who), permissions (what's allowed), and rules (what happens next). Here's a minimal example:
98
98
 
99
99
  ```yaml
100
100
  name: plan-implement-review
101
- initial_movement: plan
101
+ initial_step: plan
102
102
  max_movements: 10
103
103
 
104
- movements:
104
+ steps:
105
105
  - name: plan
106
106
  persona: planner
107
107
  edit: false
@@ -127,18 +127,22 @@ movements:
127
127
  next: implement # ← fix loop
128
128
  ```
129
129
 
130
- Rules determine the next movement. `COMPLETE` ends the piece successfully, `ABORT` ends with failure. See the [Piece Guide](./docs/pieces.md) for the full schema, parallel movements, and rule condition types.
130
+ Rules determine the next step. `COMPLETE` ends the workflow successfully, `ABORT` ends with failure. See the [Workflow Guide](./docs/pieces.md) for the full schema, parallel steps, and rule condition types.
131
131
 
132
- ## Recommended Pieces
132
+ Workflow files live in `workflows/` as the official directory name. TAKT still accepts legacy `pieces/` directories and `--piece` / legacy YAML keys as compatibility input, but normal docs and UI use `workflow` / `step`.
133
133
 
134
- | Piece | Use Case |
134
+ When the same workflow name exists in multiple locations, TAKT resolves in this order: `.takt/workflows/` → `.takt/pieces/` → `~/.takt/workflows/` → `~/.takt/pieces/` → builtins.
135
+
136
+ ## Recommended Workflows
137
+
138
+ | Workflow | Use Case |
135
139
  |-------|----------|
136
140
  | `default` | Standard development. Test-first with AI antipattern review and parallel review (architecture + supervisor). |
137
141
  | `frontend-mini` | Frontend-focused mini configuration. |
138
142
  | `backend-mini` | Backend-focused mini configuration. |
139
143
  | `dual-mini` | Frontend + backend mini configuration. |
140
144
 
141
- See the [Builtin Catalog](./docs/builtin-catalog.md) for all pieces and personas.
145
+ See the [Builtin Catalog](./docs/builtin-catalog.md) for all workflows and personas.
142
146
 
143
147
  ## Key Commands
144
148
 
@@ -148,7 +152,7 @@ See the [Builtin Catalog](./docs/builtin-catalog.md) for all pieces and personas
148
152
  | `takt run` | Execute all pending tasks |
149
153
  | `takt list` | Manage task branches (merge, retry, instruct, delete) |
150
154
  | `takt #N` | Execute GitHub Issue as task |
151
- | `takt eject` | Copy builtin pieces/facets for customization |
155
+ | `takt eject` | Copy builtin workflows/facets for customization |
152
156
  | `takt repertoire add` | Install a repertoire package from GitHub |
153
157
 
154
158
  See the [CLI Reference](./docs/cli-reference.md) for all commands and options.
@@ -177,10 +181,10 @@ See the [Configuration Guide](./docs/configuration.md) for all options, provider
177
181
 
178
182
  ## Customization
179
183
 
180
- ### Custom pieces
184
+ ### Custom workflows
181
185
 
182
186
  ```bash
183
- takt eject default # Copy builtin to ~/.takt/pieces/ and edit
187
+ takt eject default # Copy builtin workflow to ~/.takt/workflows/ and edit
184
188
  ```
185
189
 
186
190
  ### Custom personas
@@ -192,9 +196,9 @@ Create a Markdown file in `~/.takt/personas/`:
192
196
  You are a code reviewer specialized in security.
193
197
  ```
194
198
 
195
- Reference it in your piece: `persona: my-reviewer`
199
+ Reference it in your workflow: `persona: my-reviewer`
196
200
 
197
- See the [Piece Guide](./docs/pieces.md) and [Agent Guide](./docs/agents.md) for details.
201
+ See the [Workflow Guide](./docs/pieces.md) and [Agent Guide](./docs/agents.md) for details.
198
202
 
199
203
  ## CI/CD
200
204
 
@@ -220,25 +224,28 @@ See the [CI/CD Guide](./docs/ci-cd.md) for full setup instructions.
220
224
  ```
221
225
  ~/.takt/ # Global config
222
226
  ├── config.yaml # Provider, model, language, etc.
223
- ├── pieces/ # User piece definitions
227
+ ├── workflows/ # User workflow definitions
224
228
  ├── facets/ # User facets (personas, policies, knowledge, etc.)
225
229
  └── repertoire/ # Installed repertoire packages
226
230
 
227
231
  .takt/ # Project-level
228
232
  ├── config.yaml # Project config
233
+ ├── workflows/ # Project workflow overrides
229
234
  ├── facets/ # Project facets
230
235
  ├── tasks.yaml # Pending tasks
231
236
  ├── tasks/ # Task specifications
232
237
  └── runs/ # Execution reports, logs, context
233
238
  ```
234
239
 
240
+ Legacy `pieces/` directories are still read for compatibility, but `workflows/` is the canonical name in current docs and CLI output.
241
+
235
242
  ## API Usage
236
243
 
237
244
  ```typescript
238
245
  import { PieceEngine, loadPiece } from 'takt';
239
246
 
240
247
  const config = loadPiece('default');
241
- if (!config) throw new Error('Piece not found');
248
+ if (!config) throw new Error('Workflow not found');
242
249
 
243
250
  const engine = new PieceEngine(config, process.cwd(), 'My task');
244
251
  engine.on('movement:complete', (movement, response) => {
@@ -254,9 +261,9 @@ await engine.run();
254
261
  |----------|-------------|
255
262
  | [CLI Reference](./docs/cli-reference.md) | All commands and options |
256
263
  | [Configuration](./docs/configuration.md) | Global and project settings |
257
- | [Piece Guide](./docs/pieces.md) | Creating and customizing pieces |
264
+ | [Workflow Guide](./docs/pieces.md) | Creating and customizing workflows |
258
265
  | [Agent Guide](./docs/agents.md) | Custom agent configuration |
259
- | [Builtin Catalog](./docs/builtin-catalog.md) | All builtin pieces and personas |
266
+ | [Builtin Catalog](./docs/builtin-catalog.md) | All builtin workflows and personas |
260
267
  | [Faceted Prompting](./docs/faceted-prompting.md) | Prompt design methodology |
261
268
  | [Repertoire Packages](./docs/repertoire.md) | Installing and sharing packages |
262
269
  | [Task Management](./docs/task-management.md) | Task queuing, execution, isolation |
@@ -34,8 +34,8 @@ language: en # UI language: en | ja
34
34
  # notification_sound: true # Master switch for sounds
35
35
  # notification_sound_events: # Per-event sound toggle (unset means true)
36
36
  # iteration_limit: true
37
- # piece_complete: true
38
- # piece_abort: true
37
+ # workflow_complete: true
38
+ # workflow_abort: true
39
39
  # run_complete: true
40
40
  # run_abort: true
41
41
  # logging:
@@ -82,12 +82,12 @@ language: en # UI language: en | ja
82
82
  # runtime:
83
83
  # prepare: [node, gradle, ./custom-script.sh]
84
84
 
85
- # Piece-level overrides
86
- # piece_overrides:
85
+ # Workflow-level overrides
86
+ # workflow_overrides:
87
87
  # quality_gates:
88
88
  # - "All tests pass"
89
89
  # quality_gates_edit_only: true
90
- # movements:
90
+ # steps:
91
91
  # review:
92
92
  # quality_gates:
93
93
  # - "No security vulnerabilities"
@@ -116,8 +116,8 @@ language: en # UI language: en | ja
116
116
  # Misc
117
117
  # bookmarks_file: ~/.takt/preferences/bookmarks.yaml # Bookmark file location
118
118
 
119
- # Piece list / categories
120
- # enable_builtin_pieces: true # Enable built-in pieces from builtins/{lang}/pieces
119
+ # Workflow list / categories
120
+ # enable_builtin_workflows: true # Enable built-in workflows from builtins/{lang}/workflows
121
121
  # disabled_builtins:
122
122
  # - magi # Built-in piece names to disable
123
- # piece_categories_file: ~/.takt/preferences/piece-categories.yaml # Category definition file
123
+ # workflow_categories_file: ~/.takt/preferences/workflow-categories.yaml # Category definition file
@@ -0,0 +1,13 @@
1
+ Audit the project architecture before making changes.
2
+
3
+ **What to do:**
4
+ 1. Enumerate the main modules, layers, boundaries, and public entry points using Read, Glob, and Grep
5
+ 2. Identify the dependency directions, shared abstractions, and major call chains
6
+ 3. Build an audit scope that covers all modules relevant to structure, ownership, and wiring
7
+ 4. Highlight modules with higher architectural risk (boundary leaks, giant files, scattered logic, coupling hotspots)
8
+ 5. Prepare an audit order that reviews the highest-risk modules first
9
+
10
+ **Important:**
11
+ - Start from full module and boundary enumeration, not from a few suspicious files
12
+ - Focus on structure and wiring, not style-only comments
13
+ - If the architecture cannot be inferred from code alone, state the missing evidence explicitly
@@ -0,0 +1,15 @@
1
+ Re-audit the modules or boundaries that were judged insufficient in the previous architecture audit.
2
+
3
+ **Important:** Refer to these reports:
4
+ - Plan report: {report:01-architecture-audit-plan.md}
5
+ - Audit report: {report:02-architecture-audit.md}
6
+
7
+ **What to do:**
8
+ 1. Read the flagged modules, boundaries, and call chains in full
9
+ 2. Re-check the structural claims and identify what was previously skipped or weakly evidenced
10
+ 3. Update the audit result with concrete file evidence, explicit scope coverage, and missing-item reasons where applicable
11
+
12
+ **Strictly prohibited:**
13
+ - Modifying production code
14
+ - Claiming a boundary or dependency direction is valid without file evidence
15
+ - Skipping a flagged module because it "looks standard"
@@ -0,0 +1,14 @@
1
+ Verify the completeness and quality of the architecture audit itself.
2
+
3
+ **Important:** Refer to these reports:
4
+ - Plan report: {report:01-architecture-audit-plan.md}
5
+ - Audit report: {report:02-architecture-audit.md}
6
+
7
+ **Verification procedure:**
8
+ 1. Cross-check the module inventory from the plan against the audited modules in the audit report
9
+ 2. Reject if important modules or boundaries remain unaudited
10
+ 3. Reject if key dependency directions, wiring paths, ownership boundaries, or call chains from the plan are missing from the audit result without an explicit reason
11
+ 4. Verify the audit report includes concrete structural evidence, not just design opinions
12
+ 5. Verify the report includes the enumeration commands used and that they are sufficient to support the claimed scope
13
+ 6. Sample-read a few high-risk modules yourself to confirm the structural claims are credible
14
+ 7. Require re-audit if findings or suggested issue titles are too vague to file directly
@@ -0,0 +1,22 @@
1
+ Decompose the architecture audit, assign modules to each part, and execute in parallel.
2
+
3
+ **Important:** Refer to the plan report: {report:01-architecture-audit-plan.md}
4
+
5
+ **What to do:**
6
+ 1. Review the module inventory and architectural risk areas from the plan report
7
+ 2. Split the audit into 3 groups by module or boundary
8
+ 3. Assign exclusive ownership to each part so every relevant module is audited once
9
+
10
+ **Each part's instruction MUST include:**
11
+ - Assigned module and file list
12
+ - The boundaries and call chains to verify
13
+ - Required audit procedure:
14
+ 1. Read the assigned files in full
15
+ 2. Trace dependency direction, entry points, and shared abstractions
16
+ 3. Record structural findings with concrete file evidence
17
+ - Completion criteria: every assigned module has been audited and all findings are reported with evidence
18
+
19
+ **Constraints:**
20
+ - Each part is read-only
21
+ - Do not audit files outside the assignment
22
+ - Prefer evidence from code structure and call chains over style-only comments
@@ -10,6 +10,8 @@ Analyze the implementation task and, if decomposition is appropriate, split into
10
10
  - If few files are involved, or the task is a rename/refactoring, implement in a single part
11
11
 
12
12
  2. If decomposing: prioritize splitting along frontend and backend boundaries
13
+ - **If design references exist and backend changes are not explicitly required, do not decompose.** Visual structure, copy, spacing, and styling are tightly coupled, and splitting them increases design drift risk
14
+ - **If design references exist, keep all UI components of the same screen in the same part.** Do not split headers, filters, cards, banners, and modals of one screen across different parts
13
15
  - Splitting between frontend (UI, components, styles) and backend (API, logic, data layer) is the most natural decomposition axis
14
16
  - When API contracts (request/response types) are defined, parallel implementation works well
15
17
  - When API contracts are undecided, implement backend first in one part and defer frontend
@@ -24,9 +26,13 @@ Analyze the implementation task and, if decomposition is appropriate, split into
24
26
  - **Reference-only files** (read-only, modification prohibited)
25
27
  - **Implementation task** (what and how to implement)
26
28
  - **Completion criteria** (implementation of responsible files is complete)
29
+ - When design references exist, each part instruction must also include:
30
+ - **Design references** (which files are the primary source of truth)
31
+ - **Elements to verify** (layout, copy, color, spacing, and navigation flow)
27
32
  - If tests are already written, instruct parts to implement so existing tests pass
28
- - Do not include build checks (all parts complete first, then build is verified together)
33
+ - Refer to Quality Gates and plan any required verification as a dedicated single verification part
34
+ - Do not make parallel implementation parts run duplicate full-build or full-test checks
29
35
 
30
36
  **Constraints:**
31
- - Parts do not run tests (handled by subsequent movements)
37
+ - If tests or build verification are needed, run them as a dedicated single verification part after dependent implementation parts are complete
32
38
  - Do not modify files outside your responsibility (causes conflicts)
@@ -0,0 +1,13 @@
1
+ Audit the target for E2E coverage before making changes.
2
+
3
+ **What to do:**
4
+ 1. Enumerate all user entry points, major routes, task flows, and failure paths from the codebase
5
+ 2. Read the existing E2E tests and map which flows and scenarios are already covered
6
+ 3. Build a complete list of auditable user flows and scenario variants
7
+ 4. Identify missing E2E scenarios and prioritize them by user impact and regression risk
8
+ 5. Prepare an implementation order that covers the highest-risk missing scenarios first
9
+
10
+ **Important:**
11
+ - Start from complete route and flow enumeration, not from a few obvious pages
12
+ - Include unhappy paths, permission differences, and recovery paths when relevant
13
+ - If a flow cannot be audited from local code and tests alone, state the missing evidence explicitly
@@ -0,0 +1,16 @@
1
+ Re-audit the routes or scenarios that were judged insufficient in the previous E2E audit.
2
+
3
+ **Important:** Review the supervisor's verification results and understand:
4
+ - Unaudited flows or scenarios
5
+ - Coverage claims lacking evidence
6
+ - Specific feedback on issue quality or scope
7
+
8
+ **What to do:**
9
+ 1. Read the flagged route-related code and corresponding E2E tests in full
10
+ 2. Re-check the coverage claims for the flagged scenarios and identify what was previously skipped or weakly evidenced
11
+ 3. Update the audit result in issue-ready form with concrete evidence, explicit scope coverage, and missing-item reasons where applicable
12
+
13
+ **Strictly prohibited:**
14
+ - Modifying E2E tests or production code
15
+ - Claiming a scenario is covered without citing the actual test evidence
16
+ - Skipping a flagged route because it "looks fine"
@@ -0,0 +1,11 @@
1
+ Verify the completeness and quality of the E2E audit itself.
2
+
3
+ **Important:** Refer to the audit plan report: {report:01-e2e-audit-plan.md}
4
+
5
+ **Verification procedure:**
6
+ 1. Cross-check the full route and flow inventory in the plan against the audited scenarios in the audit report
7
+ 2. Reject if any important entry point, user flow, unhappy path, permission variant, or recovery path from the plan is missing from the audit result without an explicit reason
8
+ 3. Verify the audit report includes concrete evidence for covered and missing scenarios, not just high-level claims
9
+ 4. Verify the report includes the enumeration commands used and that they are sufficient to support the claimed scope
10
+ 5. Sample-read a few high-risk routes and corresponding tests yourself to validate the coverage claims
11
+ 6. Require re-audit if issue titles, priorities, or recommended actions are too vague to be filed directly
@@ -0,0 +1,22 @@
1
+ Decompose the E2E audit, assign flows to each part, and execute in parallel.
2
+
3
+ **Important:** Refer to the plan report: {report:01-e2e-audit-plan.md}
4
+
5
+ **What to do:**
6
+ 1. Review the user flow list, existing scenarios, and risk areas from the plan report
7
+ 2. Split the audit into 3 groups by feature area or route cluster
8
+ 3. Assign exclusive ownership so every audited flow is reviewed once
9
+
10
+ **Each part's instruction MUST include:**
11
+ - Assigned routes, entry points, and corresponding E2E files
12
+ - The happy paths, failure paths, and permission variants to verify
13
+ - Required audit procedure:
14
+ 1. Read the relevant code for the assigned flows
15
+ 2. Read the corresponding E2E tests in full
16
+ 3. Record covered and missing scenarios with concrete evidence
17
+ - Completion criteria: every assigned flow has been audited and findings are reported in issue-ready form
18
+
19
+ **Constraints:**
20
+ - Each part is read-only
21
+ - Do not modify E2E tests or production code
22
+ - Do not audit routes outside the assignment
@@ -14,6 +14,9 @@ For small tasks, skip the design sections in the report.
14
14
  1. Understand the task requirements
15
15
  - **When reference material points to an external implementation, determine whether it is a "bug fix clue" or a "design approach to adopt". If narrowing scope beyond the reference material's intent, include the rationale in the plan report**
16
16
  - **For each requirement, determine "change needed / not needed". If "not needed", cite the relevant code (file:line) as evidence. Claiming "already correct" without evidence is prohibited**
17
+ - **Limit requirements to explicit requirements and implicit requirements that follow directly from them. Do not turn general best practices or future extensions into requirements**
18
+ - **When decomposing requirements, split only as far as needed to make them independently verifiable. Do not jump from decomposition into new requirements**
19
+ - **When adding an implicit requirement, state which explicit requirement it is derived from in the plan report**
17
20
  2. Investigate code to resolve unknowns
18
21
  3. Identify the impact area
19
22
  4. Determine file structure and design patterns (if needed)
@@ -14,14 +14,19 @@ Review {report:coder-decisions.md} to understand the recorded design decisions.
14
14
 
15
15
  **Previous finding tracking (required):**
16
16
  - First, extract open findings from "Previous Response"
17
- - Assign `finding_id` to each finding and classify current status as `new / persists / resolved`
17
+ - Assign `finding_id` to each finding and classify current status as `new / persists / resolved / reopened`
18
18
  - If status is `persists`, provide concrete unresolved evidence (file/line)
19
19
 
20
20
  ## Judgment Procedure
21
21
 
22
- 1. Extract requirements one by one from the review target report and task
23
- 2. For each requirement, identify the implementing code (file:line)
24
- 3. Confirm that the code satisfies the requirement
25
- 4. Check for any changes not covered by the requirements
26
- 5. For each detected issue, classify as blocking/non-blocking based on Policy's scope determination table and judgment rules
27
- 6. If there is even one blocking issue (`new` or `persists`), judge as REJECT
22
+ 1. Read `order.md`, the task body, `plan.md`, and `coder-decisions.md`, then extract the requirements one by one
23
+ 2. If a sentence contains multiple conditions or paths, split it into the smallest independently verifiable units
24
+ - Do not keep `A/B`, `global/project`, `JSON/leaf`, `allow/deny`, or `read/write` in a single row
25
+ 3. For each requirement, identify the implementing code (file:line)
26
+ 4. Classify each requirement as `satisfied / unmet / unverified`
27
+ - Do not mark a row `satisfied` without concrete code evidence
28
+ - Do not mark a row `satisfied` when only part of the cases is covered
29
+ 5. List out-of-scope changes and judge whether they are justified or unnecessary
30
+ 6. Reclassify prior findings into `new / persists / resolved / reopened`
31
+ 7. For each detected issue, classify it as blocking/non-blocking based on the Policy's scope table and judgment rules
32
+ 8. If there is even one blocking issue in `new`, `persists`, or `reopened`, judge as REJECT
@@ -10,7 +10,7 @@ Verify existing evidence for tests, builds, and functional checks, then perform
10
10
  - Read `order.md` and extract required behavior and prohibitions
11
11
  - Read `plan.md` and confirm intended approach and scope
12
12
  - Read `coder-decisions.md` and confirm why the implementation moved in that direction
13
- - Do not treat prior review conclusions as authoritative unless they align with all three and the code
13
+ - Do not treat prior review conclusions or requirements-review conclusions as authoritative unless they align with all three and the code
14
14
  3. Whether each task spec requirement has been achieved
15
15
  - Extract requirements one by one from the task spec
16
16
  - If a single sentence contains multiple conditions or paths, split it into the smallest independently verifiable units
@@ -31,7 +31,7 @@ Verify existing evidence for tests, builds, and functional checks, then perform
31
31
  5. Handling tests, builds, and functional checks
32
32
  - Do not assume this movement will rerun commands
33
33
  - Use only evidence available in this run, such as execution logs, reports, or CI results
34
- - If evidence is missing, mark the item as unverified
34
+ - If evidence is missing, mark the item as unverified rather than successful
35
35
  - If report text conflicts with execution evidence, call out the inconsistency explicitly
36
36
 
37
37
  **Report verification:** Read all reports in the Report Directory and
@@ -54,6 +54,7 @@ Extract requirements from the task spec and verify each one individually against
54
54
 
55
55
  - If any ❌ exists, REJECT is mandatory
56
56
  - ✅ without evidence is invalid (must verify against actual code)
57
+ - Do not mark a row as ✅ when only part of the cases is verified
57
58
  - Do not rely on plan report's judgment; independently verify each requirement
58
59
 
59
60
  ## Re-evaluation of Prior Findings
@@ -63,6 +64,7 @@ Extract requirements from the task spec and verify each one individually against
63
64
 
64
65
  - If final judgment differs from prior review conclusions, explain why with evidence
65
66
  - If marking `false_positive` or `overreach`, state whether it conflicts with the task objective, the plan, or both
67
+ - If overturning a requirements-review conclusion, explain why with concrete evidence
66
68
 
67
69
  ## Verification Summary
68
70
  | Item | Status | Verification method |
@@ -22,8 +22,9 @@ Analyze the implementation task and, if decomposition is appropriate, split into
22
22
  - **Implementation task** (what and how to implement)
23
23
  - **Completion criteria** (implementation of responsible files is complete)
24
24
  - If tests are already written, instruct parts to implement so existing tests pass
25
- - Do not include build checks (all parts complete first, then build is verified together)
25
+ - Refer to Quality Gates and plan any required verification as a dedicated single verification part
26
+ - Do not make parallel implementation parts run duplicate full-build or full-test checks
26
27
 
27
28
  **Constraints:**
28
- - Parts do not run tests (handled by subsequent movements)
29
+ - If tests or build verification are needed, run them as a dedicated single verification part after dependent implementation parts are complete
29
30
  - Do not modify files outside your responsibility (causes conflicts)
@@ -0,0 +1,13 @@
1
+ Audit the target for unit test coverage before making changes.
2
+
3
+ **What to do:**
4
+ 1. Enumerate the target production files, exported APIs, internal branches, error paths, boundary checks, and state transitions using Read, Glob, and Grep
5
+ 2. Read existing unit tests and map which behaviors are already covered
6
+ 3. Build a complete inventory of auditable behaviors for each target file
7
+ 4. Identify missing unit tests and prioritize them by regression risk
8
+ 5. Prepare an implementation order that covers the highest-risk gaps first
9
+
10
+ **Important:**
11
+ - Start from complete enumeration, not from a few obvious gaps
12
+ - Do not stop after identifying a handful of missing tests
13
+ - If the scope is unclear, state exactly which files or behaviors need clarification
@@ -0,0 +1,16 @@
1
+ Re-audit the files or behaviors that were judged insufficient in the previous unit audit.
2
+
3
+ **Important:** Review the supervisor's verification results and understand:
4
+ - Unaudited files or behaviors
5
+ - Coverage claims lacking evidence
6
+ - Specific feedback on issue quality or scope
7
+
8
+ **What to do:**
9
+ 1. Read the flagged production files and corresponding tests in full
10
+ 2. Re-check the coverage claims for the flagged behaviors and identify what was previously skipped or weakly evidenced
11
+ 3. Update the audit result in issue-ready form with concrete evidence, explicit scope coverage, and missing-item reasons where applicable
12
+
13
+ **Strictly prohibited:**
14
+ - Modifying tests or production code
15
+ - Claiming a behavior is covered without citing the actual test evidence
16
+ - Skipping a flagged file or behavior because it "looks fine"
@@ -0,0 +1,11 @@
1
+ Verify the completeness and quality of the unit test audit itself.
2
+
3
+ **Important:** Refer to the audit plan report: {report:01-unit-audit-plan.md}
4
+
5
+ **Verification procedure:**
6
+ 1. Cross-check the full target inventory in the plan against the audited files and behaviors in the audit report
7
+ 2. Reject if any production file, exported API, branch, error path, boundary check, or state transition from the plan is missing from the audit result without an explicit reason
8
+ 3. Verify the audit report includes concrete evidence for both covered and missing behaviors, not just conclusions
9
+ 4. Verify the report includes the enumeration commands used and that they are sufficient to support the claimed scope
10
+ 5. Sample-read a few target production files and corresponding tests yourself to confirm the coverage claims are credible
11
+ 6. Require re-audit if issue titles, priorities, or recommended actions are too vague to be filed directly
@@ -0,0 +1,22 @@
1
+ Decompose the unit audit, assign files to each part, and execute in parallel.
2
+
3
+ **Important:** Refer to the plan report: {report:01-unit-audit-plan.md}
4
+
5
+ **What to do:**
6
+ 1. Review the production file list, existing tests, and audited behavior inventory from the plan report
7
+ 2. Split the audit into 3 groups by module or test area
8
+ 3. Assign exclusive ownership so every target file and behavior is audited once
9
+
10
+ **Each part's instruction MUST include:**
11
+ - Assigned production files and corresponding test files
12
+ - The behaviors, branches, error paths, and boundary checks to verify
13
+ - Required audit procedure:
14
+ 1. Read every assigned production file in full
15
+ 2. Read the corresponding unit tests in full
16
+ 3. Record covered and missing behaviors with concrete file evidence
17
+ - Completion criteria: every assigned target has been audited and findings are reported in issue-ready form
18
+
19
+ **Constraints:**
20
+ - Each part is read-only
21
+ - Do not modify tests or production code
22
+ - Do not audit files outside the assignment
@@ -104,6 +104,99 @@ Prohibited patterns:
104
104
  - Error handling centralized (no try-catch scattered everywhere)
105
105
  - Business logic not leaking into Controller/View
106
106
 
107
+ ## Resolve at the Boundary
108
+
109
+ Values such as config, options, providers, permissions, and paths should be resolved at the boundary before entering the core flow. Main processing should assume values are already resolved and should not keep asking config sources.
110
+
111
+ | Criteria | Judgment |
112
+ |----------|----------|
113
+ | Create a resolved object such as `ExecutionContext` or `ResolvedOptions` at the entry point | OK |
114
+ | Orchestration layers handle only resolved values | OK |
115
+ | Lower layers reload global/project/env and resolve the same value again | REJECT |
116
+ | Separate resolution functions exist for display and execution | REJECT |
117
+ | Unresolved options are passed deep and later fixed with `??` | REJECT |
118
+
119
+ ```typescript
120
+ // REJECT - Execution layer knows config sources directly
121
+ async function executePiece(options) {
122
+ const engine = new PieceEngine({
123
+ provider: options.provider ?? globalConfig.provider,
124
+ });
125
+ }
126
+
127
+ class AgentRunner {
128
+ run(step, options) {
129
+ const provider = options.provider ?? resolveProviderFromConfig();
130
+ return getProvider(provider).call();
131
+ }
132
+ }
133
+
134
+ // OK - Resolve at the boundary, use resolved values internally
135
+ async function executePiece(options) {
136
+ const context = resolveExecutionContext(options);
137
+ const engine = new PieceEngine(context);
138
+ }
139
+
140
+ class AgentRunner {
141
+ run(step, options) {
142
+ return getProvider(options.resolvedProvider).call();
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### Tell, Don't Ask
148
+
149
+ Do not make lower layers inspect config sources and decide for themselves. Upper layers should tell them what to use by passing resolved values. Separate value selection from execution.
150
+
151
+ | Pattern | Judgment |
152
+ |---------|----------|
153
+ | Upper layer passes a value such as `resolvedProvider` | OK |
154
+ | Lower layer inspects `options` and resolves on its own | REJECT |
155
+ | Execution object exposes only `run()` after `setup(config)` | OK |
156
+ | Runtime branches call `getGlobalConfig()` during execution | REJECT |
157
+
158
+ ### Anti-Corruption Layer
159
+
160
+ Precedence resolution and external config formats belong in a dedicated boundary layer. Pass only normalized internal values into the core model.
161
+
162
+ | Pattern | Judgment |
163
+ |---------|----------|
164
+ | Encapsulate YAML/env/CLI differences in a resolver/adapter | OK |
165
+ | Domain layer directly handles env var names or config key strings | REJECT |
166
+ | Conversion from external form to internal form is centralized in one place | OK |
167
+ | Same normalization logic is copied in multiple places | REJECT |
168
+
169
+ ### Phase Separation
170
+
171
+ Separate input, interpretation, execution, and output into distinct stages. Iterative processing should, as much as possible, receive already interpreted input in bulk and then repeat only execution.
172
+
173
+ | Criteria | Judgment |
174
+ |----------|----------|
175
+ | Convert raw input into a `Resolved*` type at the boundary before entering the core flow | OK |
176
+ | Loop body handles only execution on resolved data | OK |
177
+ | Config/env/options are interpreted inside every iteration | REJECT |
178
+ | Each iteration packs `input -> interpret -> execute -> output` into one function | REJECT |
179
+ | Even when optimization requires incremental handling, interpretation is isolated in a dedicated method | OK |
180
+
181
+ ```typescript
182
+ // REJECT - Each iteration also interprets input
183
+ for (const item of items) {
184
+ const resolved = resolveItem(item, rawOptions, config);
185
+ const result = execute(resolved);
186
+ output(result);
187
+ }
188
+
189
+ // OK - Interpret first, iterations only execute
190
+ const resolvedItems = items.map((item) => resolveItem(item, rawOptions, config));
191
+
192
+ for (const item of resolvedItems) {
193
+ const result = execute(item);
194
+ output(result);
195
+ }
196
+ ```
197
+
198
+ Even when interpretation must happen incrementally, keep `nextRawInput()`, `resolveInput()`, and `executeResolved()` as separate responsibilities. Performance constraints may compress phases, but must not mix responsibilities.
199
+
107
200
  ## Code Quality Detection
108
201
 
109
202
  **Explanatory Comment (What/How) Detection Criteria:**