phasegate 0.16.0 → 0.31.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 (215) hide show
  1. package/README.ja.md +71 -39
  2. package/README.md +69 -9
  3. package/docs/ADR/ADR-013-story-reflection-gate.md +100 -0
  4. package/docs/guide/configuration.md +244 -7
  5. package/package.json +4 -2
  6. package/scripts/harness/adr-foundation/domain/ports/adr-document-parser-port.ts +1 -0
  7. package/scripts/harness/adr-foundation/domain/ports/adr-frontmatter-parser-port.ts +1 -0
  8. package/scripts/harness/adr-foundation/domain/ports/adr-repository-port.ts +1 -0
  9. package/scripts/harness/adr-foundation/domain/value-objects/adr-status.ts +6 -6
  10. package/scripts/harness/agent-integration/application/dto/handle-pre-tool-use-dto.ts +3 -1
  11. package/scripts/harness/agent-integration/application/usecases/handle-pre-tool-use-usecase.ts +108 -2
  12. package/scripts/harness/agent-integration/domain/ports/config-query-port.ts +2 -0
  13. package/scripts/harness/agent-integration/domain/ports/phase-gate-query-port.ts +1 -1
  14. package/scripts/harness/agent-integration/domain/ports/story-reflection-query-port.ts +8 -0
  15. package/scripts/harness/agent-integration/domain/services/bash-write-target-extractor.ts +258 -0
  16. package/scripts/harness/agent-integration/domain/services/hook-to-cli-translator.ts +21 -4
  17. package/scripts/harness/agent-integration/domain/value-objects/protected-file-list.ts +20 -0
  18. package/scripts/harness/agent-integration/domain/value-objects/story-reflection-query-result.ts +63 -0
  19. package/scripts/harness/agent-integration/infrastructure/adapters/file-system-story-reflection-query-adapter.ts +122 -0
  20. package/scripts/harness/agent-integration/infrastructure/adapters/harness-config-config-query-adapter.ts +20 -0
  21. package/scripts/harness/agent-integration/infrastructure/adapters/phase-gate-query-adapter.ts +17 -3
  22. package/scripts/harness/agent-integration/presentation/pre-tool-use-hook.ts +29 -2
  23. package/scripts/harness/biome-ast-engine/domain/services/lint-runner.ts +24 -0
  24. package/scripts/harness/biome-ast-engine/domain/services/rule-definition-registry.ts +1 -1
  25. package/scripts/harness/biome-ast-engine/domain/value-objects/source-module-snapshot.ts +5 -2
  26. package/scripts/harness/biome-ast-engine/infrastructure/adapters/node-workspace-file-adapter.ts +1 -1
  27. package/scripts/harness/biome-ast-engine/infrastructure/adapters/typescript-source-module-analyzer-adapter.ts +1 -1
  28. package/scripts/harness/biome-ast-engine/infrastructure/parsers/unit-comment-parser.ts +12 -7
  29. package/scripts/harness/ci-governance/composition-root.ts +1 -0
  30. package/scripts/harness/config-foundation/application/mappers/phase-config-section-mapper.ts +44 -0
  31. package/scripts/harness/config-foundation/application/usecases/load-resolved-config-use-case.ts +20 -1
  32. package/scripts/harness/config-foundation/domain/harness-config.ts +2 -1
  33. package/scripts/harness/config-foundation/domain/value-objects/phase-dependencies-config.ts +18 -4
  34. package/scripts/harness/config-foundation/infrastructure/schemas/harness-config-v2.schema.json +185 -10
  35. package/scripts/harness/config-foundation/infrastructure/validators/ajv-config-schema-validator.ts +2 -1
  36. package/scripts/harness/harness-api/application/dto/command-dispatch-input.ts +1 -0
  37. package/scripts/harness/harness-api/application/dto/command-dispatch-output.ts +1 -0
  38. package/scripts/harness/harness-api/application/dto/exit-code-decision-input.ts +1 -0
  39. package/scripts/harness/harness-api/application/dto/exit-code-decision-output.ts +1 -0
  40. package/scripts/harness/harness-api/application/dto/harness-api-response-contract.ts +1 -0
  41. package/scripts/harness/harness-api/application/dto/initialize-registry-input.ts +1 -0
  42. package/scripts/harness/harness-api/application/dto/registry-summary-output.ts +1 -0
  43. package/scripts/harness/harness-api/application/dto/status-derivation-input.ts +1 -0
  44. package/scripts/harness/harness-api/application/mappers/harness-api-response-mapper.ts +1 -0
  45. package/scripts/harness/harness-api/application/usecases/decide-exit-code-usecase.ts +1 -0
  46. package/scripts/harness/harness-api/application/usecases/derive-harness-status-usecase.ts +1 -0
  47. package/scripts/harness/harness-api/application/usecases/dispatch-command-usecase.ts +1 -0
  48. package/scripts/harness/harness-api/application/usecases/initialize-command-registry-usecase.ts +1 -0
  49. package/scripts/harness/harness-api/composition-root.ts +1 -0
  50. package/scripts/harness/harness-api/domain/ports/artifact-scanner-port.ts +1 -0
  51. package/scripts/harness/harness-api/domain/ports/biome-lint-port.ts +1 -0
  52. package/scripts/harness/harness-api/domain/ports/config-query-port.ts +1 -0
  53. package/scripts/harness/harness-api/domain/ports/impact-analysis-port.ts +1 -0
  54. package/scripts/harness/harness-api/domain/ports/phase-gate-query-port.ts +1 -0
  55. package/scripts/harness/harness-api/domain/ports/validator-execution-port.ts +1 -0
  56. package/scripts/harness/harness-api/domain/services/command-dispatch-service.ts +1 -0
  57. package/scripts/harness/harness-api/domain/services/command-registry.ts +1 -0
  58. package/scripts/harness/harness-api/domain/services/status-derivation-service.ts +1 -0
  59. package/scripts/harness/harness-api/domain/value-objects/artifact-scan-result.ts +1 -0
  60. package/scripts/harness/harness-api/domain/value-objects/check-ready-result.ts +1 -0
  61. package/scripts/harness/harness-api/domain/value-objects/ci-check-result.ts +1 -0
  62. package/scripts/harness/harness-api/domain/value-objects/cli-command-definition.ts +1 -0
  63. package/scripts/harness/harness-api/domain/value-objects/command-input-spec.ts +1 -0
  64. package/scripts/harness/harness-api/domain/value-objects/drift-report-summary.ts +1 -0
  65. package/scripts/harness/harness-api/domain/value-objects/exit-code-spec.ts +1 -0
  66. package/scripts/harness/harness-api/domain/value-objects/harness-api-response.ts +1 -0
  67. package/scripts/harness/harness-api/domain/value-objects/harness-status-summary.ts +1 -0
  68. package/scripts/harness/harness-api/domain/value-objects/layer-health.ts +1 -0
  69. package/scripts/harness/harness-api/domain/value-objects/phase-info.ts +1 -0
  70. package/scripts/harness/harness-api/index.ts +1 -0
  71. package/scripts/harness/harness-api/infrastructure/adapters/biome-ast-engine-lint-adapter.ts +1 -0
  72. package/scripts/harness/harness-api/infrastructure/adapters/file-system-artifact-scanner-adapter.ts +1 -0
  73. package/scripts/harness/harness-api/infrastructure/adapters/harness-config-query-adapter.ts +1 -0
  74. package/scripts/harness/harness-api/infrastructure/adapters/nyquist-validation-impact-analysis-adapter.ts +1 -0
  75. package/scripts/harness/harness-api/infrastructure/adapters/phase-dependency-model-query-adapter.ts +1 -0
  76. package/scripts/harness/harness-api/infrastructure/adapters/validator-system-execution-adapter.ts +1 -0
  77. package/scripts/harness/harness-api/presentation/dto/cli-output-options.ts +1 -0
  78. package/scripts/harness/harness-api/presentation/formatters/harness-api-json-formatter.ts +1 -0
  79. package/scripts/harness/harness-api/presentation/handlers/check-phase-handler.ts +1 -0
  80. package/scripts/harness/harness-api/presentation/handlers/check-ready-handler.ts +1 -0
  81. package/scripts/harness/harness-api/presentation/handlers/ci-check-handler.ts +1 -0
  82. package/scripts/harness/harness-api/presentation/handlers/complete-check-handler.ts +1 -0
  83. package/scripts/harness/harness-api/presentation/handlers/detect-drift-handler.ts +1 -0
  84. package/scripts/harness/harness-api/presentation/handlers/impact-analysis-handler.ts +1 -0
  85. package/scripts/harness/harness-api/presentation/handlers/lint-handler.ts +1 -0
  86. package/scripts/harness/harness-api/presentation/handlers/status-handler.ts +1 -0
  87. package/scripts/harness/harness-error/infrastructure/adapters/legacy-error-reporter-adapter.ts +7 -1
  88. package/scripts/harness/integrations/pre-commit.ts +1 -0
  89. package/scripts/harness/main.ts +154 -34
  90. package/scripts/harness/phase-dependency-model/application/dto/resolve-gate-result-dto.ts +14 -0
  91. package/scripts/harness/phase-dependency-model/application/services/phase-gate-result-mapper.ts +20 -0
  92. package/scripts/harness/phase-dependency-model/application/usecases/check-story-reflection-usecase.ts +42 -0
  93. package/scripts/harness/phase-dependency-model/application/usecases/resolve-gate-usecase.ts +161 -0
  94. package/scripts/harness/phase-dependency-model/composition-root.ts +57 -1
  95. package/scripts/harness/phase-dependency-model/domain/definitions/{default-phase-dependencies.ts → full-phase-dependencies.ts} +3 -3
  96. package/scripts/harness/phase-dependency-model/domain/definitions/{default-phase-nodes.ts → full-phase-nodes.ts} +1 -1
  97. package/scripts/harness/phase-dependency-model/domain/definitions/full-story-reflection-defaults.ts +28 -0
  98. package/scripts/harness/phase-dependency-model/domain/definitions/minimal-phase-dependencies.ts +32 -0
  99. package/scripts/harness/phase-dependency-model/domain/definitions/minimal-phase-nodes.ts +50 -0
  100. package/scripts/harness/phase-dependency-model/domain/definitions/minimal-story-reflection-defaults.ts +8 -0
  101. package/scripts/harness/phase-dependency-model/domain/definitions/standard-phase-dependencies.ts +39 -0
  102. package/scripts/harness/phase-dependency-model/domain/definitions/standard-phase-nodes.ts +118 -0
  103. package/scripts/harness/phase-dependency-model/domain/definitions/standard-story-reflection-defaults.ts +23 -0
  104. package/scripts/harness/phase-dependency-model/domain/models/phase-structure.ts +95 -23
  105. package/scripts/harness/phase-dependency-model/domain/ports/glob-matcher-port.ts +8 -0
  106. package/scripts/harness/phase-dependency-model/domain/ports/phase-config-provider-port.ts +2 -0
  107. package/scripts/harness/phase-dependency-model/domain/ports/story-annotation-verifier-port.ts +14 -0
  108. package/scripts/harness/phase-dependency-model/domain/ports/story-reflection-file-system-port.ts +16 -0
  109. package/scripts/harness/phase-dependency-model/domain/services/gate-graph.ts +223 -0
  110. package/scripts/harness/phase-dependency-model/domain/services/story-reflection-checker.ts +66 -0
  111. package/scripts/harness/phase-dependency-model/domain/values/gate-definition.ts +127 -0
  112. package/scripts/harness/phase-dependency-model/domain/values/gate-name.ts +40 -0
  113. package/scripts/harness/phase-dependency-model/domain/values/gate-story-annotation.ts +39 -0
  114. package/scripts/harness/phase-dependency-model/domain/values/phase-customization-policy.ts +16 -4
  115. package/scripts/harness/phase-dependency-model/domain/values/story-reflection-config.ts +44 -0
  116. package/scripts/harness/phase-dependency-model/domain/values/story-reflection-mapping.ts +91 -0
  117. package/scripts/harness/phase-dependency-model/domain/values/story-reflection-result.ts +55 -0
  118. package/scripts/harness/phase-dependency-model/infrastructure/adapters/picomatch-glob-matcher.ts +17 -0
  119. package/scripts/harness/phase-dependency-model/infrastructure/adapters/story-annotation-verifier-adapter.ts +46 -0
  120. package/scripts/harness/phase-dependency-model/infrastructure/config/custom-gates-config-parser.ts +22 -0
  121. package/scripts/harness/phase-dependency-model/infrastructure/config/harness-config-phase-config-provider.ts +78 -2
  122. package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +94 -0
  123. package/scripts/harness/phase-dependency-model/presentation/cli/check-phase-gate-command-handler.ts +12 -4
  124. package/scripts/harness/phase-dependency-model/presentation/cli/story-reflection-status-presenter.ts +87 -0
  125. package/scripts/harness/regression-suite/application/dto/analyze-migration-input.ts +1 -0
  126. package/scripts/harness/regression-suite/application/dto/analyze-migration-output.ts +1 -0
  127. package/scripts/harness/regression-suite/application/dto/configure-ci-gate-input.ts +1 -0
  128. package/scripts/harness/regression-suite/application/dto/configure-ci-gate-output.ts +1 -0
  129. package/scripts/harness/regression-suite/application/dto/migrate-v0-tests-input.ts +1 -0
  130. package/scripts/harness/regression-suite/application/dto/migrate-v0-tests-output.ts +1 -0
  131. package/scripts/harness/regression-suite/application/dto/run-regression-suite-input.ts +1 -0
  132. package/scripts/harness/regression-suite/application/dto/run-regression-suite-output.ts +1 -0
  133. package/scripts/harness/regression-suite/application/mappers/migration-mapping-mapper.ts +1 -0
  134. package/scripts/harness/regression-suite/application/mappers/test-execution-summary-mapper.ts +1 -0
  135. package/scripts/harness/regression-suite/application/usecases/analyze-v0-migration-usecase.ts +1 -0
  136. package/scripts/harness/regression-suite/application/usecases/configure-ci-gate-usecase.ts +1 -0
  137. package/scripts/harness/regression-suite/application/usecases/migrate-v0-tests-usecase.ts +1 -0
  138. package/scripts/harness/regression-suite/application/usecases/run-agent-independence-guard-usecase.ts +1 -0
  139. package/scripts/harness/regression-suite/application/usecases/run-gng-gate-regression-usecase.ts +1 -0
  140. package/scripts/harness/regression-suite/application/usecases/run-k-requirements-regression-usecase.ts +1 -0
  141. package/scripts/harness/regression-suite/application/usecases/run-k14-k15-regression-usecase.ts +1 -0
  142. package/scripts/harness/regression-suite/composition-root.ts +1 -0
  143. package/scripts/harness/regression-suite/domain/aggregates/v0-test-migration.ts +1 -0
  144. package/scripts/harness/regression-suite/domain/ports/ci-gate-result-writer-port.ts +1 -0
  145. package/scripts/harness/regression-suite/domain/ports/config-query-port.ts +1 -0
  146. package/scripts/harness/regression-suite/domain/ports/import-analyzer-port.ts +1 -0
  147. package/scripts/harness/regression-suite/domain/ports/migration-mapping-repository-port.ts +1 -0
  148. package/scripts/harness/regression-suite/domain/ports/suite-registry-port.ts +1 -0
  149. package/scripts/harness/regression-suite/domain/ports/test-runner-port.ts +1 -0
  150. package/scripts/harness/regression-suite/domain/ports/v0-spec-reader-port.ts +1 -0
  151. package/scripts/harness/regression-suite/domain/services/import-guard-service.ts +1 -0
  152. package/scripts/harness/regression-suite/domain/services/migration-analyzer.ts +1 -0
  153. package/scripts/harness/regression-suite/domain/services/regression-runner.ts +1 -0
  154. package/scripts/harness/regression-suite/domain/value-objects/agent-independence-test.ts +1 -0
  155. package/scripts/harness/regression-suite/domain/value-objects/biome-modification-spec.ts +1 -0
  156. package/scripts/harness/regression-suite/domain/value-objects/ci-gate-config.ts +1 -0
  157. package/scripts/harness/regression-suite/domain/value-objects/coverage-rate.ts +1 -0
  158. package/scripts/harness/regression-suite/domain/value-objects/gng-condition-test.ts +1 -0
  159. package/scripts/harness/regression-suite/domain/value-objects/import-violation.ts +1 -0
  160. package/scripts/harness/regression-suite/domain/value-objects/k-requirement-test.ts +1 -0
  161. package/scripts/harness/regression-suite/domain/value-objects/migration-mapping.ts +1 -0
  162. package/scripts/harness/regression-suite/domain/value-objects/regression-suite-definition.ts +1 -0
  163. package/scripts/harness/regression-suite/domain/value-objects/suite-id.ts +1 -0
  164. package/scripts/harness/regression-suite/domain/value-objects/test-execution-summary.ts +1 -0
  165. package/scripts/harness/regression-suite/domain/value-objects/test-failure-detail.ts +1 -0
  166. package/scripts/harness/regression-suite/domain/value-objects/v0-test-id.ts +1 -0
  167. package/scripts/harness/regression-suite/domain/value-objects/v1-test-path.ts +1 -0
  168. package/scripts/harness/regression-suite/infrastructure/adapters/biome-ast-import-analyzer-adapter.ts +1 -0
  169. package/scripts/harness/regression-suite/infrastructure/adapters/file-system-v0-spec-reader-adapter.ts +1 -0
  170. package/scripts/harness/regression-suite/infrastructure/adapters/harness-config-query-adapter.ts +1 -0
  171. package/scripts/harness/regression-suite/infrastructure/adapters/json-ci-gate-result-writer-adapter.ts +1 -0
  172. package/scripts/harness/regression-suite/infrastructure/adapters/markdown-migration-mapping-repository-adapter.ts +1 -0
  173. package/scripts/harness/regression-suite/infrastructure/adapters/static-suite-registry-adapter.ts +1 -0
  174. package/scripts/harness/regression-suite/infrastructure/adapters/vitest-test-runner-adapter.ts +1 -0
  175. package/scripts/harness/regression-suite/infrastructure/registry/agent-independence-suite-definition.ts +1 -0
  176. package/scripts/harness/regression-suite/infrastructure/registry/gng-gate-suite-definition.ts +1 -0
  177. package/scripts/harness/regression-suite/infrastructure/registry/k-requirements-suite-definition.ts +1 -0
  178. package/scripts/harness/regression-suite/infrastructure/registry/v0-migration-suite-definition.ts +1 -0
  179. package/scripts/harness/setup/skill-deployer.ts +82 -5
  180. package/scripts/harness/shared-kernel/harness-api.ts +1 -0
  181. package/scripts/harness/skill-quality/composition-root.ts +1 -0
  182. package/scripts/harness/skill-quality/infrastructure/adapters/ajv-lesson-artifact-schema-adapter.ts +5 -4
  183. package/scripts/harness/traceability-model/domain/services/metadata-validator.ts +12 -10
  184. package/scripts/harness/traceability-model/infrastructure/parsers/source-metadata-parser.ts +16 -2
  185. package/skills/cascade-updater/SKILL.md +16 -3
  186. package/skills/codebase-mapper/SKILL.md +9 -9
  187. package/skills/codex-delegator/SKILL.md +5 -56
  188. package/skills/consistency-checker/SKILL.md +5 -9
  189. package/skills/consistency-checker/references//343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +6 -3
  190. package/skills/doc-freshness-checker/SKILL.md +6 -6
  191. package/skills/engineering-perspective/SKILL.md +2 -58
  192. package/skills/engineering-perspective/references/domain-model.md +4 -135
  193. package/skills/implementation-readiness-checker/SKILL.md +18 -72
  194. package/skills/it-test-designer/SKILL.md +25 -161
  195. package/skills/it-test-designer/references/it-test-design-template.md +131 -0
  196. package/skills/it-test-logic-designer/SKILL.md +13 -388
  197. package/skills/it-test-logic-designer/references/controller-test-patterns.md +100 -0
  198. package/skills/it-test-logic-designer/references/repository-test-patterns.md +206 -0
  199. package/skills/it-test-logic-designer/references/usecase-test-patterns.md +87 -0
  200. package/skills/pointer-validator/SKILL.md +4 -4
  201. package/skills/scenario-test-designer/SKILL.md +4 -68
  202. package/skills/scenario-test-designer/references/scenario-test-design-template.md +41 -0
  203. package/skills/scenario-test-designer/references/scenario-test-plan-template.md +35 -0
  204. package/skills/scenario-test-logic-designer/SKILL.md +21 -304
  205. package/skills/scenario-test-logic-designer/references/msw-patterns.md +36 -0
  206. package/skills/scenario-test-logic-designer/references/playwright-patterns.md +237 -0
  207. package/skills/test-coverage-checker/SKILL.md +39 -121
  208. package/skills/test-coverage-checker/references/coverage-report-template.md +99 -0
  209. package/skills/uiux-designer/SKILL.md +27 -92
  210. package/skills/uiux-designer/references/data-testid-convention.md +38 -0
  211. package/skills/uiux-designer/references/uiux-design-template.md +105 -0
  212. package/skills/unit-test-designer/SKILL.md +5 -106
  213. package/skills/unit-test-designer/references/unit-test-design-template.md +127 -0
  214. package/skills/unit-test-logic-designer/SKILL.md +28 -250
  215. package/skills/unit-test-logic-designer/references/test-patterns.md +207 -0
