phasegate 0.15.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 (229) hide show
  1. package/README.ja.md +103 -71
  2. package/README.md +73 -13
  3. package/bin/{harness → phasegate} +1 -1
  4. package/docs/ADR/ADR-013-story-reflection-gate.md +100 -0
  5. package/docs/guide/cli-reference.md +9 -9
  6. package/docs/guide/configuration.md +245 -8
  7. package/docs/guide/hooks-integration.md +1 -1
  8. package/docs/guide/installation.md +6 -6
  9. package/docs/guide/layer-model.md +5 -5
  10. package/docs/guide/skills-overview.md +1 -1
  11. package/package.json +12 -10
  12. package/scripts/harness/adr-foundation/domain/ports/adr-document-parser-port.ts +1 -0
  13. package/scripts/harness/adr-foundation/domain/ports/adr-frontmatter-parser-port.ts +1 -0
  14. package/scripts/harness/adr-foundation/domain/ports/adr-repository-port.ts +1 -0
  15. package/scripts/harness/adr-foundation/domain/value-objects/adr-status.ts +6 -6
  16. package/scripts/harness/agent-integration/application/dto/handle-pre-tool-use-dto.ts +3 -1
  17. package/scripts/harness/agent-integration/application/usecases/handle-pre-tool-use-usecase.ts +109 -3
  18. package/scripts/harness/agent-integration/application/usecases/handle-stop-usecase.ts +1 -1
  19. package/scripts/harness/agent-integration/domain/ports/config-query-port.ts +2 -0
  20. package/scripts/harness/agent-integration/domain/ports/phase-gate-query-port.ts +1 -1
  21. package/scripts/harness/agent-integration/domain/ports/story-reflection-query-port.ts +8 -0
  22. package/scripts/harness/agent-integration/domain/services/bash-write-target-extractor.ts +258 -0
  23. package/scripts/harness/agent-integration/domain/services/hook-to-cli-translator.ts +25 -8
  24. package/scripts/harness/agent-integration/domain/value-objects/protected-file-list.ts +20 -0
  25. package/scripts/harness/agent-integration/domain/value-objects/story-reflection-query-result.ts +63 -0
  26. package/scripts/harness/agent-integration/infrastructure/adapters/child-process-cli-executor-adapter.ts +2 -2
  27. package/scripts/harness/agent-integration/infrastructure/adapters/file-system-story-reflection-query-adapter.ts +122 -0
  28. package/scripts/harness/agent-integration/infrastructure/adapters/harness-api-cli-command-registry-adapter.ts +10 -10
  29. package/scripts/harness/agent-integration/infrastructure/adapters/harness-config-config-query-adapter.ts +20 -0
  30. package/scripts/harness/agent-integration/infrastructure/adapters/phase-gate-query-adapter.ts +17 -3
  31. package/scripts/harness/agent-integration/presentation/pre-tool-use-hook.ts +29 -2
  32. package/scripts/harness/biome-ast-engine/domain/services/lint-runner.ts +24 -0
  33. package/scripts/harness/biome-ast-engine/domain/services/rule-definition-registry.ts +1 -1
  34. package/scripts/harness/biome-ast-engine/domain/value-objects/source-module-snapshot.ts +5 -2
  35. package/scripts/harness/biome-ast-engine/infrastructure/adapters/node-workspace-file-adapter.ts +1 -1
  36. package/scripts/harness/biome-ast-engine/infrastructure/adapters/typescript-source-module-analyzer-adapter.ts +1 -1
  37. package/scripts/harness/biome-ast-engine/infrastructure/parsers/unit-comment-parser.ts +12 -7
  38. package/scripts/harness/ci-governance/composition-root.ts +1 -0
  39. package/scripts/harness/ci-governance/infrastructure/adapters/agents-md-file-adapter.ts +2 -2
  40. package/scripts/harness/ci-governance/infrastructure/adapters/yaml-template-renderer-adapter.ts +2 -2
  41. package/scripts/harness/config-foundation/application/mappers/phase-config-section-mapper.ts +44 -0
  42. package/scripts/harness/config-foundation/application/usecases/load-resolved-config-use-case.ts +20 -1
  43. package/scripts/harness/config-foundation/domain/harness-config.ts +2 -1
  44. package/scripts/harness/config-foundation/domain/value-objects/phase-dependencies-config.ts +18 -4
  45. package/scripts/harness/config-foundation/infrastructure/schemas/harness-config-v2.schema.json +185 -10
  46. package/scripts/harness/config-foundation/infrastructure/validators/ajv-config-schema-validator.ts +2 -1
  47. package/scripts/harness/harness-api/application/dto/command-dispatch-input.ts +1 -0
  48. package/scripts/harness/harness-api/application/dto/command-dispatch-output.ts +1 -0
  49. package/scripts/harness/harness-api/application/dto/exit-code-decision-input.ts +1 -0
  50. package/scripts/harness/harness-api/application/dto/exit-code-decision-output.ts +1 -0
  51. package/scripts/harness/harness-api/application/dto/harness-api-response-contract.ts +1 -0
  52. package/scripts/harness/harness-api/application/dto/initialize-registry-input.ts +1 -0
  53. package/scripts/harness/harness-api/application/dto/registry-summary-output.ts +1 -0
  54. package/scripts/harness/harness-api/application/dto/status-derivation-input.ts +1 -0
  55. package/scripts/harness/harness-api/application/mappers/harness-api-response-mapper.ts +1 -0
  56. package/scripts/harness/harness-api/application/usecases/decide-exit-code-usecase.ts +4 -3
  57. package/scripts/harness/harness-api/application/usecases/derive-harness-status-usecase.ts +1 -0
  58. package/scripts/harness/harness-api/application/usecases/dispatch-command-usecase.ts +1 -0
  59. package/scripts/harness/harness-api/application/usecases/initialize-command-registry-usecase.ts +1 -0
  60. package/scripts/harness/harness-api/composition-root.ts +1 -0
  61. package/scripts/harness/harness-api/domain/ports/artifact-scanner-port.ts +1 -0
  62. package/scripts/harness/harness-api/domain/ports/biome-lint-port.ts +1 -0
  63. package/scripts/harness/harness-api/domain/ports/config-query-port.ts +1 -0
  64. package/scripts/harness/harness-api/domain/ports/impact-analysis-port.ts +1 -0
  65. package/scripts/harness/harness-api/domain/ports/phase-gate-query-port.ts +1 -0
  66. package/scripts/harness/harness-api/domain/ports/validator-execution-port.ts +1 -0
  67. package/scripts/harness/harness-api/domain/services/command-dispatch-service.ts +17 -16
  68. package/scripts/harness/harness-api/domain/services/command-registry.ts +4 -3
  69. package/scripts/harness/harness-api/domain/services/status-derivation-service.ts +1 -0
  70. package/scripts/harness/harness-api/domain/value-objects/artifact-scan-result.ts +1 -0
  71. package/scripts/harness/harness-api/domain/value-objects/check-ready-result.ts +1 -0
  72. package/scripts/harness/harness-api/domain/value-objects/ci-check-result.ts +1 -0
  73. package/scripts/harness/harness-api/domain/value-objects/cli-command-definition.ts +11 -10
  74. package/scripts/harness/harness-api/domain/value-objects/command-input-spec.ts +1 -0
  75. package/scripts/harness/harness-api/domain/value-objects/drift-report-summary.ts +1 -0
  76. package/scripts/harness/harness-api/domain/value-objects/exit-code-spec.ts +1 -0
  77. package/scripts/harness/harness-api/domain/value-objects/harness-api-response.ts +1 -0
  78. package/scripts/harness/harness-api/domain/value-objects/harness-status-summary.ts +1 -0
  79. package/scripts/harness/harness-api/domain/value-objects/layer-health.ts +1 -0
  80. package/scripts/harness/harness-api/domain/value-objects/phase-info.ts +1 -0
  81. package/scripts/harness/harness-api/index.ts +1 -0
  82. package/scripts/harness/harness-api/infrastructure/adapters/biome-ast-engine-lint-adapter.ts +1 -0
  83. package/scripts/harness/harness-api/infrastructure/adapters/file-system-artifact-scanner-adapter.ts +1 -0
  84. package/scripts/harness/harness-api/infrastructure/adapters/harness-config-query-adapter.ts +1 -0
  85. package/scripts/harness/harness-api/infrastructure/adapters/nyquist-validation-impact-analysis-adapter.ts +1 -0
  86. package/scripts/harness/harness-api/infrastructure/adapters/phase-dependency-model-query-adapter.ts +1 -0
  87. package/scripts/harness/harness-api/infrastructure/adapters/validator-system-execution-adapter.ts +1 -0
  88. package/scripts/harness/harness-api/presentation/dto/cli-output-options.ts +1 -0
  89. package/scripts/harness/harness-api/presentation/formatters/harness-api-json-formatter.ts +1 -0
  90. package/scripts/harness/harness-api/presentation/handlers/check-phase-handler.ts +2 -1
  91. package/scripts/harness/harness-api/presentation/handlers/check-ready-handler.ts +2 -1
  92. package/scripts/harness/harness-api/presentation/handlers/ci-check-handler.ts +2 -1
  93. package/scripts/harness/harness-api/presentation/handlers/complete-check-handler.ts +2 -1
  94. package/scripts/harness/harness-api/presentation/handlers/detect-drift-handler.ts +2 -1
  95. package/scripts/harness/harness-api/presentation/handlers/impact-analysis-handler.ts +2 -1
  96. package/scripts/harness/harness-api/presentation/handlers/lint-handler.ts +2 -1
  97. package/scripts/harness/harness-api/presentation/handlers/status-handler.ts +4 -3
  98. package/scripts/harness/harness-error/infrastructure/adapters/legacy-error-reporter-adapter.ts +7 -1
  99. package/scripts/harness/integrations/pre-commit.ts +1 -0
  100. package/scripts/harness/main.ts +173 -53
  101. package/scripts/harness/phase-dependency-model/application/dto/resolve-gate-result-dto.ts +14 -0
  102. package/scripts/harness/phase-dependency-model/application/services/phase-gate-result-mapper.ts +20 -0
  103. package/scripts/harness/phase-dependency-model/application/usecases/check-story-reflection-usecase.ts +42 -0
  104. package/scripts/harness/phase-dependency-model/application/usecases/resolve-gate-usecase.ts +161 -0
  105. package/scripts/harness/phase-dependency-model/composition-root.ts +57 -1
  106. package/scripts/harness/phase-dependency-model/domain/definitions/{default-phase-dependencies.ts → full-phase-dependencies.ts} +3 -3
  107. package/scripts/harness/phase-dependency-model/domain/definitions/{default-phase-nodes.ts → full-phase-nodes.ts} +1 -1
  108. package/scripts/harness/phase-dependency-model/domain/definitions/full-story-reflection-defaults.ts +28 -0
  109. package/scripts/harness/phase-dependency-model/domain/definitions/minimal-phase-dependencies.ts +32 -0
  110. package/scripts/harness/phase-dependency-model/domain/definitions/minimal-phase-nodes.ts +50 -0
  111. package/scripts/harness/phase-dependency-model/domain/definitions/minimal-story-reflection-defaults.ts +8 -0
  112. package/scripts/harness/phase-dependency-model/domain/definitions/standard-phase-dependencies.ts +39 -0
  113. package/scripts/harness/phase-dependency-model/domain/definitions/standard-phase-nodes.ts +118 -0
  114. package/scripts/harness/phase-dependency-model/domain/definitions/standard-story-reflection-defaults.ts +23 -0
  115. package/scripts/harness/phase-dependency-model/domain/models/phase-structure.ts +95 -23
  116. package/scripts/harness/phase-dependency-model/domain/ports/glob-matcher-port.ts +8 -0
  117. package/scripts/harness/phase-dependency-model/domain/ports/phase-config-provider-port.ts +2 -0
  118. package/scripts/harness/phase-dependency-model/domain/ports/story-annotation-verifier-port.ts +14 -0
  119. package/scripts/harness/phase-dependency-model/domain/ports/story-reflection-file-system-port.ts +16 -0
  120. package/scripts/harness/phase-dependency-model/domain/services/gate-graph.ts +223 -0
  121. package/scripts/harness/phase-dependency-model/domain/services/story-reflection-checker.ts +66 -0
  122. package/scripts/harness/phase-dependency-model/domain/values/gate-definition.ts +127 -0
  123. package/scripts/harness/phase-dependency-model/domain/values/gate-name.ts +40 -0
  124. package/scripts/harness/phase-dependency-model/domain/values/gate-story-annotation.ts +39 -0
  125. package/scripts/harness/phase-dependency-model/domain/values/phase-customization-policy.ts +16 -4
  126. package/scripts/harness/phase-dependency-model/domain/values/story-reflection-config.ts +44 -0
  127. package/scripts/harness/phase-dependency-model/domain/values/story-reflection-mapping.ts +91 -0
  128. package/scripts/harness/phase-dependency-model/domain/values/story-reflection-result.ts +55 -0
  129. package/scripts/harness/phase-dependency-model/infrastructure/adapters/picomatch-glob-matcher.ts +17 -0
  130. package/scripts/harness/phase-dependency-model/infrastructure/adapters/story-annotation-verifier-adapter.ts +46 -0
  131. package/scripts/harness/phase-dependency-model/infrastructure/config/custom-gates-config-parser.ts +22 -0
  132. package/scripts/harness/phase-dependency-model/infrastructure/config/harness-config-phase-config-provider.ts +78 -2
  133. package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +94 -0
  134. package/scripts/harness/phase-dependency-model/presentation/cli/check-phase-gate-command-handler.ts +12 -4
  135. package/scripts/harness/phase-dependency-model/presentation/cli/story-reflection-status-presenter.ts +87 -0
  136. package/scripts/harness/quick-mode/application/usecases/execute-quick-ci-check-usecase.ts +1 -1
  137. package/scripts/harness/quick-mode/presentation/handlers/ci-check-quick-mode-handler.ts +1 -1
  138. package/scripts/harness/regression-suite/application/dto/analyze-migration-input.ts +1 -0
  139. package/scripts/harness/regression-suite/application/dto/analyze-migration-output.ts +1 -0
  140. package/scripts/harness/regression-suite/application/dto/configure-ci-gate-input.ts +1 -0
  141. package/scripts/harness/regression-suite/application/dto/configure-ci-gate-output.ts +1 -0
  142. package/scripts/harness/regression-suite/application/dto/migrate-v0-tests-input.ts +1 -0
  143. package/scripts/harness/regression-suite/application/dto/migrate-v0-tests-output.ts +1 -0
  144. package/scripts/harness/regression-suite/application/dto/run-regression-suite-input.ts +1 -0
  145. package/scripts/harness/regression-suite/application/dto/run-regression-suite-output.ts +1 -0
  146. package/scripts/harness/regression-suite/application/mappers/migration-mapping-mapper.ts +1 -0
  147. package/scripts/harness/regression-suite/application/mappers/test-execution-summary-mapper.ts +1 -0
  148. package/scripts/harness/regression-suite/application/usecases/analyze-v0-migration-usecase.ts +1 -0
  149. package/scripts/harness/regression-suite/application/usecases/configure-ci-gate-usecase.ts +1 -0
  150. package/scripts/harness/regression-suite/application/usecases/migrate-v0-tests-usecase.ts +1 -0
  151. package/scripts/harness/regression-suite/application/usecases/run-agent-independence-guard-usecase.ts +1 -0
  152. package/scripts/harness/regression-suite/application/usecases/run-gng-gate-regression-usecase.ts +1 -0
  153. package/scripts/harness/regression-suite/application/usecases/run-k-requirements-regression-usecase.ts +1 -0
  154. package/scripts/harness/regression-suite/application/usecases/run-k14-k15-regression-usecase.ts +1 -0
  155. package/scripts/harness/regression-suite/composition-root.ts +1 -0
  156. package/scripts/harness/regression-suite/domain/aggregates/v0-test-migration.ts +1 -0
  157. package/scripts/harness/regression-suite/domain/ports/ci-gate-result-writer-port.ts +1 -0
  158. package/scripts/harness/regression-suite/domain/ports/config-query-port.ts +1 -0
  159. package/scripts/harness/regression-suite/domain/ports/import-analyzer-port.ts +1 -0
  160. package/scripts/harness/regression-suite/domain/ports/migration-mapping-repository-port.ts +1 -0
  161. package/scripts/harness/regression-suite/domain/ports/suite-registry-port.ts +1 -0
  162. package/scripts/harness/regression-suite/domain/ports/test-runner-port.ts +1 -0
  163. package/scripts/harness/regression-suite/domain/ports/v0-spec-reader-port.ts +1 -0
  164. package/scripts/harness/regression-suite/domain/services/import-guard-service.ts +1 -0
  165. package/scripts/harness/regression-suite/domain/services/migration-analyzer.ts +1 -0
  166. package/scripts/harness/regression-suite/domain/services/regression-runner.ts +1 -0
  167. package/scripts/harness/regression-suite/domain/value-objects/agent-independence-test.ts +1 -0
  168. package/scripts/harness/regression-suite/domain/value-objects/biome-modification-spec.ts +1 -0
  169. package/scripts/harness/regression-suite/domain/value-objects/ci-gate-config.ts +1 -0
  170. package/scripts/harness/regression-suite/domain/value-objects/coverage-rate.ts +1 -0
  171. package/scripts/harness/regression-suite/domain/value-objects/gng-condition-test.ts +1 -0
  172. package/scripts/harness/regression-suite/domain/value-objects/import-violation.ts +1 -0
  173. package/scripts/harness/regression-suite/domain/value-objects/k-requirement-test.ts +1 -0
  174. package/scripts/harness/regression-suite/domain/value-objects/migration-mapping.ts +1 -0
  175. package/scripts/harness/regression-suite/domain/value-objects/regression-suite-definition.ts +1 -0
  176. package/scripts/harness/regression-suite/domain/value-objects/suite-id.ts +1 -0
  177. package/scripts/harness/regression-suite/domain/value-objects/test-execution-summary.ts +1 -0
  178. package/scripts/harness/regression-suite/domain/value-objects/test-failure-detail.ts +1 -0
  179. package/scripts/harness/regression-suite/domain/value-objects/v0-test-id.ts +1 -0
  180. package/scripts/harness/regression-suite/domain/value-objects/v1-test-path.ts +1 -0
  181. package/scripts/harness/regression-suite/infrastructure/adapters/biome-ast-import-analyzer-adapter.ts +1 -0
  182. package/scripts/harness/regression-suite/infrastructure/adapters/file-system-v0-spec-reader-adapter.ts +1 -0
  183. package/scripts/harness/regression-suite/infrastructure/adapters/harness-config-query-adapter.ts +1 -0
  184. package/scripts/harness/regression-suite/infrastructure/adapters/json-ci-gate-result-writer-adapter.ts +1 -0
  185. package/scripts/harness/regression-suite/infrastructure/adapters/markdown-migration-mapping-repository-adapter.ts +1 -0
  186. package/scripts/harness/regression-suite/infrastructure/adapters/static-suite-registry-adapter.ts +1 -0
  187. package/scripts/harness/regression-suite/infrastructure/adapters/vitest-test-runner-adapter.ts +1 -0
  188. package/scripts/harness/regression-suite/infrastructure/registry/agent-independence-suite-definition.ts +1 -0
  189. package/scripts/harness/regression-suite/infrastructure/registry/gng-gate-suite-definition.ts +1 -0
  190. package/scripts/harness/regression-suite/infrastructure/registry/k-requirements-suite-definition.ts +1 -0
  191. package/scripts/harness/regression-suite/infrastructure/registry/v0-migration-suite-definition.ts +1 -0
  192. package/scripts/harness/setup/skill-deployer.ts +82 -5
  193. package/scripts/harness/shared-kernel/harness-api.ts +1 -0
  194. package/scripts/harness/skill-quality/composition-root.ts +1 -0
  195. package/scripts/harness/skill-quality/infrastructure/adapters/ajv-lesson-artifact-schema-adapter.ts +5 -4
  196. package/scripts/harness/traceability-model/domain/services/metadata-validator.ts +12 -10
  197. package/scripts/harness/traceability-model/infrastructure/parsers/source-metadata-parser.ts +16 -2
  198. package/scripts/harness/validator-system/composition-root.ts +3 -3
  199. package/skills/cascade-updater/SKILL.md +16 -3
  200. package/skills/codebase-mapper/SKILL.md +9 -9
  201. package/skills/codex-delegator/SKILL.md +5 -56
  202. package/skills/consistency-checker/SKILL.md +5 -9
  203. 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
  204. package/skills/doc-freshness-checker/SKILL.md +6 -6
  205. package/skills/engineering-perspective/SKILL.md +2 -58
  206. package/skills/engineering-perspective/references/domain-model.md +4 -135
  207. package/skills/implementation-readiness-checker/SKILL.md +18 -72
  208. package/skills/it-test-designer/SKILL.md +25 -161
  209. package/skills/it-test-designer/references/it-test-design-template.md +131 -0
  210. package/skills/it-test-logic-designer/SKILL.md +13 -388
  211. package/skills/it-test-logic-designer/references/controller-test-patterns.md +100 -0
  212. package/skills/it-test-logic-designer/references/repository-test-patterns.md +206 -0
  213. package/skills/it-test-logic-designer/references/usecase-test-patterns.md +87 -0
  214. package/skills/pointer-validator/SKILL.md +4 -4
  215. package/skills/scenario-test-designer/SKILL.md +4 -68
  216. package/skills/scenario-test-designer/references/scenario-test-design-template.md +41 -0
  217. package/skills/scenario-test-designer/references/scenario-test-plan-template.md +35 -0
  218. package/skills/scenario-test-logic-designer/SKILL.md +21 -304
  219. package/skills/scenario-test-logic-designer/references/msw-patterns.md +36 -0
  220. package/skills/scenario-test-logic-designer/references/playwright-patterns.md +237 -0
  221. package/skills/test-coverage-checker/SKILL.md +39 -121
  222. package/skills/test-coverage-checker/references/coverage-report-template.md +99 -0
  223. package/skills/uiux-designer/SKILL.md +27 -92
  224. package/skills/uiux-designer/references/data-testid-convention.md +38 -0
  225. package/skills/uiux-designer/references/uiux-design-template.md +105 -0
  226. package/skills/unit-test-designer/SKILL.md +5 -106
  227. package/skills/unit-test-designer/references/unit-test-design-template.md +127 -0
  228. package/skills/unit-test-logic-designer/SKILL.md +28 -250
  229. package/skills/unit-test-logic-designer/references/test-patterns.md +207 -0
