takt 0.32.1 → 0.33.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 (277) hide show
  1. package/README.md +1 -0
  2. package/builtins/en/facets/instructions/gather-review.md +11 -7
  3. package/builtins/en/facets/instructions/plan.md +2 -0
  4. package/builtins/en/facets/instructions/review-frontend.md +2 -0
  5. package/builtins/en/facets/instructions/review-test.md +3 -0
  6. package/builtins/en/facets/instructions/supervise.md +18 -10
  7. package/builtins/en/facets/instructions/write-tests-first.md +4 -0
  8. package/builtins/en/facets/knowledge/frontend.md +46 -0
  9. package/builtins/en/facets/knowledge/react.md +90 -0
  10. package/builtins/en/facets/output-contracts/plan-frontend.md +41 -0
  11. package/builtins/en/facets/output-contracts/plan.md +8 -0
  12. package/builtins/en/facets/output-contracts/summary.md +2 -5
  13. package/builtins/en/facets/output-contracts/supervisor-validation.md +12 -5
  14. package/builtins/en/facets/output-contracts/testing-review.md +1 -0
  15. package/builtins/en/facets/personas/ai-antipattern-reviewer.md +2 -2
  16. package/builtins/en/facets/personas/architect-planner.md +4 -4
  17. package/builtins/en/facets/personas/architecture-reviewer.md +1 -1
  18. package/builtins/en/facets/personas/coder.md +1 -1
  19. package/builtins/en/facets/personas/dual-supervisor.md +13 -0
  20. package/builtins/en/facets/personas/planner.md +4 -4
  21. package/builtins/en/facets/personas/qa-reviewer.md +3 -3
  22. package/builtins/en/facets/personas/requirements-reviewer.md +3 -3
  23. package/builtins/en/facets/personas/research-analyzer.md +5 -5
  24. package/builtins/en/facets/personas/research-digger.md +4 -4
  25. package/builtins/en/facets/personas/research-planner.md +2 -2
  26. package/builtins/en/facets/personas/research-supervisor.md +4 -4
  27. package/builtins/en/facets/personas/supervisor.md +14 -12
  28. package/builtins/en/facets/personas/test-planner.md +3 -3
  29. package/builtins/en/facets/personas/testing-reviewer.md +3 -3
  30. package/builtins/en/facets/policies/coding.md +23 -1
  31. package/builtins/en/facets/policies/design-planning.md +52 -0
  32. package/builtins/en/facets/policies/testing.md +31 -0
  33. package/builtins/en/pieces/dual-cqrs-mini.yaml +3 -1
  34. package/builtins/en/pieces/dual-cqrs.yaml +3 -1
  35. package/builtins/en/pieces/dual-mini.yaml +3 -1
  36. package/builtins/en/pieces/dual.yaml +3 -1
  37. package/builtins/en/pieces/frontend-mini.yaml +3 -1
  38. package/builtins/en/pieces/frontend.yaml +13 -2
  39. package/builtins/ja/INSTRUCTION_STYLE_GUIDE.md +1 -1
  40. package/builtins/ja/OUTPUT_CONTRACT_STYLE_GUIDE.md +1 -1
  41. package/builtins/ja/PERSONA_STYLE_GUIDE.md +11 -9
  42. package/builtins/ja/facets/instructions/gather-review.md +11 -7
  43. package/builtins/ja/facets/instructions/plan.md +2 -0
  44. package/builtins/ja/facets/instructions/review-frontend.md +2 -0
  45. package/builtins/ja/facets/instructions/review-test.md +3 -0
  46. package/builtins/ja/facets/instructions/supervise.md +18 -10
  47. package/builtins/ja/facets/instructions/write-tests-first.md +4 -0
  48. package/builtins/ja/facets/knowledge/frontend.md +46 -0
  49. package/builtins/ja/facets/knowledge/react.md +90 -0
  50. package/builtins/ja/facets/output-contracts/plan-frontend.md +41 -0
  51. package/builtins/ja/facets/output-contracts/plan.md +8 -0
  52. package/builtins/ja/facets/output-contracts/summary.md +2 -5
  53. package/builtins/ja/facets/output-contracts/supervisor-validation.md +12 -5
  54. package/builtins/ja/facets/output-contracts/testing-review.md +1 -0
  55. package/builtins/ja/facets/personas/ai-antipattern-reviewer.md +2 -2
  56. package/builtins/ja/facets/personas/architect-planner.md +3 -3
  57. package/builtins/ja/facets/personas/architecture-reviewer.md +2 -2
  58. package/builtins/ja/facets/personas/cqrs-es-reviewer.md +3 -3
  59. package/builtins/ja/facets/personas/dual-supervisor.md +5 -2
  60. package/builtins/ja/facets/personas/frontend-reviewer.md +3 -3
  61. package/builtins/ja/facets/personas/planner.md +3 -3
  62. package/builtins/ja/facets/personas/qa-reviewer.md +3 -3
  63. package/builtins/ja/facets/personas/requirements-reviewer.md +3 -3
  64. package/builtins/ja/facets/personas/research-analyzer.md +5 -5
  65. package/builtins/ja/facets/personas/research-digger.md +4 -5
  66. package/builtins/ja/facets/personas/research-planner.md +2 -2
  67. package/builtins/ja/facets/personas/research-supervisor.md +4 -4
  68. package/builtins/ja/facets/personas/security-reviewer.md +1 -1
  69. package/builtins/ja/facets/personas/supervisor.md +19 -12
  70. package/builtins/ja/facets/personas/test-planner.md +3 -3
  71. package/builtins/ja/facets/personas/testing-reviewer.md +3 -3
  72. package/builtins/ja/facets/policies/coding.md +23 -1
  73. package/builtins/ja/facets/policies/design-planning.md +52 -0
  74. package/builtins/ja/facets/policies/testing.md +31 -0
  75. package/builtins/ja/pieces/dual-cqrs-mini.yaml +3 -1
  76. package/builtins/ja/pieces/dual-cqrs.yaml +3 -1
  77. package/builtins/ja/pieces/dual-mini.yaml +3 -1
  78. package/builtins/ja/pieces/dual.yaml +3 -1
  79. package/builtins/ja/pieces/frontend-mini.yaml +3 -1
  80. package/builtins/ja/pieces/frontend.yaml +13 -2
  81. package/builtins/project/dotgitignore +11 -10
  82. package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
  83. package/dist/agents/decompose-task-usecase.js +3 -2
  84. package/dist/agents/decompose-task-usecase.js.map +1 -1
  85. package/dist/app/cli/commands.js +1 -1
  86. package/dist/app/cli/commands.js.map +1 -1
  87. package/dist/app/cli/helpers.js +1 -1
  88. package/dist/app/cli/helpers.js.map +1 -1
  89. package/dist/app/cli/program.d.ts.map +1 -1
  90. package/dist/app/cli/program.js +4 -2
  91. package/dist/app/cli/program.js.map +1 -1
  92. package/dist/app/cli/routing-inputs.d.ts.map +1 -1
  93. package/dist/app/cli/routing-inputs.js +12 -13
  94. package/dist/app/cli/routing-inputs.js.map +1 -1
  95. package/dist/app/cli/routing.d.ts.map +1 -1
  96. package/dist/app/cli/routing.js +20 -6
  97. package/dist/app/cli/routing.js.map +1 -1
  98. package/dist/core/config/provider-resolution.d.ts +26 -0
  99. package/dist/core/config/provider-resolution.d.ts.map +1 -0
  100. package/dist/core/config/provider-resolution.js +31 -0
  101. package/dist/core/config/provider-resolution.js.map +1 -0
  102. package/dist/core/models/config-types.d.ts +53 -0
  103. package/dist/core/models/config-types.d.ts.map +1 -1
  104. package/dist/core/models/piece-types.d.ts +3 -7
  105. package/dist/core/models/piece-types.d.ts.map +1 -1
  106. package/dist/core/models/piece-types.js +6 -1
  107. package/dist/core/models/piece-types.js.map +1 -1
  108. package/dist/core/models/schemas.d.ts +106 -1
  109. package/dist/core/models/schemas.d.ts.map +1 -1
  110. package/dist/core/models/schemas.js +37 -2
  111. package/dist/core/models/schemas.js.map +1 -1
  112. package/dist/core/models/vcs-types.d.ts +9 -0
  113. package/dist/core/models/vcs-types.d.ts.map +1 -0
  114. package/dist/core/models/vcs-types.js +8 -0
  115. package/dist/core/models/vcs-types.js.map +1 -0
  116. package/dist/core/piece/provider-resolution.d.ts +0 -5
  117. package/dist/core/piece/provider-resolution.d.ts.map +1 -1
  118. package/dist/core/piece/provider-resolution.js +1 -29
  119. package/dist/core/piece/provider-resolution.js.map +1 -1
  120. package/dist/core/provider-resolution.d.ts +16 -0
  121. package/dist/core/provider-resolution.d.ts.map +1 -0
  122. package/dist/core/provider-resolution.js +30 -0
  123. package/dist/core/provider-resolution.js.map +1 -0
  124. package/dist/core/runtime/runtime-environment.d.ts +1 -1
  125. package/dist/core/runtime/runtime-environment.d.ts.map +1 -1
  126. package/dist/core/runtime/runtime-environment.js +8 -4
  127. package/dist/core/runtime/runtime-environment.js.map +1 -1
  128. package/dist/features/interactive/assistantConfig.d.ts +3 -0
  129. package/dist/features/interactive/assistantConfig.d.ts.map +1 -0
  130. package/dist/features/interactive/assistantConfig.js +19 -0
  131. package/dist/features/interactive/assistantConfig.js.map +1 -0
  132. package/dist/features/interactive/conversationLogMeta.d.ts +13 -0
  133. package/dist/features/interactive/conversationLogMeta.d.ts.map +1 -0
  134. package/dist/features/interactive/conversationLogMeta.js +17 -0
  135. package/dist/features/interactive/conversationLogMeta.js.map +1 -0
  136. package/dist/features/interactive/conversationLoop.d.ts +0 -8
  137. package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
  138. package/dist/features/interactive/conversationLoop.js +9 -25
  139. package/dist/features/interactive/conversationLoop.js.map +1 -1
  140. package/dist/features/interactive/interactive.d.ts +5 -0
  141. package/dist/features/interactive/interactive.d.ts.map +1 -1
  142. package/dist/features/interactive/interactive.js +8 -17
  143. package/dist/features/interactive/interactive.js.map +1 -1
  144. package/dist/features/interactive/personaMode.js +2 -1
  145. package/dist/features/interactive/personaMode.js.map +1 -1
  146. package/dist/features/interactive/policyPrompt.d.ts +2 -0
  147. package/dist/features/interactive/policyPrompt.d.ts.map +1 -0
  148. package/dist/features/interactive/policyPrompt.js +16 -0
  149. package/dist/features/interactive/policyPrompt.js.map +1 -0
  150. package/dist/features/interactive/quietMode.js +2 -1
  151. package/dist/features/interactive/quietMode.js.map +1 -1
  152. package/dist/features/interactive/retryMode.d.ts.map +1 -1
  153. package/dist/features/interactive/retryMode.js +4 -12
  154. package/dist/features/interactive/retryMode.js.map +1 -1
  155. package/dist/features/interactive/sessionInitialization.d.ts +4 -0
  156. package/dist/features/interactive/sessionInitialization.d.ts.map +1 -0
  157. package/dist/features/interactive/sessionInitialization.js +27 -0
  158. package/dist/features/interactive/sessionInitialization.js.map +1 -0
  159. package/dist/features/pipeline/steps.d.ts +1 -1
  160. package/dist/features/pipeline/steps.d.ts.map +1 -1
  161. package/dist/features/pipeline/steps.js +6 -7
  162. package/dist/features/pipeline/steps.js.map +1 -1
  163. package/dist/features/tasks/add/index.d.ts +1 -1
  164. package/dist/features/tasks/add/index.js +7 -8
  165. package/dist/features/tasks/add/index.js.map +1 -1
  166. package/dist/features/tasks/add/issueTask.d.ts +1 -1
  167. package/dist/features/tasks/add/issueTask.js +2 -2
  168. package/dist/features/tasks/add/issueTask.js.map +1 -1
  169. package/dist/features/tasks/execute/postExecution.d.ts +2 -0
  170. package/dist/features/tasks/execute/postExecution.d.ts.map +1 -1
  171. package/dist/features/tasks/execute/postExecution.js +44 -13
  172. package/dist/features/tasks/execute/postExecution.js.map +1 -1
  173. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  174. package/dist/features/tasks/execute/taskExecution.js +19 -1
  175. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  176. package/dist/features/tasks/list/instructMode.d.ts.map +1 -1
  177. package/dist/features/tasks/list/instructMode.js +4 -12
  178. package/dist/features/tasks/list/instructMode.js.map +1 -1
  179. package/dist/features/tasks/list/taskSyncAction.d.ts.map +1 -1
  180. package/dist/features/tasks/list/taskSyncAction.js +3 -2
  181. package/dist/features/tasks/list/taskSyncAction.js.map +1 -1
  182. package/dist/infra/config/configNormalizers.d.ts +14 -1
  183. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  184. package/dist/infra/config/configNormalizers.js +45 -0
  185. package/dist/infra/config/configNormalizers.js.map +1 -1
  186. package/dist/infra/config/env/config-env-overrides.d.ts.map +1 -1
  187. package/dist/infra/config/env/config-env-overrides.js +24 -0
  188. package/dist/infra/config/env/config-env-overrides.js.map +1 -1
  189. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  190. package/dist/infra/config/global/globalConfigCore.js +23 -1
  191. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  192. package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
  193. package/dist/infra/config/global/globalConfigSerializer.js +23 -0
  194. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  195. package/dist/infra/config/loaders/pieceParser.d.ts +2 -2
  196. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  197. package/dist/infra/config/loaders/pieceParser.js +109 -6
  198. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  199. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  200. package/dist/infra/config/project/projectConfig.js +59 -48
  201. package/dist/infra/config/project/projectConfig.js.map +1 -1
  202. package/dist/infra/config/project/projectConfigTransforms.d.ts +21 -1
  203. package/dist/infra/config/project/projectConfigTransforms.d.ts.map +1 -1
  204. package/dist/infra/config/project/projectConfigTransforms.js +40 -0
  205. package/dist/infra/config/project/projectConfigTransforms.js.map +1 -1
  206. package/dist/infra/config/project/sessionStore.d.ts +8 -0
  207. package/dist/infra/config/project/sessionStore.d.ts.map +1 -1
  208. package/dist/infra/config/project/sessionStore.js +20 -0
  209. package/dist/infra/config/project/sessionStore.js.map +1 -1
  210. package/dist/infra/config/resolveConfigValue.d.ts.map +1 -1
  211. package/dist/infra/config/resolveConfigValue.js +1 -0
  212. package/dist/infra/config/resolveConfigValue.js.map +1 -1
  213. package/dist/infra/git/constants.d.ts +5 -0
  214. package/dist/infra/git/constants.d.ts.map +1 -0
  215. package/dist/infra/git/constants.js +5 -0
  216. package/dist/infra/git/constants.js.map +1 -0
  217. package/dist/infra/git/detect.d.ts +18 -0
  218. package/dist/infra/git/detect.d.ts.map +1 -0
  219. package/dist/infra/git/detect.js +61 -0
  220. package/dist/infra/git/detect.js.map +1 -0
  221. package/dist/infra/git/format.d.ts +50 -0
  222. package/dist/infra/git/format.d.ts.map +1 -0
  223. package/dist/infra/git/format.js +133 -0
  224. package/dist/infra/git/format.js.map +1 -0
  225. package/dist/infra/git/index.d.ts +32 -1
  226. package/dist/infra/git/index.d.ts.map +1 -1
  227. package/dist/infra/git/index.js +85 -1
  228. package/dist/infra/git/index.js.map +1 -1
  229. package/dist/infra/git/types.d.ts +6 -4
  230. package/dist/infra/git/types.d.ts.map +1 -1
  231. package/dist/infra/github/index.d.ts +1 -2
  232. package/dist/infra/github/index.d.ts.map +1 -1
  233. package/dist/infra/github/index.js +1 -2
  234. package/dist/infra/github/index.js.map +1 -1
  235. package/dist/infra/github/issue.d.ts +3 -49
  236. package/dist/infra/github/issue.d.ts.map +1 -1
  237. package/dist/infra/github/issue.js +0 -93
  238. package/dist/infra/github/issue.js.map +1 -1
  239. package/dist/infra/github/pr.d.ts +1 -10
  240. package/dist/infra/github/pr.d.ts.map +1 -1
  241. package/dist/infra/github/pr.js +20 -66
  242. package/dist/infra/github/pr.js.map +1 -1
  243. package/dist/infra/gitlab/GitLabProvider.d.ts +18 -0
  244. package/dist/infra/gitlab/GitLabProvider.d.ts.map +1 -0
  245. package/dist/infra/gitlab/GitLabProvider.js +34 -0
  246. package/dist/infra/gitlab/GitLabProvider.js.map +1 -0
  247. package/dist/infra/gitlab/index.d.ts +5 -0
  248. package/dist/infra/gitlab/index.d.ts.map +1 -0
  249. package/dist/infra/gitlab/index.js +5 -0
  250. package/dist/infra/gitlab/index.js.map +1 -0
  251. package/dist/infra/gitlab/issue.d.ts +20 -0
  252. package/dist/infra/gitlab/issue.d.ts.map +1 -0
  253. package/dist/infra/gitlab/issue.js +64 -0
  254. package/dist/infra/gitlab/issue.js.map +1 -0
  255. package/dist/infra/gitlab/pr.d.ts +27 -0
  256. package/dist/infra/gitlab/pr.d.ts.map +1 -0
  257. package/dist/infra/gitlab/pr.js +138 -0
  258. package/dist/infra/gitlab/pr.js.map +1 -0
  259. package/dist/infra/gitlab/utils.d.ts +20 -0
  260. package/dist/infra/gitlab/utils.d.ts.map +1 -0
  261. package/dist/infra/gitlab/utils.js +61 -0
  262. package/dist/infra/gitlab/utils.js.map +1 -0
  263. package/dist/infra/task/autoCommit.d.ts +2 -0
  264. package/dist/infra/task/autoCommit.d.ts.map +1 -1
  265. package/dist/infra/task/autoCommit.js +24 -7
  266. package/dist/infra/task/autoCommit.js.map +1 -1
  267. package/dist/infra/task/git.d.ts +4 -0
  268. package/dist/infra/task/git.d.ts.map +1 -1
  269. package/dist/infra/task/git.js +10 -0
  270. package/dist/infra/task/git.js.map +1 -1
  271. package/dist/shared/i18n/labels_en.yaml +1 -1
  272. package/dist/shared/i18n/labels_ja.yaml +1 -1
  273. package/package.json +2 -2
  274. package/dist/infra/github/types.d.ts +0 -5
  275. package/dist/infra/github/types.d.ts.map +0 -1
  276. package/dist/infra/github/types.js +0 -5
  277. package/dist/infra/github/types.js.map +0 -1
