takt 0.32.2 → 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 (247) 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/review-test.md +3 -0
  4. package/builtins/en/facets/instructions/supervise.md +18 -10
  5. package/builtins/en/facets/instructions/write-tests-first.md +4 -0
  6. package/builtins/en/facets/output-contracts/summary.md +2 -5
  7. package/builtins/en/facets/output-contracts/supervisor-validation.md +12 -5
  8. package/builtins/en/facets/output-contracts/testing-review.md +1 -0
  9. package/builtins/en/facets/personas/ai-antipattern-reviewer.md +2 -2
  10. package/builtins/en/facets/personas/architect-planner.md +4 -4
  11. package/builtins/en/facets/personas/architecture-reviewer.md +1 -1
  12. package/builtins/en/facets/personas/coder.md +1 -1
  13. package/builtins/en/facets/personas/dual-supervisor.md +13 -0
  14. package/builtins/en/facets/personas/planner.md +4 -4
  15. package/builtins/en/facets/personas/qa-reviewer.md +3 -3
  16. package/builtins/en/facets/personas/requirements-reviewer.md +3 -3
  17. package/builtins/en/facets/personas/research-analyzer.md +5 -5
  18. package/builtins/en/facets/personas/research-digger.md +4 -4
  19. package/builtins/en/facets/personas/research-planner.md +2 -2
  20. package/builtins/en/facets/personas/research-supervisor.md +4 -4
  21. package/builtins/en/facets/personas/supervisor.md +14 -12
  22. package/builtins/en/facets/personas/test-planner.md +3 -3
  23. package/builtins/en/facets/personas/testing-reviewer.md +3 -3
  24. package/builtins/ja/INSTRUCTION_STYLE_GUIDE.md +1 -1
  25. package/builtins/ja/OUTPUT_CONTRACT_STYLE_GUIDE.md +1 -1
  26. package/builtins/ja/PERSONA_STYLE_GUIDE.md +11 -9
  27. package/builtins/ja/facets/instructions/gather-review.md +11 -7
  28. package/builtins/ja/facets/instructions/review-test.md +3 -0
  29. package/builtins/ja/facets/instructions/supervise.md +18 -10
  30. package/builtins/ja/facets/instructions/write-tests-first.md +4 -0
  31. package/builtins/ja/facets/output-contracts/summary.md +2 -5
  32. package/builtins/ja/facets/output-contracts/supervisor-validation.md +12 -5
  33. package/builtins/ja/facets/output-contracts/testing-review.md +1 -0
  34. package/builtins/ja/facets/personas/ai-antipattern-reviewer.md +2 -2
  35. package/builtins/ja/facets/personas/architect-planner.md +3 -3
  36. package/builtins/ja/facets/personas/architecture-reviewer.md +2 -2
  37. package/builtins/ja/facets/personas/cqrs-es-reviewer.md +3 -3
  38. package/builtins/ja/facets/personas/dual-supervisor.md +5 -2
  39. package/builtins/ja/facets/personas/frontend-reviewer.md +3 -3
  40. package/builtins/ja/facets/personas/planner.md +3 -3
  41. package/builtins/ja/facets/personas/qa-reviewer.md +3 -3
  42. package/builtins/ja/facets/personas/requirements-reviewer.md +3 -3
  43. package/builtins/ja/facets/personas/research-analyzer.md +5 -5
  44. package/builtins/ja/facets/personas/research-digger.md +4 -5
  45. package/builtins/ja/facets/personas/research-planner.md +2 -2
  46. package/builtins/ja/facets/personas/research-supervisor.md +4 -4
  47. package/builtins/ja/facets/personas/security-reviewer.md +1 -1
  48. package/builtins/ja/facets/personas/supervisor.md +19 -12
  49. package/builtins/ja/facets/personas/test-planner.md +3 -3
  50. package/builtins/ja/facets/personas/testing-reviewer.md +3 -3
  51. package/builtins/project/dotgitignore +11 -10
  52. package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
  53. package/dist/agents/decompose-task-usecase.js +3 -2
  54. package/dist/agents/decompose-task-usecase.js.map +1 -1
  55. package/dist/app/cli/commands.js +1 -1
  56. package/dist/app/cli/commands.js.map +1 -1
  57. package/dist/app/cli/helpers.js +1 -1
  58. package/dist/app/cli/helpers.js.map +1 -1
  59. package/dist/app/cli/program.d.ts.map +1 -1
  60. package/dist/app/cli/program.js +4 -2
  61. package/dist/app/cli/program.js.map +1 -1
  62. package/dist/app/cli/routing-inputs.d.ts.map +1 -1
  63. package/dist/app/cli/routing-inputs.js +12 -13
  64. package/dist/app/cli/routing-inputs.js.map +1 -1
  65. package/dist/app/cli/routing.d.ts.map +1 -1
  66. package/dist/app/cli/routing.js +20 -6
  67. package/dist/app/cli/routing.js.map +1 -1
  68. package/dist/core/config/provider-resolution.d.ts +26 -0
  69. package/dist/core/config/provider-resolution.d.ts.map +1 -0
  70. package/dist/core/config/provider-resolution.js +31 -0
  71. package/dist/core/config/provider-resolution.js.map +1 -0
  72. package/dist/core/models/config-types.d.ts +53 -0
  73. package/dist/core/models/config-types.d.ts.map +1 -1
  74. package/dist/core/models/piece-types.d.ts +3 -7
  75. package/dist/core/models/piece-types.d.ts.map +1 -1
  76. package/dist/core/models/piece-types.js +6 -1
  77. package/dist/core/models/piece-types.js.map +1 -1
  78. package/dist/core/models/schemas.d.ts +106 -1
  79. package/dist/core/models/schemas.d.ts.map +1 -1
  80. package/dist/core/models/schemas.js +37 -2
  81. package/dist/core/models/schemas.js.map +1 -1
  82. package/dist/core/models/vcs-types.d.ts +9 -0
  83. package/dist/core/models/vcs-types.d.ts.map +1 -0
  84. package/dist/core/models/vcs-types.js +8 -0
  85. package/dist/core/models/vcs-types.js.map +1 -0
  86. package/dist/core/piece/provider-resolution.d.ts +0 -5
  87. package/dist/core/piece/provider-resolution.d.ts.map +1 -1
  88. package/dist/core/piece/provider-resolution.js +1 -29
  89. package/dist/core/piece/provider-resolution.js.map +1 -1
  90. package/dist/core/provider-resolution.d.ts +16 -0
  91. package/dist/core/provider-resolution.d.ts.map +1 -0
  92. package/dist/core/provider-resolution.js +30 -0
  93. package/dist/core/provider-resolution.js.map +1 -0
  94. package/dist/core/runtime/runtime-environment.d.ts +1 -1
  95. package/dist/core/runtime/runtime-environment.d.ts.map +1 -1
  96. package/dist/core/runtime/runtime-environment.js +8 -4
  97. package/dist/core/runtime/runtime-environment.js.map +1 -1
  98. package/dist/features/interactive/assistantConfig.d.ts +3 -0
  99. package/dist/features/interactive/assistantConfig.d.ts.map +1 -0
  100. package/dist/features/interactive/assistantConfig.js +19 -0
  101. package/dist/features/interactive/assistantConfig.js.map +1 -0
  102. package/dist/features/interactive/conversationLogMeta.d.ts +13 -0
  103. package/dist/features/interactive/conversationLogMeta.d.ts.map +1 -0
  104. package/dist/features/interactive/conversationLogMeta.js +17 -0
  105. package/dist/features/interactive/conversationLogMeta.js.map +1 -0
  106. package/dist/features/interactive/conversationLoop.d.ts +0 -8
  107. package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
  108. package/dist/features/interactive/conversationLoop.js +9 -25
  109. package/dist/features/interactive/conversationLoop.js.map +1 -1
  110. package/dist/features/interactive/interactive.d.ts +5 -0
  111. package/dist/features/interactive/interactive.d.ts.map +1 -1
  112. package/dist/features/interactive/interactive.js +8 -17
  113. package/dist/features/interactive/interactive.js.map +1 -1
  114. package/dist/features/interactive/personaMode.js +2 -1
  115. package/dist/features/interactive/personaMode.js.map +1 -1
  116. package/dist/features/interactive/policyPrompt.d.ts +2 -0
  117. package/dist/features/interactive/policyPrompt.d.ts.map +1 -0
  118. package/dist/features/interactive/policyPrompt.js +16 -0
  119. package/dist/features/interactive/policyPrompt.js.map +1 -0
  120. package/dist/features/interactive/quietMode.js +2 -1
  121. package/dist/features/interactive/quietMode.js.map +1 -1
  122. package/dist/features/interactive/retryMode.d.ts.map +1 -1
  123. package/dist/features/interactive/retryMode.js +4 -12
  124. package/dist/features/interactive/retryMode.js.map +1 -1
  125. package/dist/features/interactive/sessionInitialization.d.ts +4 -0
  126. package/dist/features/interactive/sessionInitialization.d.ts.map +1 -0
  127. package/dist/features/interactive/sessionInitialization.js +27 -0
  128. package/dist/features/interactive/sessionInitialization.js.map +1 -0
  129. package/dist/features/pipeline/steps.d.ts +1 -1
  130. package/dist/features/pipeline/steps.d.ts.map +1 -1
  131. package/dist/features/pipeline/steps.js +6 -7
  132. package/dist/features/pipeline/steps.js.map +1 -1
  133. package/dist/features/tasks/add/index.d.ts +1 -1
  134. package/dist/features/tasks/add/index.js +7 -8
  135. package/dist/features/tasks/add/index.js.map +1 -1
  136. package/dist/features/tasks/add/issueTask.d.ts +1 -1
  137. package/dist/features/tasks/add/issueTask.js +2 -2
  138. package/dist/features/tasks/add/issueTask.js.map +1 -1
  139. package/dist/features/tasks/execute/postExecution.d.ts +2 -0
  140. package/dist/features/tasks/execute/postExecution.d.ts.map +1 -1
  141. package/dist/features/tasks/execute/postExecution.js +44 -13
  142. package/dist/features/tasks/execute/postExecution.js.map +1 -1
  143. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  144. package/dist/features/tasks/execute/taskExecution.js +19 -1
  145. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  146. package/dist/features/tasks/list/instructMode.d.ts.map +1 -1
  147. package/dist/features/tasks/list/instructMode.js +4 -12
  148. package/dist/features/tasks/list/instructMode.js.map +1 -1
  149. package/dist/features/tasks/list/taskSyncAction.d.ts.map +1 -1
  150. package/dist/features/tasks/list/taskSyncAction.js +3 -2
  151. package/dist/features/tasks/list/taskSyncAction.js.map +1 -1
  152. package/dist/infra/config/configNormalizers.d.ts +14 -1
  153. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  154. package/dist/infra/config/configNormalizers.js +45 -0
  155. package/dist/infra/config/configNormalizers.js.map +1 -1
  156. package/dist/infra/config/env/config-env-overrides.d.ts.map +1 -1
  157. package/dist/infra/config/env/config-env-overrides.js +24 -0
  158. package/dist/infra/config/env/config-env-overrides.js.map +1 -1
  159. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  160. package/dist/infra/config/global/globalConfigCore.js +23 -1
  161. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  162. package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
  163. package/dist/infra/config/global/globalConfigSerializer.js +23 -0
  164. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  165. package/dist/infra/config/loaders/pieceParser.d.ts +2 -2
  166. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  167. package/dist/infra/config/loaders/pieceParser.js +109 -6
  168. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  169. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  170. package/dist/infra/config/project/projectConfig.js +59 -48
  171. package/dist/infra/config/project/projectConfig.js.map +1 -1
  172. package/dist/infra/config/project/projectConfigTransforms.d.ts +21 -1
  173. package/dist/infra/config/project/projectConfigTransforms.d.ts.map +1 -1
  174. package/dist/infra/config/project/projectConfigTransforms.js +40 -0
  175. package/dist/infra/config/project/projectConfigTransforms.js.map +1 -1
  176. package/dist/infra/config/project/sessionStore.d.ts +8 -0
  177. package/dist/infra/config/project/sessionStore.d.ts.map +1 -1
  178. package/dist/infra/config/project/sessionStore.js +20 -0
  179. package/dist/infra/config/project/sessionStore.js.map +1 -1
  180. package/dist/infra/config/resolveConfigValue.d.ts.map +1 -1
  181. package/dist/infra/config/resolveConfigValue.js +1 -0
  182. package/dist/infra/config/resolveConfigValue.js.map +1 -1
  183. package/dist/infra/git/constants.d.ts +5 -0
  184. package/dist/infra/git/constants.d.ts.map +1 -0
  185. package/dist/infra/git/constants.js +5 -0
  186. package/dist/infra/git/constants.js.map +1 -0
  187. package/dist/infra/git/detect.d.ts +18 -0
  188. package/dist/infra/git/detect.d.ts.map +1 -0
  189. package/dist/infra/git/detect.js +61 -0
  190. package/dist/infra/git/detect.js.map +1 -0
  191. package/dist/infra/git/format.d.ts +50 -0
  192. package/dist/infra/git/format.d.ts.map +1 -0
  193. package/dist/infra/git/format.js +133 -0
  194. package/dist/infra/git/format.js.map +1 -0
  195. package/dist/infra/git/index.d.ts +32 -1
  196. package/dist/infra/git/index.d.ts.map +1 -1
  197. package/dist/infra/git/index.js +85 -1
  198. package/dist/infra/git/index.js.map +1 -1
  199. package/dist/infra/git/types.d.ts +6 -4
  200. package/dist/infra/git/types.d.ts.map +1 -1
  201. package/dist/infra/github/index.d.ts +1 -2
  202. package/dist/infra/github/index.d.ts.map +1 -1
  203. package/dist/infra/github/index.js +1 -2
  204. package/dist/infra/github/index.js.map +1 -1
  205. package/dist/infra/github/issue.d.ts +3 -49
  206. package/dist/infra/github/issue.d.ts.map +1 -1
  207. package/dist/infra/github/issue.js +0 -93
  208. package/dist/infra/github/issue.js.map +1 -1
  209. package/dist/infra/github/pr.d.ts +1 -10
  210. package/dist/infra/github/pr.d.ts.map +1 -1
  211. package/dist/infra/github/pr.js +20 -66
  212. package/dist/infra/github/pr.js.map +1 -1
  213. package/dist/infra/gitlab/GitLabProvider.d.ts +18 -0
  214. package/dist/infra/gitlab/GitLabProvider.d.ts.map +1 -0
  215. package/dist/infra/gitlab/GitLabProvider.js +34 -0
  216. package/dist/infra/gitlab/GitLabProvider.js.map +1 -0
  217. package/dist/infra/gitlab/index.d.ts +5 -0
  218. package/dist/infra/gitlab/index.d.ts.map +1 -0
  219. package/dist/infra/gitlab/index.js +5 -0
  220. package/dist/infra/gitlab/index.js.map +1 -0
  221. package/dist/infra/gitlab/issue.d.ts +20 -0
  222. package/dist/infra/gitlab/issue.d.ts.map +1 -0
  223. package/dist/infra/gitlab/issue.js +64 -0
  224. package/dist/infra/gitlab/issue.js.map +1 -0
  225. package/dist/infra/gitlab/pr.d.ts +27 -0
  226. package/dist/infra/gitlab/pr.d.ts.map +1 -0
  227. package/dist/infra/gitlab/pr.js +138 -0
  228. package/dist/infra/gitlab/pr.js.map +1 -0
  229. package/dist/infra/gitlab/utils.d.ts +20 -0
  230. package/dist/infra/gitlab/utils.d.ts.map +1 -0
  231. package/dist/infra/gitlab/utils.js +61 -0
  232. package/dist/infra/gitlab/utils.js.map +1 -0
  233. package/dist/infra/task/autoCommit.d.ts +2 -0
  234. package/dist/infra/task/autoCommit.d.ts.map +1 -1
  235. package/dist/infra/task/autoCommit.js +24 -7
  236. package/dist/infra/task/autoCommit.js.map +1 -1
  237. package/dist/infra/task/git.d.ts +4 -0
  238. package/dist/infra/task/git.d.ts.map +1 -1
  239. package/dist/infra/task/git.js +10 -0
  240. package/dist/infra/task/git.js.map +1 -1
  241. package/dist/shared/i18n/labels_en.yaml +1 -1
  242. package/dist/shared/i18n/labels_ja.yaml +1 -1
  243. package/package.json +1 -1
  244. package/dist/infra/github/types.d.ts +0 -5
  245. package/dist/infra/github/types.d.ts.map +0 -1
  246. package/dist/infra/github/types.js +0 -5
  247. 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")