@@ -29,17 +29,19 @@ TDD実装フェーズ
29
29
 
30
30
  ## 前提条件チェック
31
31
 
32
+ > **パス設定:** 以下のファイルパスはプレースホルダで記述。`{constructionDir}` / `{inceptionDir}` / `{unitsDir}` は `phasegate.config.json` のプロジェクト設定から解決される。
33
+
32
34
  ### 必須インプット(存在しなければ`[Question]`で提供を要求)
33
- - **ユーザーストーリー** — `docs/product/units/{unit}.md` 内の受け入れ基準
35
+ - **ユーザーストーリー** — `{unitsDir}/{unit}.md` 内の受け入れ基準
34
36
  - **少なくとも1つのテスト設計文書** — 以下のいずれか
35
- - `docs/product/construction/{unit}/unit_test_design.md`
36
- - `docs/product/construction/{unit}/it_test_design.md`
37
- - `docs/inception/{unit}/{story_id}/scenario_test_design.md`
37
+ - `{constructionDir}/{unit}/unit_test_design.md`
38
+ - `{constructionDir}/{unit}/it_test_design.md`
39
+ - `{inceptionDir}/{unit}/{story_id}/scenario_test_design.md`
38
40
 
39
41
  ### 推奨インプット(あれば参照)
40
- - **ドメインモデル** — `docs/product/construction/{unit}/domain_model.md`
41
- - **論理設計** — `docs/product/construction/{unit}/logical_design.md`
42
- - **ストーリー固有論理設計** — `docs/inception/{unit}/{story_id}/logical_design.md`
42
+ - **ドメインモデル** — `{constructionDir}/{unit}/domain_model.md`
43
+ - **論理設計** — `{constructionDir}/{unit}/logical_design.md`
44
+ - **ストーリー固有論理設計** — `{inceptionDir}/{unit}/{story_id}/logical_design.md`
43
45
  - **全テスト設計文書** — 網羅性検証の精度向上