@@ -32,20 +32,8 @@ review: opus
32
32
  - `story-implementor` で実装が拒否される
33
33
  - `implementation-readiness-checker` でブロックされる
34
34
 
35
- ### このスキルの位置づけ
36
- ```
37
- scenario-test-designer
38
- ↓
39
- it-test-designer(本スキル)← ITテストケース設計
40
- ↓
41
- unit-test-designer
42
- ↓
43
- test-coverage-checker ← カバレッジ検証
44
- ↓
45
- テストロジック設計
46
- ↓
47
- story-implementor ← TDD実装
48
- ```
35
+ ### フロー上の位置
36
+ `scenario-test-designer` → **it-test-designer(本スキル)** → `unit-test-designer` → `test-coverage-checker` → テストロジック設計 → `story-implementor`
49
37
 
50
38
  **必ず完了してから次のステップに進んでください。**
51
39
 
@@ -72,22 +60,7 @@ story-implementor ← TDD実装
72
60
  - 上位設計をスキップして進める(非推奨)
73
61
  3. **ユーザー指示待ち** — 独自判断でテスト設計を開始しない
74
62
 
75
- **報告テンプレート:**
76
- ```markdown
77
- ## ⚠️ 上位レイヤー設計が見つかりません
78
-
79
- 以下の設計文書が存在しないため、ITテスト設計を開始できません:
80
- - `docs/product/construction/{unit}/logical_design.md` ❌ 未作成
81
-
82
- ### 推奨アクション
83
- `logical-designer` スキルを使用して論理設計を作成してください。
84
-
85
- ### 選択肢
86
- 1. **logical-designerを先に実行する**(推奨)
87
- 2. **このまま進める**(上位設計なしで進める場合、整合性リスクあり)
88
-
89
- どちらを選択しますか?
90
- ```
63
+ 報告テンプレートは [references/it-test-design-template.md](references/it-test-design-template.md) セクション2 を参照。
91
64
 