@@ -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):**
@@ -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
@@ -8,15 +8,16 @@ you verify "**was the right thing built (Validation)**".
8
8
  ## Role
9
9
 
10
10
  - Verify that requirements are met
11
- - **Actually run the code to confirm**
11
+ - Verify execution evidence for tests, builds, and main flows
12
12
  - Check edge cases and error cases
13
13
  - Verify no regressions
14
14
  - Final check of Definition of Done
15
15
 
16
16
  **Don't:**
17
- - Review code quality (→ Architect's job)
18
- - Judge design appropriateness (→ Architect's job)
19
- - Fix code (→ Coder's job)
17
+ - Review code quality
18
+ - Judge design appropriateness
19
+ - Fix code
20
+ - Re-run tests or builds
20
21
 
21
22
  ## Human-in-the-Loop Checkpoint
22
23
 
@@ -43,18 +44,18 @@ You are the **human proxy** in the automated piece. Before approval, verify the
43
44
  - Are implicit requirements (naturally expected behavior) met?
44
45
  - "Mostly done" or "main parts complete" is NOT grounds for APPROVE. All requirements must be fulfilled
45
46
 
46
- **Note**: Don't take Coder's "complete" at face value. Actually verify.
47
+ **Note**: Don't take completion claims at face value. Actually verify.
47
48
 
48
- ### 2. Operation Check (Actually Run)
49
+ ### 2. Operation Check (Verify Evidence)
49
50
 
50
51
  | Check Item | Method |
51
52
  |------------|--------|
52
- | Tests | Run `pytest`, `npm test`, etc. |
53
- | Build | Run `npm run build`, `./gradlew build`, etc. |
54
- | Startup | Verify app starts |
55
- | Main flows | Manually verify main use cases |
53
+ | Tests | Verify logs/results from `pytest`, `npm test`, etc. |
54
+ | Build | Verify logs/results from `npm run build`, `./gradlew build`, etc. |
55
+ | Startup | Verify startup evidence from logs or reports |
56
+ | Main flows | Verify manual or automated evidence for the main use cases |
56
57
 
57
- **Important**: Verify "tests pass", not just "tests exist".
58
+ **Important**: Verify that evidence shows tests passed, not just that tests exist.
58
59
 
59
60
  ### 3. Edge Cases & Error Cases
60
61
 
@@ -109,9 +110,10 @@ Additions can be reverted, but restoring deleted flows is difficult.
109
110
 
110
111
  ## Important
111
112
 
112
- - **Actually run**: Don't just look at files, execute and verify
113
+ - **Verify evidence**: Don't just look at files. Cross-check logs, reports, and results
113
114
  - **Compare with requirements**: Re-read original task requirements, check for gaps
114
115
  - **Don't take at face value**: Don't trust "done", verify yourself
115
116
  - **Be specific**: Clarify "what" is "how" problematic
117
+ - **Do not infer command outcomes**: If there is no evidence, mark it unverified rather than guessing
116
118
 
117
119
  **Remember**: You are the final gatekeeper. What passes through here reaches the user. Don't let "probably fine" pass.
@@ -12,9 +12,9 @@ You are a **test analysis and planning specialist**. You understand the behavior
12
12
  - Provide concrete guidelines for test implementers
13
13
 
14
14
  **Don't:**
15
- - Plan production code changes (Planner's job)
16
- - Implement test code (Coder's job)
17
- - Review code (Reviewer's job)
15
+ - Plan production code changes
16
+ - Implement test code
17
+ - Review code
18
18
 
19
19
  ## Behavioral Principles
20
20
 
@@ -13,9 +13,9 @@ You are a test code quality specialist. You evaluate test structure, naming, cov
13
13
  - Evaluate test strategy (unit/integration/E2E selection)
14
14
 
15
15
  **Don't:**
16
- - Review error handling or logging (QA Reviewer's job)
17
- - Review security concerns (Security Reviewer's job)
18
- - Review architecture decisions (Architecture Reviewer's job)
16
+ - Review error handling or logging
17
+ - Review security concerns
18
+ - Review architecture decisions
19
19
  - Write code yourself
20
20
 
21
21
  ## Behavioral Principles
@@ -115,7 +115,7 @@ InstructionBuilder が `instruction` 内の `{変数名}` を展開する。イ
115
115
  タスクを分析し、実装方針を立ててください。
116
116
 
117
117
  # 良い例
118
- テスト実行、ビルド確認、最終承認を行ってください。
118
+ 実行済みの証跡を確認し、最終承認を行ってください。
119
119
 
120
120
  # 悪い例
121
121
  このムーブメントではタスクの分析を行います。 ← 説明文になっている
@@ -225,7 +225,7 @@ Phase 2 はツール使用不可。エージェントは Phase 1 のセッショ
225
225
  ### サマリー系(summary)
226
226
 
227
227
  - 結果ステータス: 固定値「完了」
228
- - セクション構造: タスク → 結果 → 変更内容テーブル → 確認コマンド
228
+ - セクション構造: タスク → 結果 → 変更内容テーブル → 検証証跡
229
229
  - ピースの最終出力として使用
230
230
 
231
231
  ---
@@ -99,18 +99,19 @@
99
99
  ### 役割の境界(必須)
100
100
 
101
101
  - 「やること」「やらないこと」を箇条書きで列挙
102
- - 「やらないこと」には担当エージェント名を明記する
102
+ - 他エージェント名やムーブメント名に依存せず、そのペルソナ単体で責務境界が読めるようにする
103
103
  - 他のエージェントの責務を侵食しないことを明示
104
104
 
105
105
  ```markdown
106
106
  # 良い例
107
107
  **やらないこと:**
108
- - セキュリティ脆弱性のレビュー(Security Reviewerの仕事)
109
- - AI特有のパターン検出(AI Antipattern Reviewerが担当)
108
+ - セキュリティ脆弱性のレビュー
109
+ - AI特有のパターン検出
110
110
 
111
111
  # 悪い例
112
112
  **やらないこと:**
113
- - セキュリティのレビュー ← 誰が担当か不明
113
+ - 他の役割にエスカレーションする
114
+ - 別の担当に修正させる
114
115
  ```
115
116
 
116
117
  ### 行動姿勢(必須)
@@ -146,7 +147,7 @@
146
147
  | DO | DON'T |
147
148
  |----|-------|
148
149
  | ロール定義は1-2文で簡潔に | 長い自己紹介を書く |
149
- | 他エージェントの担当を「やらないこと」に明記 | 責務の境界を曖昧にする |
150
+ | 他エージェント名を書かずに責務境界を明確にする | 他エージェントやムーブメントへの依存を書く |
150
151
  | ドメイン知識はテーブルとコード例で具体的に | 抽象的な原則だけ並べる |
151
152
  | そのエージェント固有の知識のみ記載 | ポリシーの詳細ルール(コード例・テーブル)を転記 |
152
153
  | 行動姿勢に1行の行動指針としてポリシーと同じ概念を記載 | 汎用的なコーディングルールの詳細を混ぜる |
@@ -156,9 +157,10 @@
156
157
  ## ペルソナに書いてはいけないもの
157
158
 
158
159
  1. **ポリシーの詳細ルール**: コード例・判定基準・例外リスト等の詳細はポリシーの責務(1行の行動指針は行動姿勢に記載してよい)
159
- 2. **ピース固有の概念**: ムーブメント名、レポートファイル名、ステップ間ルーティング
160
- 3. **ツール固有の環境情報**: `.takt/runs/` 等のディレクトリパス、テンプレート変数(`{report_dir}` 等)
161
- 4. **実行手順**: 「まず〜を読み、次に〜を実行」のような手順は instruction の責務
160
+ 2. **他エージェント・他ムーブメントへの依存**: エージェント名、ムーブメント名、担当の受け渡し、連携前提の説明
161
+ 3. **ピース固有の概念**: ムーブメント名、レポートファイル名、ステップ間ルーティング
162
+ 4. **ツール固有の環境情報**: `.takt/runs/` 等のディレクトリパス、テンプレート変数(`{report_dir}` 等)
163
+ 5. **実行手順**: 「まず〜を読み、次に〜を実行」のような手順は instruction の責務
162
164
 
163
165
  ### 例外: ドメイン知識としての重複
164
166
 
@@ -220,7 +222,7 @@
220
222
 
221
223
  - [ ] ロール定義が1-2文で書かれているか
222
224
  - [ ] 「やること」「やらないこと」が明確に分かれているか
223
- - [ ] 「やらないこと」に担当エージェント名が書かれているか
225
+ - [ ] 他エージェント名やムーブメント名に依存せず、責務境界が読めるか
224
226
  - [ ] 行動姿勢がポリシーの詳細ルール(コード例・テーブル・例外リスト)を転記していないか(1行の行動指針はOK)
225
227
  - [ ] ドメイン知識がそのエージェント固有のものか
226
228
  - [ ] ピース固有の概念(ムーブメント名、レポートファイル名等)が含まれていないか
@@ -17,14 +17,18 @@
17
17
  - Issue のタイトル・説明・ラベル・コメントを収集する
18
18
 
19
19
  ### モード2: ブランチモード
20
- **判定条件:** タスクテキストが `git branch -a` の出力に含まれるブランチ名と一致する場合。`feature/auth` のように `/` を含むものだけでなく、`develop`、`release-v2`、`hotfix-login` 等のブランチ名も対象。判定に迷ったら `git branch -a | grep {テキスト}` で確認する。
20
+ **判定条件:** タスクテキストを正規化した結果が、`git branch -a` の出力に含まれる1つのブランチ名と完全一致する場合。`feature/auth` のように `/` を含むものだけでなく、`develop`、`release-v2`、`hotfix-login` 等のブランチ名も対象。
21
21
  **手順:**
22
- 1. ベースブランチを特定する(デフォルト: `main`、フォールバック: `master`)
23
- 2. `git log {base}..{branch} --oneline` でコミット履歴を取得
24
- 3. `git diff {base}...{branch}` で差分を取得
25
- 4. 変更ファイル一覧をまとめる
26
- 5. コミットメッセージから目的を抽出する
27
- 6. ブランチに対応するPRがあれば `gh pr list --head {branch}` で取得する
22
+ 1. `git branch -a` を実行し、出力されたブランチ一覧を自分で確認する。生のタスクテキストをシェルコマンドに埋め込んではならない。
23
+ 2. 正規化は、前後の空白除去、全体を囲む引用符/バッククォートの除去、先頭の `origin/` 除去までに限定する。それ以外の推測・部分一致・あいまい一致は行わない。
24
+ 3. 正規化後の文字列がブランチ一覧中の1つのブランチ名と完全一致した場合のみ、そのブランチを採用する。
25
+ 4. 完全一致しない場合、複数候補に見える場合、説明文の一部にブランチ名が埋まっているだけの場合は推測せず、現在の差分モードにフォールバックする。
26
+ 5. ベースブランチを特定する(デフォルト: `main`、フォールバック: `master`)
27
+ 6. 手順3で確定したブランチ名だけを使って `git log {base}..{branch} --oneline` でコミット履歴を取得
28
+ 7. 手順3で確定したブランチ名だけを使って `git diff {base}...{branch}` で差分を取得
29
+ 8. 変更ファイル一覧をまとめる
30
+ 9. コミットメッセージから目的を抽出する
31
+ 10. ブランチに対応するPRがあれば、手順3で確定したブランチ名だけを使って `gh pr list --head {branch}` で取得する
28
32
 
29
33
  ### モード3: 現在の差分モード
30
34
  **判定条件:** モード1・モード2に該当しない場合(例: "今の差分を見て"、"現在の変更をレビュー"、"直近のコミット"、"直近3コミット")
@@ -6,6 +6,8 @@
6
6
  - テスト命名規約
7
7
  - 過不足(不要なテスト、足りないケース)
8
8
  - モック・フィクスチャの適切さ
9
+ - 外部契約がある場合、request body / query / path の入力位置が契約どおりに検証されているか
10
+ - レスポンス標準の envelope を request 契約へ誤って流用する実装を検出できるテストになっているか
9
11
 
10
12
 
11
13
  **設計判断の参照:**
@@ -18,3 +20,4 @@
18
20
  1. Report Directory内のテスト計画・テストスコープに関するレポートと実装されたテストを突合する
19
21
  2. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
20
22
  3. ブロッキング問題が1件でもあればREJECTと判定する
23
+ 4. 外部契約があるのに入力位置(root body / query / path)の検証が欠けていれば、原則としてカバレッジ不足として扱う