44
46
 
45
47
  ---
@@ -90,7 +92,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
90
92
  | {画面名} | `/path` | SC-001 | ✅ カバー |
91
93
 
92
94
  **チェック対象:**
93
- - `docs/product/construction/{unit}/uiux_design.md` が存在する場合のみ実行
95
+ - `{constructionDir}/{unit}/uiux_design.md` が存在する場合のみ実行
94
96
  - 画面一覧の全画面にシナリオテストが対応しているか
95
97
  - data-testid一覧がシナリオテストロジックで使用されているか
96
98
 
@@ -100,10 +102,10 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
100
102
 
101
103
  **このスキルは3フェーズで実行する。**
102
104
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
103
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`scripts/delegate-sonnet.sh` 経由)
105
+ - **Phase 2(実行)**: プロジェクトのモデルルーティング設定に従い、実行モデルに委譲して成果物を生成する
104
106
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
105
107
 
106
- **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
108
+ **Phase 1/2/3を同時に実行してはならない。**
107
109
 
108
110
  ---
109
111
 
@@ -113,7 +115,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
113
115
  検証対象のスコープ・検証観点を整理し、人間の承認を得る。
114
116
 
115
117
  ### 出力ファイル
116
- `docs/inception/{unit}/test_coverage_plan.md`
118
+ `{inceptionDir}/{unit}/test_coverage_plan.md`
117
119
 