92
65
  ---
93
66
 
@@ -112,44 +85,15 @@ ITテスト設計のスコープ・テスト対象・不明点を整理し、人
112
85
 
113
86
  ### 計画ファイルの構成
114
87
 
115
- ```markdown
116
- # ITテスト設計計画: {Unit名}
117
-
118
- ## 1. スコープ
119
- - 対象Unitの論理設計
120
- - テスト対象コンポーネント一覧
121
-
122
- ## 2. テスト対象分析
123
-
124
- ### UseCase
125
- | UseCase名 | 依存Repository数 | テストケース概算 |
126
- |-----------|----------------|---------------|
127
-
128
- ### Repository
129
- | Repository名 | CRUD操作数 | テストケース概算 |
130
- |-------------|----------|---------------|
88
+ 計画ファイルは以下5セクションで構成する:
131
89
 
132
- ### Controller/API
133
- | エンドポイント | メソッド | テストケース概算 |
134
- |--------------|--------|---------------|
90
+ 1. **スコープ** — 対象Unitと論理設計の範囲
91
+ 2. **テスト対象分析** — UseCase / Repository / Controller/API ごとのケース概算テーブル
92
+ 3. **テスト方針** — モック/スタブ、DB、認証・認可のテスト方針
93
+ 4. **QA** — 不明点・確認事項(`[Question]`/`[Answer]`形式)
94
+ 5. **前提条件・リスク**
135
95
 
136
- ## 3. テスト方針
137
- - モック/スタブの使用方針
138
- - DBテストの方針(テストDB or インメモリ)
139
- - 認証・認可のテスト方針
140
-
141
- ## 4. QA(不明点・確認事項)
142
-
143
- ### [Question] Q1: {質問タイトル}
144
- {質問の詳細と背景}
145
- **推奨案:** {AIの推奨案}
146
-
147
- [Answer]
148
- (人間が回答を記入)
149
-
150
- ## 5. 前提条件・リスク
151
- - ...
152
- ```
96
+ 詳細なテンプレートは [references/it-test-design-template.md](references/it-test-design-template.md) セクション1 を参照。
153
97
 