package/README.md CHANGED
@@ -28,6 +28,7 @@ Choose one:
28
28
  Optional:
29
29
 
30
30
  - [GitHub CLI](https://cli.github.com/) (`gh`) — for `takt #N` (GitHub Issue tasks)
31
+ - [GitLab CLI](https://gitlab.com/gitlab-org/cli) (`glab`) — for GitLab Issue/MR integration (auto-detected from remote URL)
31
32
 
32
33
  > **OAuth and API key usage:** Whether OAuth or API key access is permitted varies by provider and use case. Check each provider's terms of service before using TAKT.
33
34
 
@@ -17,14 +17,18 @@ Analyze the task text and determine which mode to use.
17
17
  - Collect Issue title, description, labels, and comments
18
18
 
19
19
  ### Mode 2: Branch mode
20
- **Trigger:** Task text matches a branch name found in `git branch -a`. This includes names with `/` (e.g., `feature/auth`) as well as simple names (e.g., `develop`, `release-v2`, `hotfix-login`). When unsure, verify with `git branch -a | grep {text}`.
20
+ **Trigger:** The normalized task text exactly matches one branch name found in `git branch -a`. This includes names with `/` (e.g., `feature/auth`) as well as simple names (e.g., `develop`, `release-v2`, `hotfix-login`).
21
21
  **Steps:**
22
- 1. Determine the base branch (default: `main`, fallback: `master`)
23
- 2. Run `git log {base}..{branch} --oneline` to get commit history
24
- 3. Run `git diff {base}...{branch}` to get the diff
25
- 4. Compile the changed files list
26
- 5. Extract purpose from commit messages
27
- 6. If a PR exists for the branch, fetch it with `gh pr list --head {branch}`
22
+ 1. Run `git branch -a` and inspect the branch list yourself. Never interpolate raw task text into shell commands.
23
+ 2. Normalization is limited to trimming surrounding whitespace, removing wrapping quotes/backticks, and stripping a leading `origin/` prefix. Do not do partial matching or heuristic guessing beyond that.
24
+ 3. Use Branch mode only when the normalized text exactly matches one branch name from the branch list.
25
+ 4. If there is no exact match, multiple plausible candidates, or the branch name only appears as part of explanatory prose, do not guess. Fall back to Current diff mode.
26
+ 5. Determine the base branch (default: `main`, fallback: `master`)
27
+ 6. Use only the branch name confirmed in step 3 when running `git log {base}..{branch} --oneline` to get commit history
28
+ 7. Use only the branch name confirmed in step 3 when running `git diff {base}...{branch}` to get the diff
29
+ 8. Compile the changed files list
30
+ 9. Extract purpose from commit messages
31
+ 10. If a PR exists for the branch, fetch it with `gh pr list --head {branch}` using only the branch name confirmed in step 3
28
32
 
29
33
  ### Mode 3: Current diff mode
30
34
  **Trigger:** Task does not match Mode 1 or Mode 2 (e.g., "review current changes", "last 3 commits", "current diff")
@@ -19,7 +19,9 @@ For small tasks, skip the design sections in the report.
19
19
  4. Determine file structure and design patterns (if needed)
20
20
  5. Decide on the implementation approach
21
21
  - Verify the implementation approach does not violate knowledge/policy constraints
22
+ - When adding or changing a user-facing feature, fix the conditions, entry points, and reachability by which users arrive at it
22
23
  6. Include the following in coder implementation guidelines:
23
24
  - Existing implementation patterns to reference (file:line). Always cite when similar processing already exists
24
25
  - Impact area of changes. Especially when adding new parameters, enumerate all call sites that need wiring
25
26
  - Anti-patterns to watch for in this specific task (if applicable)
27
+ - When adding or changing a user-facing feature, all affected reachability, callers, and launch conditions
@@ -7,6 +7,7 @@ Review the changes from a frontend development perspective.
7
7
  - Performance (re-renders, memoization)
8
8
  - Accessibility (keyboard navigation, ARIA)
9
9
  - Data fetching patterns
10
+ - Reachability wiring for user-facing features (routes, entry paths, launch conditions)
10
11
  - TypeScript type safety
11
12
 
12
13
  **Design fidelity check (when a design reference exists):**
@@ -28,5 +29,6 @@ Review {report:coder-decisions.md} to understand the recorded design decisions.
28
29
 
29
30
  1. Review the change diff and detect issues based on the frontend development criteria above
30
31
  - Cross-check changes against REJECT criteria tables defined in knowledge
32
+ - When new screens or user-facing features are added, verify that entry points and caller wiring were updated as well
31
33
  2. For each detected issue, classify as blocking/non-blocking based on Policy's scope determination table and judgment rules
32
34
  3. If there is even one blocking issue, judge as REJECT
@@ -6,6 +6,8 @@ Review the changes from a test quality perspective.
6
6
  - Test naming conventions
7
7
  - Completeness (unnecessary tests, missing cases)
8
8
  - Appropriateness of mocks and fixtures
9
+ - When an external contract exists, whether request body / query / path input locations are verified as defined
10
+ - Whether the tests would catch an implementation that incorrectly reuses a response envelope for request parsing
9
11
 
10
12
 
11
13
  **Design decisions reference:**
@@ -18,3 +20,4 @@ Review {report:coder-decisions.md} to understand the recorded design decisions.
18
20
  1. Cross-reference the test plan/test scope reports in the Report Directory with the implemented tests
19
21
  2. For each detected issue, classify as blocking/non-blocking based on Policy's scope determination table and judgment rules
20
22
  3. If there is even one blocking issue, judge as REJECT
23
+ 4. If an external contract exists and input locations (root body / query / path) are not verified, treat it as a coverage gap by default
@@ -1,4 +1,4 @@
1
- Run tests, verify the build, and perform final approval.
1
+ Verify existing evidence for tests, builds, and functional checks, then perform final approval.
2
2
 
3
3
  **Overall piece verification:**
4
4
  1. Check all reports in the report directory and verify overall piece consistency
@@ -7,10 +7,21 @@ Run tests, verify the build, and perform final approval.
7
7
  - Was the original task objective achieved?
8
8
  2. Whether each task spec requirement has been achieved
9
9
  - Extract requirements one by one from the task spec
10
+ - If a single sentence contains multiple conditions or paths, split it into the smallest independently verifiable units
11
+ - Example: treat `global/project` as separate requirements
12
+ - Example: treat `JSON override / leaf override` as separate requirements
13
+ - Example: split parallel expressions such as `A and B`, `A/B`, `allow/deny`, or `read/write`
10
14
  - For each requirement, identify the implementing code (file:line)
11
- - Verify the code actually fulfills the requirement (read the file, run the test)
15
+ - Verify the code actually fulfills the requirement (read the file, check existing test/build evidence)
16
+ - Do not mark a composite requirement as ✅ based on only one side of the cases
17
+ - Evidence must cover the full content of the requirement row
12
18
  - Do not rely on the plan report's judgment; independently verify each requirement
13
19
  - If any requirement is unfulfilled, REJECT
20
+ 3. Handling tests, builds, and functional checks
21
+ - Do not assume this movement will rerun commands
22
+ - Use only evidence available in this run, such as execution logs, reports, or CI results
23
+ - If evidence is missing, mark the item as unverified
24
+ - If report text conflicts with execution evidence, call out the inconsistency explicitly
14
25
 
15
26
  **Report verification:** Read all reports in the Report Directory and
16
27
  check for any unaddressed improvement suggestions.
@@ -37,9 +48,9 @@ Extract requirements from the task spec and verify each one individually against
37
48
  ## Verification Summary
38
49
  | Item | Status | Verification method |
39
50
  |------|--------|-------------------|
40
- | Tests | ✅ | `npm test` (N passed) |
41
- | Build | ✅ | `npm run build` succeeded |
42
- | Functional check | ✅ | Main flows verified |
51
+ | Tests | ✅ / ⚠️ / ❌ | {Execution log, report, CI result, or why unverified} |
52
+ | Build | ✅ / ⚠️ / ❌ | {Execution log, report, CI result, or why unverified} |
53
+ | Functional check | ✅ / ⚠️ / ❌ | {Evidence used, or state that it was not verified} |
43
54
 
44
55
  ## Deliverables
45
56
  - Created: {Created files}
@@ -66,9 +77,6 @@ Complete
66
77
  |------|------|---------|
67
78
  | Create | `src/file.ts` | Summary description |
68
79
 
69
- ## Verification commands
70
- ```bash
71
- npm test
72
- npm run build
73
- ```
80
+ ## Verification evidence
81
+ - {Evidence for tests/builds/functional checks}
74
82
  ```
@@ -18,6 +18,10 @@ Refer only to files within the Report Directory shown in the Piece Context. Do n
18
18
  - Write tests in Given-When-Then structure
19
19
  - One concept per test. Do not mix multiple concerns in a single test
20
20
  - Cover happy path, error cases, boundary values, and edge cases
21
+ - When an external contract exists, include tests that use the contract-defined input location
22
+ - Example: pass request bodies using the defined root shape as-is
23
+ - Example: keep query / path parameters in their defined location instead of moving them into the body
24
+ - Include tests that would catch implementations that incorrectly reuse a response envelope when reading requests
21
25
  - Write tests that are expected to pass after implementation is complete (build errors and test failures are expected at this stage)
22
26
 
23
27
  **Scope output contract (create at the start):**
@@ -45,6 +45,40 @@ features/{feature-name}/
45
45
  └── index.ts
46
46
  ```
47
47
 
48
+ ## Routing Wiring When Adding a Page
49
+
50
+ Do not stop at creating the page component. A new page must also be wired into an actual entry path. Decide together with the implementation how the page is reached: router, menu, temporary route, or another explicit entry point.
51
+
52
+ | Criteria | Judgment |
53
+ |----------|----------|
54
+ | A new page exists but no route is registered for it | REJECT |
55
+ | Basename-based URL and route path mapping is not verified | REJECT |
56
+ | Router wiring and page entry are decided together with the page implementation | OK |
57
+ | A temporary development route is used and its purpose/removal plan is recorded | OK |
58
+ | Routes are updated but actual entry points such as menus, buttons, links, or external callers are not checked | Warning |
59
+
60
+ ```tsx
61
+ // OK - page and route are added together
62
+ <Route path="/contreg" element={<ContainerRegisterPage />} />
63
+
64
+ // REJECT - page exists but has no reachable route
65
+ // src/pages/ContainerRegisterPage.tsx exists
66
+ // Router has no matching route
67
+ ```
68
+
69
+ Reachability is broader than router configuration. Confirm the real entry path users will follow, such as menus, transition buttons, dialog actions, links from other screens, or external callers.
70
+
71
+ ### Integrating third-party UI libraries
72
+
73
+ Third-party UI libraries such as data grids, date pickers, charts, and virtualized lists can fail at runtime even when types pass. This is especially common across major-version changes where prop names or state model shapes are no longer compatible, and shallow mocks do not expose the problem.
74
+
75
+ | Criteria | Judgment |
76
+ |----------|----------|
77
+ | Major UI library props are guessed without checking the version used by the project | REJECT |
78
+ | Tests fully mock the library and miss real mount failures | Warning |
79
+ | The real component is rendered with representative props and verified not to crash at screen level | OK |
80
+ | Prop shapes are chosen by referencing existing in-project usage patterns and the installed version | OK |
81
+
48
82
  ## State Management
49
83
 
50
84
  Child components do not modify their own state. They bubble events to parent, and parent manipulates state.
@@ -78,6 +112,7 @@ Exception (OK for child to have local state):
78
112
  | State changes from child to parent (reverse data flow) | REJECT |
79
113
  | API response stored as-is in state | Consider normalization |
80
114
  | Inappropriate useEffect dependencies | REJECT |
115
+ | Initial load tied to unstable Context/Provider function references | REJECT |
81
116
 
82
117
  State Placement Guidelines:
83
118
 
@@ -88,6 +123,17 @@ State Placement Guidelines:
88
123
  | Shared across multiple components | Context or state management library |
89
124
  | Server data cache | Data fetching library (TanStack Query, etc.) |
90
125
 
126
+ ## Initial load and refetch boundaries
127
+
128
+ Initial loading should be separated from reactive refetching. If refetching is not driven by URL, filter, paging, or explicit user action, keep it mount-only and do not tie it to unstable callback references.
129
+
130
+ | Criteria | Judgment |
131
+ |----------|----------|
132
+ | Initial load reruns because a Provider/Context callback changed identity | REJECT |
133
+ | Refetch conditions are explicit (URL, filter, paging, refresh action) | OK |
134
+ | Message display, loading toggles, or modal state cause refetching | REJECT |
135
+ | Initial load is mount-only and later refetches are triggered explicitly | OK |
136
+
91
137
  ## Data Fetching
92
138
 
93
139
  API calls are made in root (View) components and passed to children via props.
@@ -0,0 +1,90 @@
1
+ # React Knowledge
2
+
3
+ ## Effects and Re-execution
4
+
5
+ `useEffect` is a mechanism for declaring when re-execution is allowed, not a generic place to put initialization. Decide first whether a load is mount-only or should rerun on dependency changes.
6
+
7
+ | Criteria | Judgment |
8
+ |----------|----------|
9
+ | A mount-only initial load depends on recreated function references | REJECT |
10
+ | Context/Provider functions are used as effect dependencies without a clear refetch requirement | REJECT |
11
+ | Mount-only initialization is expressed with `useEffect(..., [])` and its intent is documented | OK |
12
+ | Refetching on dependency change is required by the feature and those dependencies are explicit | OK |
13
+
14
+ ```tsx
15
+ // REJECT - initial load can rerun because unstable function deps leak into the effect
16
+ const fetchList = useCallback(async () => {
17
+ await loadItems()
18
+ }, [setIsLoading, errorPage])
19
+
20
+ useEffect(() => {
21
+ fetchList()
22
+ }, [fetchList])
23
+
24
+ // OK - explicitly mount-only initial load
25
+ useEffect(() => {
26
+ void loadItemsOnMount()
27
+ // mount-only initial load
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ }, [])
30
+ ```
31
+
32
+ ## Context and Provider Values
33
+
34
+ `value={{ ... }}` in a Provider creates a new reference on each Provider render. When functions obtained from Context are placed in effect dependencies, consumers can enter unintended refetch loops.
35
+
36
+ | Criteria | Judgment |
37
+ |----------|----------|
38
+ | Context-derived functions are placed in effect dependencies without checking reference stability | REJECT |
39
+ | Mount effects rely on Provider functions whose stability is not guaranteed | REJECT |
40
+ | Context functions are used from event handlers while initial load stays mount-only | OK |
41
+ | Provider values are stabilized and refetch conditions are defined explicitly | OK |
42
+
43
+ ```tsx
44
+ // REJECT - Context functions are used directly as initial-load effect deps
45
+ const { setIsLoading, errorPage } = useAppContext()
46
+ useEffect(() => {
47
+ void loadInitialData(setIsLoading, errorPage)
48
+ }, [setIsLoading, errorPage])
49
+
50
+ // OK - initial load is mount-only, Context functions are consumed inside it
51
+ const { setIsLoading, errorPage } = useAppContext()
52
+ useEffect(() => {
53
+ void loadInitialData({ setIsLoading, errorPage })
54
+ // mount-only initial load
55
+ // eslint-disable-next-line react-hooks/exhaustive-deps
56
+ }, [])
57
+ ```
58
+
59
+ ## Initial Page Load
60
+
61
+ Treat initial page load separately from reactive refetching. Unless refetching is required by filter, URL, pagination, or explicit user action, keep the initial fetch mount-only.
62
+
63
+ | Condition | Recommendation |
64
+ |-----------|----------------|
65
+ | List is loaded once on page entry | mount-only effect |
66
+ | Refetching follows filter, pagination, or URL changes | make those states explicit dependencies |
67
+ | Loading state updates trigger refetching | REJECT |
68
+ | Message display or dialog state triggers refetching | REJECT |
69
+
70
+ ## Custom Hook Responsibility
71
+
72
+ A React custom hook should encapsulate state, effects, refs, or event translation. Pure calculations belong in function modules, not in a `use*` hook.
73
+
74
+ | Criteria | Judgment |
75
+ |----------|----------|
76
+ | A module is named `use*` but does not use React state/effect/ref | Warning |
77
+ | Pure functions are modeled as a custom hook | Warning |
78
+ | Stateful UI control lives in a custom hook and pure calculations live in functions | OK |
79
+ | A hook returns JSX | REJECT |
80
+
81
+ ## Handling exhaustive-deps
82
+
83
+ `react-hooks/exhaustive-deps` is not a rule to satisfy mechanically. If adding dependencies changes a mount-only effect into a loop, keep the effect mount-only and document why the suppression exists.
84
+
85
+ | Criteria | Judgment |
86
+ |----------|----------|
87
+ | Dependencies are added only to satisfy lint and they change runtime behavior | REJECT |
88
+ | Lint suppression is added without explanation | Warning |
89
+ | Mount-only suppression is documented with intent | OK |
90
+ | A reactive effect that should rerun is incorrectly frozen with `[]` | REJECT |
@@ -0,0 +1,41 @@
1
+ ```markdown
2
+ # Task Plan
3
+
4
+ ## Original Request
5
+ {User's request as-is}
6
+
7
+ ## Analysis
8
+
9
+ ### Objective
10
+ {What needs to be achieved}
11
+
12
+ ### Reference Material Findings (when reference material exists)
13
+ {Overview of reference implementation's approach and key differences from current implementation}
14
+
15
+ ### Design Element Decisions (when design references exist)
16
+ | Element | Keep/Change | Rationale |
17
+ |------|-------------|-----------|
18
+
19
+ ### Scope
20
+ {Impact area}
21
+
22
+ ### Approaches Considered (when design decisions exist)
23
+ | Approach | Adopted? | Rationale |
24
+ |----------|----------|-----------|
25
+
26
+ ### Implementation Approach
27
+ {How to proceed}
28
+
29
+ ## Implementation Guidelines (only when design is needed)
30
+ - {Guidelines the Coder should follow during implementation}
31
+
32
+ ## Out of Scope (only when items exist)
33
+ | Item | Reason for exclusion |
34
+ |------|---------------------|
35
+
36
+ When design references exist:
37
+ - {Excluded element name, why it is excluded, and why no substitute is taken now}
38
+
39
+ ## Open Questions (if any)
40
+ - {Unclear points or items that need confirmation}
41
+ ```
@@ -22,6 +22,14 @@
22
22
  ### Implementation Approach
23
23
  {How to proceed}
24
24
 
25
+ ### Reachability and Launch Conditions (when adding/changing user-facing features)
26
+ | Item | Content |
27
+ |------|---------|
28
+ | User entry point | {Menu/route/button/link/external caller, or explicitly say "none"} |
29
+ | Callers/wiring to update | {Files or layers that must be updated} |
30
+ | Launch conditions | {Auth, permission, URL condition, flags, etc.} |
31
+ | Remaining gaps | {Any unresolved wiring, or "none"} |
32
+
25
33
  ## Implementation Guidelines (only when design is needed)
26
34
  - {Guidelines the Coder should follow during implementation}
27
35
 
@@ -12,9 +12,6 @@ Completed
12
12
  |------|------|----------|
13
13
  | Create | `src/file.ts` | Brief description |
14
14
 
15
- ## Verification Commands
16
- ```bash
17
- npm test
18
- npm run build
19
- ```
15
+ ## Verification Evidence
16
+ - {Evidence for tests/builds/functional checks}
20
17
  ```
@@ -7,21 +7,28 @@
7
7
 
8
8
  Extract requirements from the task spec and verify each one individually against actual code.
9
9
 
10
- | # | Requirement (extracted from task spec) | Met | Evidence (file:line) |
11
- |---|---------------------------------------|-----|---------------------|
10
+ | # | Decomposed requirement | Met | Evidence (file:line) |
11
+ |---|------------------------|-----|---------------------|
12
12
  | 1 | {requirement 1} | ✅/❌ | `src/file.ts:42` |
13
13
  | 2 | {requirement 2} | ✅/❌ | `src/file.ts:55` |
14
14
 
15
+ - If a sentence contains multiple conditions, split it into the smallest independently verifiable rows
16
+ - Do not combine parallel conditions such as `A/B`, `global/project`, `JSON/leaf`, `allow/deny`, or `read/write` into one row
15
17
  - If any ❌ exists, REJECT is mandatory
16
18
  - ✅ without evidence is invalid (must verify against actual code)
19
+ - Do not mark a row as ✅ when the evidence covers only part of the cases
17
20
  - Do not rely on plan report's judgment; independently verify each requirement
18
21
 
19
22
  ## Validation Summary
20
23
  | Item | Status | Verification Method |
21
24
  |------|--------|-------------------|
22
- | Tests | ✅ | `npm test` (N passed) |
23
- | Build | ✅ | `npm run build` succeeded |
24
- | Functional check | ✅ | Main flow verified |
25
+ | Tests | ✅ / ⚠️ / ❌ | {Execution log, report, CI result, or why unverified} |
26
+ | Build | ✅ / ⚠️ / ❌ | {Execution log, report, CI result, or why unverified} |
27
+ | Functional check | ✅ / ⚠️ / ❌ | {Evidence used, or state that it was not verified} |
28
+
29
+ - Do not claim success/failure/not-runnable for commands that were never executed
30
+ - When using `⚠️`, explain the missing evidence and the verified scope in the method column
31
+ - If report text conflicts with execution evidence, treat that inconsistency itself as a finding
25
32
 
26
33
  ## Current Iteration Findings (new)
27
34
  | # | finding_id | Item | Evidence | Reason | Required Action |
@@ -15,6 +15,7 @@
15
15
  | Test independence & reproducibility | ✅ | - |
16
16
  | Mocks & fixtures | ✅ | - |
17
17
  | Test strategy (unit/integration/E2E) | ✅ | - |
18
+ | Contract input location (body/query/path) | ✅ | - |
18
19
 
19
20
  ## Current Iteration Findings (new)
20
21
  | # | finding_id | family_tag | Category | Location | Issue | Fix Suggestion |
@@ -14,8 +14,8 @@ You are an AI-generated code expert. You review code produced by AI coding assis
14
14
  - Detect unnecessary backward-compatibility code
15
15
 
16
16
  **Don't:**
17
- - Review architecture (Architecture Reviewer's job)
18
- - Review security vulnerabilities (Security Reviewer's job)
17
+ - Review architecture
18
+ - Review security vulnerabilities
19
19
  - Write code yourself
20
20
 
21
21
  ## Behavioral Principles
@@ -8,11 +8,11 @@ You are a **task analysis and design planning specialist**. You analyze user req
8
8
  - Resolve unknowns by reading code yourself
9
9
  - Identify impact scope
10
10
  - Determine file structure and design patterns
11
- - Create implementation guidelines for Coder
11
+ - Create implementation guidelines
12
12
 
13
13
  **Not your job:**
14
- - Writing code (Coder's job)
15
- - Code review (Reviewer's job)
14
+ - Writing code
15
+ - Code review
16
16
 
17
17
  ## Analysis Phase
18
18
 
@@ -145,5 +145,5 @@ Based on investigation and design, determine the implementation direction:
145
145
  ## Important
146
146
 
147
147
  **Investigate before planning.** Don't plan without reading existing code.
148
- **Design simply.** No excessive abstractions or future-proofing. Provide enough direction for Coder to implement without hesitation.
148
+ **Design simply.** No excessive abstractions or future-proofing. Provide enough direction for implementation without hesitation.
149
149
  **Ask all clarification questions at once.** Do not ask follow-up questions in multiple rounds.
@@ -39,7 +39,7 @@ Code is read far more often than it is written. Poorly structured code destroys
39
39
  **Don't:**
40
40
  - Write code yourself (only provide feedback and suggestions)
41
41
  - Give vague feedback ("clean this up" is prohibited)
42
- - Review AI-specific issues (AI Reviewer's job)
42
+ - Review AI-specific issues
43
43
 
44
44
  ## Important
45
45
 
@@ -22,7 +22,7 @@ You are the implementer. Focus on implementation, not design decisions.
22
22
  - When a design reference is provided, match UI appearance, structure, and wording to the design. Do not add, omit, or change anything on your own judgment
23
23
  - Work only within the specified project directory (reading external files for reference is allowed)
24
24
 
25
- **Reviewer's feedback is absolute. Your understanding is wrong.**
25
+ **Feedback from review is absolute. Your understanding is wrong.**
26
26
  - If reviewer says "not fixed", first open the file and verify the facts
27
27
  - Drop the assumption "I should have fixed it"
28
28
  - Fix all flagged issues with Edit tool
@@ -16,6 +16,7 @@ Judge from a big-picture perspective to avoid "missing the forest for the trees.
16
16
  - Review results from each expert
17
17
  - Detect contradictions or gaps between reviews
18
18
  - Bird's eye view of overall quality
19
+ - Cross-check facts between execution logs, reports, and code evidence
19
20
 
20
21
  ### Final Decision
21
22
  - Determine release readiness
@@ -27,6 +28,11 @@ Judge from a big-picture perspective to avoid "missing the forest for the trees.
27
28
  - Balance with business requirements
28
29
  - Judge acceptable technical debt
29
30
 
31
+ **Don't:**
32
+ - Perform individual code reviews
33
+ - Implement or modify code
34
+ - Re-run tests or builds
35
+
30
36
  ## Review Criteria
31
37
 
32
38
  ### 1. Review Result Consistency
@@ -133,3 +139,10 @@ When any of the following apply:
133
139
  - **Don't forget business value**: Value delivery over technical perfection
134
140
  - **Consider context**: Judge according to project situation
135
141
  - **Verify non-blocking classifications**: Always verify issues classified as "non-blocking," "existing problems," or "informational" by reviewers. If an issue in a changed file was marked as non-blocking, escalate it to blocking and REJECT
142
+ - **Do not invent command outcomes**: If there is no execution evidence, treat it as unverified
143
+
144
+ ## Execution Evidence
145
+
146
+ - Do not rerun tests or builds in this role
147
+ - Use only evidence available in this run, such as execution logs, reports, or CI results
148
+ - If report text conflicts with execution evidence, treat the inconsistency itself as a blocking issue
@@ -8,11 +8,11 @@ You are a **task analysis and design planning specialist**. You analyze user req
8
8
  - Resolve unknowns by reading code yourself
9
9
  - Identify impact scope
10
10
  - Determine file structure and design patterns
11
- - Create implementation guidelines for Coder
11
+ - Create implementation guidelines
12
12
 
13
13
  **Not your job:**
14
- - Writing code (Coder's job)
15
- - Code review (Reviewer's job)
14
+ - Writing code
15
+ - Code review
16
16
 
17
17
  ## Analysis Phases
18
18
 
@@ -120,6 +120,6 @@ Do not over-interpret the task order. Plan only what is written.
120
120
 
121
121
  **Important:**
122
122
  **Investigate before planning.** Don't plan without reading existing code.
123
- **Design simply.** No excessive abstractions or future-proofing. Provide enough direction for Coder to implement without hesitation.
123
+ **Design simply.** No excessive abstractions or future-proofing. Provide enough direction for implementation without hesitation.
124
124
  **Ask all clarification questions at once.** Do not ask follow-up questions in multiple rounds.
125
125
  **Verify against knowledge/policy constraints** before specifying implementation approach. Do not specify implementation methods that violate architectural constraints defined in knowledge.
@@ -13,9 +13,9 @@ You are a Quality Assurance specialist. You verify that changes are properly tes
13
13
  - Detect technical debt
14
14
 
15
15
  **Don't:**
16
- - Review security concerns (Security Reviewer's job)
17
- - Review architecture decisions (Architecture Reviewer's job)
18
- - Review AI-specific patterns (AI Antipattern Reviewer's job)
16
+ - Review security concerns
17
+ - Review architecture decisions
18
+ - Review AI-specific patterns
19
19
  - Write code yourself
20
20
 
21
21
  ## Behavioral Principles
@@ -12,9 +12,9 @@ You are a requirements fulfillment verifier. You verify that changes satisfy the
12
12
  - Flag ambiguity in specifications
13
13
 
14
14
  **Don't:**
15
- - Review code quality (Architecture Reviewer's job)
16
- - Review test coverage (Testing Reviewer's job)
17
- - Review security concerns (Security Reviewer's job)
15
+ - Review code quality
16
+ - Review test coverage
17
+ - Review security concerns
18
18
  - Write code yourself
19
19
 
20
20
  ## Behavioral Principles
@@ -1,6 +1,6 @@
1
1
  # Research Analyzer
2
2
 
3
- You are a research analyzer. You interpret the Digger's research results, identify unexplained phenomena and newly emerged questions, and create instructions for additional investigation.
3
+ You are a research analyzer. You interpret submitted research results, identify unexplained phenomena and newly emerged questions, and create instructions for additional investigation.
4
4
 
5
5
  ## Role Boundaries
6
6
 
@@ -12,16 +12,16 @@ You are a research analyzer. You interpret the Digger's research results, identi
12
12
  - Determine whether additional investigation is needed
13
13
 
14
14
  **Don't:**
15
- - Execute research yourself (Digger's responsibility)
16
- - Design overall research plans (Planner's responsibility)
17
- - Make final quality evaluations (Supervisor's responsibility)
15
+ - Execute research yourself
16
+ - Design overall research plans
17
+ - Make final quality evaluations
18
18
 
19
19
  ## Behavior
20
20
 
21
21
  - Do not ask questions. Present analysis results and judgments directly
22
22
  - Keep asking "why?" — do not settle for surface-level explanations
23
23
  - Detect gaps in both quantitative and qualitative dimensions
24
- - Write additional research instructions with enough specificity for Digger to act immediately
24
+ - Write additional research instructions with enough specificity to act immediately
25
25
  - If no further investigation is warranted, honestly judge "sufficient" — do not manufacture questions
26
26
 
27
27
  ## Domain Knowledge
@@ -1,18 +1,18 @@
1
1
  # Research Digger
2
2
 
3
- You are a research executor. You follow the Planner's research plan and actually execute the research, organizing and reporting results.
3
+ You are a research executor. You follow the given research plan and actually execute the research, organizing and reporting results.
4
4
 
5
5
  ## Role Boundaries
6
6
 
7
7
  **Do:**
8
- - Execute research according to Planner's plan
8
+ - Execute research according to the given plan
9
9
  - Organize and report research results
10
10
  - Report additional related information discovered during research
11
11
  - Provide analysis and recommendations based on facts
12
12
 
13
13
  **Don't:**
14
- - Create research plans (Planner's responsibility)
15
- - Evaluate research quality (Supervisor's responsibility)
14
+ - Create research plans
15
+ - Evaluate research quality
16
16
  - Ask "Should I look into X?" — just investigate it
17
17
 
18
18
  ## Behavior
@@ -11,8 +11,8 @@ You are a research planner. You receive research requests and create specific re
11
11
  - Prioritize research items
12
12
 
13
13
  **Don't:**
14
- - Execute research yourself (Digger's responsibility)
15
- - Evaluate research quality (Supervisor's responsibility)
14
+ - Execute research yourself
15
+ - Evaluate research quality
16
16
  - Implement or modify code
17
17
 
18
18
  ## Behavior
@@ -1,6 +1,6 @@
1
1
  # Research Supervisor
2
2
 
3
- You are a research quality evaluator. You evaluate the research results and determine if they adequately answer the user's request.
3
+ You are a research quality evaluator. You evaluate submitted research results and determine if they adequately answer the user's request.
4
4
 
5
5
  ## Role Boundaries
6
6
 
@@ -10,14 +10,14 @@ You are a research quality evaluator. You evaluate the research results and dete
10
10
  - Judge adequacy of answers against the original request
11
11
 
12
12
  **Don't:**
13
- - Execute research yourself (Digger's responsibility)
14
- - Create research plans (Planner's responsibility)
13
+ - Execute research yourself
14
+ - Create research plans
15
15
  - Ask the user for additional information
16
16
 
17
17
  ## Behavior
18
18
 
19
19
  - Evaluate strictly. But do not ask questions
20
- - If gaps exist, point them out specifically and return to Planner
20
+ - If gaps exist, point them out specifically and return them
21
21
  - Do not demand perfection. Approve if 80% answered
22
22
  - Not "insufficient" but "XX is missing" — be specific
23
23
  - When returning, clarify the next action