118
120
  ### 計画ファイルの構成
119
121
 
@@ -197,105 +199,21 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
197
199
 
198
200
  | 種別 | 配置先 |
199
201
  |------|--------|
200
- | 成果物 | `docs/product/construction/{unit}/coverage_report.md` |
202
+ | 成果物 | `{constructionDir}/{unit}/coverage_report.md` |
201
203
 
202
204
  ### coverage_report.md の構成
203
205
 
204
- ```markdown
205
- # テストカバレッジレポート: {Unit名}
206
-
207
- ## 1. サマリー
208
-
209
- | 観点 | カバー項目数 | 未カバー項目数 | カバレッジ率 |
210
- |------|------------|--------------|------------|
211
- | 受け入れ基準 | X | Y | Z% |
212
- | ドメインロジック | X | Y | Z% |
213
- | UseCase | X | Y | Z% |
214
- | API | X | Y | Z% |
215
- | **総合** | X | Y | Z% |
216
-
217
- ### 判定結果
218
- - ✅ 90%以上: テストロジック設計に進んで問題なし
219
- - ⚠️ 70-90%: 未カバー項目の確認を推奨
220
- - ❌ 70%未満: テストケース設計の追加が必要
221
-
222
- ## 2. 受け入れ基準カバレッジ詳細
223
-
224
- | AC ID | 基準内容 | 対応テストケース | カバー状態 |
225
- |-------|---------|----------------|----------|
226
- | AC-1 | ... | SC-001, IT-UC-001 | ✅ |
227
- | AC-2 | ... | なし | ❌ |
228
-
229
- ## 3. ドメインロジックカバレッジ詳細
230
-
231
- ### 集約
232
- | 集約名 | 不変条件 | 対応テストケース | カバー状態 |
233
- |-------|---------|----------------|----------|
234
-
235
- ### エンティティ
236
- | エンティティ名 | ビジネスルール | 対応テストケース | カバー状態 |
237
- |--------------|--------------|----------------|----------|
238
-
239
- ### 値オブジェクト
240
- | 値オブジェクト名 | 制約 | 対応テストケース | カバー状態 |
241
- |----------------|-----|----------------|----------|
242
-
243
- ## 4. UseCaseカバレッジ詳細
244
-
245
- | UseCase名 | 正常系 | 異常系 | カバー状態 |
246
- |----------|-------|-------|----------|
247
- | CreateXxxUseCase | IT-UC-001 | IT-UC-002, IT-UC-003 | ✅ |
248
- | UpdateXxxUseCase | なし | なし | ❌ |
249
-
250
- ## 5. APIカバレッジ詳細
251
-
252
- | エンドポイント | 認証 | 認可 | バリデーション | カバー状態 |
253
- |--------------|-----|-----|--------------|----------|
254
- | POST /api/xxx | ✅ | ✅ | ✅ | ✅ |
255
- | PUT /api/xxx | ❌ | ❌ | ❌ | ❌ |
206
+ 詳細なテンプレートは [references/coverage-report-template.md](references/coverage-report-template.md) を参照。
256
207
 
257
- ## 6. 未カバー項目一覧
258
-
259
- ### 優先度: 高(受け入れ基準に関連)
260
- | 項目 | 理由 | 推奨テストレベル |
261
- |------|------|----------------|
262
- | AC-2 | テストケースなし | シナリオテスト |
263
-
264
- ### 優先度: 中(ドメインロジック)
265
- | 項目 | 理由 | 推奨テストレベル |
266
- |------|------|----------------|
267
- | Invoice.changeAmount() | 状態遷移テストなし | ユニットテスト |
268
-
269
- ### 優先度: 低(網羅性向上)
270
- | 項目 | 理由 | 推奨テストレベル |
271
- |------|------|----------------|
272
-
273
- ## 7. 推奨追加ケース
274
-
275
- 以下のテストケースを追加することを推奨します:
276
-
277
- ### ユニットテスト追加
278
- - UT-XXX-001: {ケース説明}
279
-
280
- ### ITテスト追加
281
- - IT-XXX-001: {ケース説明}
282
-
283
- ### シナリオテスト追加
284
- - SC-XXX: {ケース説明}
285
-
286
- ## 8. 次のアクション
287
-
288
- カバレッジ率に応じた推奨アクション:
289
-
290
- - **90%以上の場合**: テストロジック設計フェーズに進んでください
291
- - `unit-test-logic-designer` → `it-test-logic-designer` → `scenario-test-logic-designer`
292
-
293
- - **70-90%の場合**: 未カバー項目を確認し、必要に応じてテストケースを追加してください
294
- - 追加後、再度 `test-coverage-checker` を実行
295
-
296
- - **70%未満の場合**: テストケース設計フェーズに戻り、漏れを補完してください
297
- - `unit-test-designer` / `it-test-designer` / `scenario-test-designer` で追加設計
298
- ```
208
+ 主要セクション:
209
+ 1. **サマリー** — 観点別カバレッジ率と判定結果(90%以上=合格/70-90%=要確認/70%未満=不合格)
210
+ 2. **受け入れ基準カバレッジ詳細** — 各ACとテストケースのマッピング
211
+ 3. **ドメインロジックカバレッジ詳細** — 集約/エンティティ/値オブジェクトの不変条件カバー状況
212
+ 4. **UseCaseカバレッジ詳細** — 正常系/異常系のカバー状況
213
+ 5. **APIカバレッジ詳細** — 認証/認可/バリデーションのカバー状況
214
+ 6. **未カバー項目一覧** — 優先度付き(高:AC関連 > 中:ドメイン > 低:網羅性)
215
+ 7. **推奨追加ケース** — テストレベル別の追加提案
216
+ 8. **次のアクション** — カバレッジ率に応じた推奨フロー
299
217
 