154
98
  ### Phase 1 完了条件
155
99
  - 計画ファイルを出力した
@@ -186,73 +130,20 @@ ITテスト設計のスコープ・テスト対象・不明点を整理し、人
186
130
  | テスト環境設定 | DB設定・モック設定・認証設定が記載されていること |
187
131
 
188
132
  ### 出力ファイル
189
-
190
- | 種別 | 配置先 |
191
- |------|--------|
192
- | 成果物 | `docs/product/construction/{unit}/it_test_design.md` |
133
+ `docs/product/construction/{unit}/it_test_design.md`
193
134
 
194
135
  ### it_test_design.md の構成
195
136
 
196
- ```markdown
197
- # ITテスト設計: {Unit名}
198
-
199
- ## 1. 対象コンポーネント
200
- - UseCase: {UseCase名一覧}
201
- - Repository: {Repository名一覧}
202
- - Controller: {Controller名一覧}
203
-
204
- ## 2. UseCaseテストケース
137
+ 成果物は以下6セクションで構成する:
205
138
 
206
- ### {UseCase名}
139
+ 1. **対象コンポーネント** — UseCase / Repository / Controller の一覧
140
+ 2. **UseCaseテストケース** — 正常系・異常系をケースID付きテーブルで定義
141
+ 3. **Repositoryテストケース** — CRUD・トランザクションのテーブル
142
+ 4. **Controller/APIテストケース** — 認証・認可 / バリデーション / 正常系のテーブル
143
+ 5. **シードデータ要件** — テストに必要なデータセット定義
144
+ 6. **テスト環境設定** — DB・モック・認証の設定
207
145
 
208
- #### 正常系
209
- | ケースID | シナリオ | 入力 | モック設定 | 期待結果 |
210
- |---------|---------|------|----------|---------|
211
- | IT-UC-{名}-001 | ... | ... | ... | ... |
212
-
213
- #### 異常系
214
- | ケースID | シナリオ | 入力 | モック設定 | 期待エラー |
215
- |---------|---------|------|----------|----------|
216
-
217
- ## 3. Repositoryテストケース
218
-
219
- ### {Repository名}
220
-
221
- #### CRUDテスト
222
- | ケースID | 操作 | 入力 | 事前データ | 期待結果 |
223
- |---------|------|------|----------|---------|
224
-
225
- #### トランザクションテスト
226
- | ケースID | シナリオ | 期待結果 |
227
- |---------|---------|---------|
228
-
229
- ## 4. Controller/APIテストケース
230
-
231
- ### {エンドポイント}
232
-
233
- #### 認証・認可テスト
234
- | ケースID | 認証状態 | 権限 | 期待レスポンス |
235
- |---------|---------|------|--------------|
236
-
237
- #### バリデーションテスト
238
- | ケースID | 入力 | 期待エラー |
239
- |---------|------|----------|
240
-
241
- #### 正常系
242
- | ケースID | 入力 | 期待レスポンス |
243
- |---------|------|--------------|
244
-
245
- ## 5. シードデータ要件
246
- | データセット | 用途 | 内容 |
247
- |------------|------|------|
248
-
249
- ## 6. テスト環境設定
250
- - DB設定
251
- - モック設定
252
- - 認証設定
253
- ```
254
-
255
- ---
146
+ 詳細なテンプレートは [references/it-test-design-template.md](references/it-test-design-template.md) を参照。
256
147
 