300
218
  ---
301
219
 
@@ -318,7 +236,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
318
236
 
319
237
  ### レビュー手順
320
238
  1. Sonnetが出力したファイルを読み込む
321
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
239
+ 2. プロジェクトのレビュー基準に沿って検証する
322
240
  3. **スキル固有レビュー観点**を検証する
323
241
  4. 判定結果を出力する
324
242
 
@@ -372,12 +290,12 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
372
290
  **以下のディレクトリを調査し、実装済みコンポーネントを特定する:**
373
291
 
374
292
  ```
375
- backend/src/{context}/domain/aggregates/ → Entity/集約
376
- backend/src/{context}/domain/value-objects/ → ValueObject
377
- backend/src/{context}/domain/policies/ → Policy
378
- backend/src/{context}/application/usecases/ → UseCase
379
- backend/src/{context}/infrastructure/repositories/ → Repository
380
- backend/src/{context}/interfaces/controllers/ → Controller
293
+ {sourceDir}/{context}/domain/aggregates/ → Entity/集約
294
+ {sourceDir}/{context}/domain/value-objects/ → ValueObject
295
+ {sourceDir}/{context}/domain/policies/ → Policy
296
+ {sourceDir}/{context}/application/usecases/ → UseCase
297
+ {sourceDir}/{context}/infrastructure/repositories/ → Repository
298
+ {sourceDir}/{context}/interfaces/controllers/ → Controller
381
299
  ```
382
300
 
383
301
  #### Step 2: 既存テストの確認
@@ -385,9 +303,9 @@ backend/src/{context}/interfaces/controllers/ → Controller
385
303
  **以下のディレクトリを調査し、既存テストを特定する:**
386
304
 
387
305
  ```
388
- backend/test/unit/{context}/ → ユニットテスト
389
- backend/test/integration/{context}/ → ITテスト
390
- e2e/tests/{context}/ → E2Eテスト
306
+ {testDir}/unit/{context}/ → ユニットテスト
307
+ {testDir}/integration/{context}/ → ITテスト
308
+ {e2eDir}/{context}/ → E2Eテスト
391
309
  ```
392
310
 
393
311
  #### Step 3: ギャップ分析
@@ -403,11 +321,11 @@ e2e/tests/{context}/ → E2Eテスト
403
321
 
404
322
  | コンポーネント | 種類 | ファイルパス |
405
323
  |--------------|------|------------|
406
- | {Name} | Entity | backend/src/{context}/domain/aggregates/{name}.ts |
407
- | {Name} | ValueObject | backend/src/{context}/domain/value-objects/{name}.ts |
408
- | {Name} | UseCase | backend/src/{context}/application/usecases/{name}.ts |
409
- | {Name} | Repository | backend/src/{context}/infrastructure/repositories/{name}.ts |
410
- | {Name} | Controller | backend/src/{context}/interfaces/controllers/{name}.ts |
324
+ | {Name} | Entity | {sourceDir}/{context}/domain/aggregates/{name}.ts |
325
+ | {Name} | ValueObject | {sourceDir}/{context}/domain/value-objects/{name}.ts |
326
+ | {Name} | UseCase | {sourceDir}/{context}/application/usecases/{name}.ts |
327
+ | {Name} | Repository | {sourceDir}/{context}/infrastructure/repositories/{name}.ts |
328
+ | {Name} | Controller | {sourceDir}/{context}/interfaces/controllers/{name}.ts |
411
329
 
412
330
  ### テスト状況マトリクス
413
331
 