257
148
  ---
258
149
 
@@ -299,36 +190,9 @@ ITテスト設計のスコープ・テスト対象・不明点を整理し、人
299
190
 
300
191
  ## 次ステップへの誘導
301
192
 
302
- ITテストケース設計完了後、以下の順序で進めてください:
303
-
304
- ### テストケース設計フェーズ(続き)
305
- 1. **ユニットテストケース設計** — Entity/ValueObjectのテストケース
306
- - `unit-test-designer` スキルを実行
307
-
308
- ### カバレッジ検証フェーズ
309
- 2. **テストカバレッジ検証** — テストケース設計の網羅性チェック
310
- - `test-coverage-checker` スキルを実行
311
- - カバレッジ90%以上を確認
312
-
313
- ### テストロジック設計フェーズ
314
- 3. **テストロジック設計** — 各レベルの実装ロジック
315
- - `unit-test-logic-designer` → `it-test-logic-designer` → `scenario-test-logic-designer`
316
-
317
- ### TDD実装フェーズ
318
- 4. **TDD実装** — Unit → IT → E2E の順序で実装
319
- - `story-implementor` スキルを実行
320
-
321
- **推奨フロー図:**
322
- ```
323
- scenario-test-designer
324
- ↓
325
- it-test-designer(本スキル)
326
- ↓
327
- unit-test-designer
328
- ↓
329
- test-coverage-checker
330
- ↓
331
- *-test-logic-designer(各レベル)
332
- ↓
333
- story-implementor
334
- ```
193
+ ITテストケース設計完了後、以下の順序で進める(フロー図は「スキップ禁止」セクション参照):
194
+
195
+ 1. `unit-test-designer` — ユニットテストケース設計
196
+ 2. `test-coverage-checker` — カバレッジ検証(90%以上)
197
+ 3. `*-test-logic-designer` — 各レベルのテストロジック設計
198
+ 4. `story-implementor` — TDD実装(Unit → IT → E2E)
@@ -0,0 +1,131 @@
1
+ # ITテスト設計テンプレート集
2
+
3
+ ## 1. Phase 1 計画テンプレート
4
+
5
+ Phase 1 で出力する `docs/inception/{unit}/it_test_design_plan.md` のテンプレート。
6
+
7
+ ```markdown
8
+ # ITテスト設計計画: {Unit名}
9
+
10
+ ## 1. スコープ
11
+ - 対象Unitの論理設計
12
+ - テスト対象コンポーネント一覧
13
+
14
+ ## 2. テスト対象分析
15
+
16
+ ### UseCase
17
+ | UseCase名 | 依存Repository数 | テストケース概算 |
18
+ |-----------|----------------|---------------|
19
+
20
+ ### Repository
21
+ | Repository名 | CRUD操作数 | テストケース概算 |
22
+ |-------------|----------|---------------|
23
+
24
+ ### Controller/API
25
+ | エンドポイント | メソッド | テストケース概算 |
26
+ |--------------|--------|---------------|
27
+
28
+ ## 3. テスト方針
29
+ - モック/スタブの使用方針
30
+ - DBテストの方針(テストDB or インメモリ)
31
+ - 認証・認可のテスト方針
32
+
33
+ ## 4. QA(不明点・確認事項)
34
+
35
+ ### [Question] Q1: {質問タイトル}
36
+ {質問の詳細と背景}
37
+ **推奨案:** {AIの推奨案}
38
+
39
+ [Answer]
40
+ (人間が回答を記入)
41
+
42
+ ## 5. 前提条件・リスク
43
+ - ...
44
+ ```
45
+
46
+ ---
47
+
48
+ ## 2. 上位設計不足時の報告テンプレート
49
+
50
+ ```markdown
51
+ ## 上位レイヤー設計が見つかりません
52
+
53
+ 以下の設計文書が存在しないため、ITテスト設計を開始できません:
54
+ - `docs/product/construction/{unit}/logical_design.md` — 未作成
55
+
56
+ ### 推奨アクション
57
+ `logical-designer` スキルを使用して論理設計を作成してください。
58
+
59
+ ### 選択肢
60
+ 1. **logical-designerを先に実行する**(推奨)
61
+ 2. **このまま進める**(上位設計なしで進める場合、整合性リスクあり)
62
+
63
+ どちらを選択しますか?
64
+ ```
65
+
66
+ ---
67
+
68
+ ## 3. Phase 2 成果物テンプレート(it_test_design.md)
69
+
70
+ Phase 2 の成果物として出力する `docs/product/construction/{unit}/it_test_design.md` のフルテンプレート。
71
+
72
+ ---
73
+
74
+ ```markdown
75
+ # ITテスト設計: {Unit名}
76
+
77
+ ## 1. 対象コンポーネント
78
+ - UseCase: {UseCase名一覧}
79
+ - Repository: {Repository名一覧}
80
+ - Controller: {Controller名一覧}
81
+
82
+ ## 2. UseCaseテストケース
83
+
84
+ ### {UseCase名}
85
+
86
+ #### 正常系
87
+ | ケースID | シナリオ | 入力 | モック設定 | 期待結果 |
88
+ |---------|---------|------|----------|---------|
89
+ | IT-UC-{名}-001 | ... | ... | ... | ... |
90
+
91
+ #### 異常系
92
+ | ケースID | シナリオ | 入力 | モック設定 | 期待エラー |
93
+ |---------|---------|------|----------|----------|
94
+
95
+ ## 3. Repositoryテストケース
96
+
97
+ ### {Repository名}
98
+
99
+ #### CRUDテスト
100
+ | ケースID | 操作 | 入力 | 事前データ | 期待結果 |
101
+ |---------|------|------|----------|---------|
102
+
103
+ #### トランザクションテスト
104
+ | ケースID | シナリオ | 期待結果 |
105
+ |---------|---------|---------|
106
+
107
+ ## 4. Controller/APIテストケース
108
+
109
+ ### {エンドポイント}
110
+
111
+ #### 認証・認可テスト
112
+ | ケースID | 認証状態 | 権限 | 期待レスポンス |
113
+ |---------|---------|------|--------------|
114
+
115
+ #### バリデーションテスト
116
+ | ケースID | 入力 | 期待エラー |
117
+ |---------|------|----------|
118
+
119
+ #### 正常系
120
+ | ケースID | 入力 | 期待レスポンス |
121
+ |---------|------|--------------|
122
+
123
+ ## 5. シードデータ要件
124
+ | データセット | 用途 | 内容 |
125
+ |------------|------|------|
126
+
127
+ ## 6. テスト環境設定
128
+ - DB設定
129
+ - モック設定
130
+ - 認証設定
131
+ ```