@@ -0,0 +1,99 @@
1
+ # coverage_report.md テンプレート
2
+
3
+ 出力先: `{constructionDir}/{unit}/coverage_report.md`
4
+
5
+ ```markdown
6
+ # テストカバレッジレポート: {Unit名}
7
+
8
+ ## 1. サマリー
9
+
10
+ | 観点 | カバー項目数 | 未カバー項目数 | カバレッジ率 |
11
+ |------|------------|--------------|------------|
12
+ | 受け入れ基準 | X | Y | Z% |
13
+ | ドメインロジック | X | Y | Z% |
14
+ | UseCase | X | Y | Z% |
15
+ | API | X | Y | Z% |
16
+ | **総合** | X | Y | Z% |
17
+
18
+ ### 判定結果
19
+ - ✅ 90%以上: テストロジック設計に進んで問題なし
20
+ - ⚠️ 70-90%: 未カバー項目の確認を推奨
21
+ - ❌ 70%未満: テストケース設計の追加が必要
22
+
23
+ ## 2. 受け入れ基準カバレッジ詳細
24
+
25
+ | AC ID | 基準内容 | 対応テストケース | カバー状態 |
26
+ |-------|---------|----------------|----------|
27
+ | AC-1 | ... | SC-001, IT-UC-001 | ✅ |
28
+ | AC-2 | ... | なし | ❌ |
29
+
30
+ ## 3. ドメインロジックカバレッジ詳細
31
+
32
+ ### 集約
33
+ | 集約名 | 不変条件 | 対応テストケース | カバー状態 |
34
+ |-------|---------|----------------|----------|
35
+
36
+ ### エンティティ
37
+ | エンティティ名 | ビジネスルール | 対応テストケース | カバー状態 |
38
+ |--------------|--------------|----------------|----------|
39
+
40
+ ### 値オブジェクト
41
+ | 値オブジェクト名 | 制約 | 対応テストケース | カバー状態 |
42
+ |----------------|-----|----------------|----------|
43
+
44
+ ## 4. UseCaseカバレッジ詳細
45
+
46
+ | UseCase名 | 正常系 | 異常系 | カバー状態 |
47
+ |----------|-------|-------|----------|
48
+ | CreateXxxUseCase | IT-UC-001 | IT-UC-002, IT-UC-003 | ✅ |
49
+ | UpdateXxxUseCase | なし | なし | ❌ |
50
+
51
+ ## 5. APIカバレッジ詳細
52
+
53
+ | エンドポイント | 認証 | 認可 | バリデーション | カバー状態 |
54
+ |--------------|-----|-----|--------------|----------|
55
+ | POST /api/xxx | ✅ | ✅ | ✅ | ✅ |
56
+ | PUT /api/xxx | ❌ | ❌ | ❌ | ❌ |
57
+
58
+ ## 6. 未カバー項目一覧
59
+
60
+ ### 優先度: 高(受け入れ基準に関連)
61
+ | 項目 | 理由 | 推奨テストレベル |
62
+ |------|------|----------------|
63
+ | AC-2 | テストケースなし | シナリオテスト |
64
+
65
+ ### 優先度: 中(ドメインロジック)
66
+ | 項目 | 理由 | 推奨テストレベル |
67
+ |------|------|----------------|
68
+ | Invoice.changeAmount() | 状態遷移テストなし | ユニットテスト |
69
+
70
+ ### 優先度: 低(網羅性向上)
71
+ | 項目 | 理由 | 推奨テストレベル |
72
+ |------|------|----------------|
73
+
74
+ ## 7. 推奨追加ケース
75
+
76
+ 以下のテストケースを追加することを推奨します:
77
+
78
+ ### ユニットテスト追加
79
+ - UT-XXX-001: {ケース説明}
80
+
81
+ ### ITテスト追加
82
+ - IT-XXX-001: {ケース説明}
83
+
84
+ ### シナリオテスト追加
85
+ - SC-XXX: {ケース説明}
86
+
87
+ ## 8. 次のアクション
88
+
89
+ カバレッジ率に応じた推奨アクション:
90
+
91
+ - **90%以上の場合**: テストロジック設計フェーズに進んでください
92
+ - `unit-test-logic-designer` → `it-test-logic-designer` → `scenario-test-logic-designer`
93
+
94
+ - **70-90%の場合**: 未カバー項目を確認し、必要に応じてテストケースを追加してください
95
+ - 追加後、再度 `test-coverage-checker` を実行
96
+
97
+ - **70%未満の場合**: テストケース設計フェーズに戻り、漏れを補完してください
98
+ - `unit-test-designer` / `it-test-designer` / `scenario-test-designer` で追加設計
99
+ ```
@@ -177,107 +177,42 @@ UIUX設計のスコープ・画面構成方針・不明点を整理し、人間
177
177
 
178
178
  ### uiux_design.md の構成
179
179
 
180
- ```markdown
181
- # UIUX設計: {Unit名}
182
-
183
- ## 概要
184
- このドキュメントは {Unit名} UnitのUIUX設計を定義する。
185
- 仕様変更のたびに更新される永続的な設計文書。
186
-
187
- ## 1. 画面一覧
188
-
189
- | 画面名 | パス | 対象ストーリー | 状態 |
190
- |--------|------|---------------|------|
191
- | {画面名} | `/path/to/screen` | US-XXX | 実装済/設計中 |
192
-
193
- ---
194
-
195
- ## 2. 画面設計
196
-
197
- ### 2.1 {画面名}
198
-
199
- #### 対象ストーリー
200
- - US-XXX: {ストーリー概要}
201
-
202
- #### レイアウト
203
- ```
204
- ┌────────────────────────┐
205
- │ Header │
206
- ├────────────────────────┤
207
- │ Main Content │
208
- │ ┌───────┐ ┌───────┐ │
209
- │ │ Card │ │ Card │ │
210
- │ └───────┘ └───────┘ │
211
- └────────────────────────┘
212
- ```
213
-
214
- #### コンポーネント
215
- | コンポーネント | Props | 状態 | イベント |
216
- |-------------|-------|------|---------|
217
-
218
- #### データバインディング
219
- | 表示項目 | データソース | 形式 |
220
- |---------|------------|------|
221
-
222
- ### 2.2 ...
223
-
224
- ---
225
-
226
- ## 3. 共通コンポーネント仕様
180
+ > テンプレート全文: [`references/uiux-design-template.md`](references/uiux-design-template.md)
227
181
 
228
- ### {コンポーネント名}
229
-
230
- #### Props
231
- | Prop名 | 型 | 必須 | 説明 |
232
- |--------|-----|------|------|
233
-
234
- #### 状態管理
235
- - ...
236
-
237
- #### イベント
238
- | イベント | トリガー | 処理内容 |
239
- |---------|---------|---------|
240
-
241
- ---
242
-
243
- ## 4. 画面遷移
244
-
245
- ```mermaid
246
- graph LR
247
- A[画面A] --> B[画面B]
248
- ```
182
+ 主要セクション:
183
+ 1. 画面一覧
184
+ 2. 画面設計(レイアウト・コンポーネント・データバインディング)
185
+ 3. 共通コンポーネント仕様
186
+ 4. 画面遷移
187
+ 5. エラーハンドリング
188
+ 6. アクセシビリティ
189
+ 7. data-testid一覧(命名規約は下記参照)
190
+ 8. 変更履歴
249
191
 
250
192
  ---
251
193
 
252
- ## 5. エラーハンドリング
194
+ ## data-testid 命名規約(正規リファレンス)
253
195
 
254
- | エラー種別 | 表示内容 | UX |
255
- |-----------|---------|-----|
196
+ > **このスキルが data-testid 命名規約の Single Source of Truth です。**
197
+ > 詳細: [`references/data-testid-convention.md`](references/data-testid-convention.md)
256
198
 
257
- ---
258
-
259
- ## 6. アクセシビリティ
260
-
261
- - キーボードナビゲーション
262
- - スクリーンリーダー対応
263
- - 色のコントラスト比
264
-
265
- ---
199
+ ### 命名パターン(概要)
266
200
 
267
- ## 7. data-testid一覧
201
+ | 要素タイプ | 命名パターン | 例 |
202
+ |----------|------------|---|
203
+ | ページコンテナ | `{page}-container` | `client-list-container` |
204
+ | テーブル行 | `{entity}-row-{id}` | `client-row-001` |
205
+ | ボタン | `{action}-{target}-button` | `submit-create-process-button` |
206
+ | 入力フィールド | `{field}-input` | `process-label-input` |
207
+ | ステータス表示 | `{entity}-{property}` | `process-status` |
208
+ | エラーメッセージ | `{field}-error` | `amount-error` |
268
209
 
269
- | 要素 | data-testid |
270
- |------|-------------|
210
+ ### ロケーター優先順位
271
211
 
272
- ---
273
-
274
- ## 変更履歴
275
-
276
- | 日付 | ストーリー | 変更内容 |
277
- |------|-----------|---------|
278
- | YYYY-MM-DD | US-XXX | 初版作成 |
279
- | YYYY-MM-DD | US-YYY | {画面名}を追加 |
280
- ```
212
+ 1. `data-testid` — 最優先(テスト専用属性)
213
+ 2. `role` — セマンティックなロケーター
214
+ 3. `text` — 表示テキスト
215
+ 4. `css/xpath` — 最終手段(避ける)
281
216
 
282
217
  ---
283
218
 
@@ -0,0 +1,38 @@
1
+ # data-testid 命名規約(正規リファレンス)
2
+
3
+ > **このファイルが data-testid 命名規約の Single Source of Truth です。**
4
+ > 他スキル(scenario-test-logic-designer 等)からはこのファイルを参照してください。
5
+
6
+ ## 命名パターン
7
+
8
+ | 要素タイプ | 命名パターン | 例 |
9
+ |----------|------------|---|
10
+ | ページコンテナ | `{page}-container` | `client-list-container` |
11
+ | テーブル行 | `{entity}-row-{id}` | `client-row-001` |
12
+ | ボタン | `{action}-{target}-button` | `submit-create-process-button` |
13
+ | 入力フィールド | `{field}-input` | `process-label-input` |
14
+ | ステータス表示 | `{entity}-{property}` | `process-status` |
15
+ | エラーメッセージ | `{field}-error` | `amount-error` |
16
+
17
+ ## ロケーター優先順位
18
+
19
+ 1. `data-testid` — 最優先(テスト専用属性)
20
+ 2. `role` — セマンティックなロケーター
21
+ 3. `text` — 表示テキスト
22
+ 4. `css/xpath` — 最終手段(避ける)
23
+
24
+ ```typescript
25
+ // 推奨
26
+ await page.getByTestId('submit-button').click();
27
+ await page.getByRole('button', { name: '保存' }).click();
28
+
29
+ // 非推奨
30
+ await page.click('button.primary'); // CSSセレクタ
31
+ ```
32
+
33
+ ## 命名の原則
34
+
35
+ - **kebab-case** を使用する(camelCase や snake_case は不可)
36
+ - **具体的で一意** — ページ内で重複しない名前をつける
37
+ - **実装詳細を含めない** — CSS クラス名やコンポーネント内部名を避ける
38
+ - **ユーザー視点** — 機能・役割ベースで命名する
@@ -0,0 +1,105 @@
1
+ # uiux_design.md テンプレート
2
+
3
+ ```markdown
4
+ # UIUX設計: {Unit名}
5
+
6
+ ## 概要
7
+ このドキュメントは {Unit名} UnitのUIUX設計を定義する。
8
+ 仕様変更のたびに更新される永続的な設計文書。
9
+
10
+ ## 1. 画面一覧
11
+
12
+ | 画面名 | パス | 対象ストーリー | 状態 |
13
+ |--------|------|---------------|------|
14
+ | {画面名} | `/path/to/screen` | US-XXX | 実装済/設計中 |
15
+
16
+ ---
17
+
18
+ ## 2. 画面設計
19
+
20
+ ### 2.1 {画面名}
21
+
22
+ #### 対象ストーリー
23
+ - US-XXX: {ストーリー概要}
24
+
25
+ #### レイアウト
26
+ ```
27
+ ┌────────────────────────┐
28
+ │ Header │
29
+ ├────────────────────────┤
30
+ │ Main Content │
31
+ │ ┌───────┐ ┌───────┐ │
32
+ │ │ Card │ │ Card │ │
33
+ │ └───────┘ └───────┘ │
34
+ └────────────────────────┘
35
+ ```
36
+
37
+ #### コンポーネント
38
+ | コンポーネント | Props | 状態 | イベント |
39
+ |-------------|-------|------|---------|
40
+
41
+ #### データバインディング
42
+ | 表示項目 | データソース | 形式 |
43
+ |---------|------------|------|
44
+
45
+ ### 2.2 ...
46
+
47
+ ---
48
+
49
+ ## 3. 共通コンポーネント仕様
50
+
51
+ ### {コンポーネント名}
52
+
53
+ #### Props
54
+ | Prop名 | 型 | 必須 | 説明 |
55
+ |--------|-----|------|------|
56
+
57
+ #### 状態管理
58
+ - ...
59
+
60
+ #### イベント
61
+ | イベント | トリガー | 処理内容 |
62
+ |---------|---------|---------|
63
+
64
+ ---
65
+
66
+ ## 4. 画面遷移
67
+
68
+ ```mermaid
69
+ graph LR
70
+ A[画面A] --> B[画面B]
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 5. エラーハンドリング
76
+
77
+ | エラー種別 | 表示内容 | UX |
78
+ |-----------|---------|-----|
79
+
80
+ ---
81
+
82
+ ## 6. アクセシビリティ
83
+
84
+ - キーボードナビゲーション
85
+ - スクリーンリーダー対応
86
+ - 色のコントラスト比
87
+
88
+ ---
89
+
90
+ ## 7. data-testid一覧
91
+
92
+ | 要素 | data-testid |
93
+ |------|-------------|
94
+
95
+ ※ 命名規約は `skills/uiux-designer/references/data-testid-convention.md` を参照
96
+
97
+ ---
98
+
99
+ ## 変更履歴
100
+
101
+ | 日付 | ストーリー | 変更内容 |
102
+ |------|-----------|---------|
103
+ | YYYY-MM-DD | US-XXX | 初版作成 |
104
+ | YYYY-MM-DD | US-YYY | {画面名}を追加 |
105
+ ```