phasegate 0.183.0 → 0.212.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 (100) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.ja.md +52 -15
  3. package/README.md +39 -11
  4. package/docs/ADR/030-injection-threat-model-and-trust-root.md +145 -0
  5. package/docs/guide/hooks-integration.md +50 -1
  6. package/docs/guide/installation.md +1 -1
  7. package/docs/guide/quick-vs-full-mode.md +1 -1
  8. package/docs/guide/skills-overview.md +17 -17
  9. package/package.json +1 -1
  10. package/scripts/harness/agent-integration/presentation/phasegate-status-context.ts +131 -63
  11. package/scripts/harness/agent-integration/presentation/session-start-hook.ts +31 -4
  12. package/scripts/harness/agent-integration/presentation/spotlight.ts +65 -0
  13. package/scripts/harness/biome-ast-engine/infrastructure/parsers/comment-density-parser.ts +51 -10
  14. package/scripts/harness/ci-governance/application/dto/pin-integrity-input.ts +8 -0
  15. package/scripts/harness/ci-governance/application/dto/pin-integrity-output.ts +9 -0
  16. package/scripts/harness/ci-governance/application/dto/verify-integrity-input.ts +7 -0
  17. package/scripts/harness/ci-governance/application/dto/verify-integrity-output.ts +10 -0
  18. package/scripts/harness/ci-governance/application/usecases/pin-integrity-usecase.ts +60 -0
  19. package/scripts/harness/ci-governance/application/usecases/verify-integrity-usecase.ts +46 -0
  20. package/scripts/harness/ci-governance/composition-root.ts +68 -65
  21. package/scripts/harness/ci-governance/domain/ports/integrity-manifest-repository-port.ts +14 -0
  22. package/scripts/harness/ci-governance/domain/ports/sha256-hasher-port.ts +10 -0
  23. package/scripts/harness/ci-governance/domain/services/integrity-checker.ts +42 -0
  24. package/scripts/harness/ci-governance/domain/value-objects/integrity-drift.ts +16 -0
  25. package/scripts/harness/ci-governance/domain/value-objects/integrity-manifest.ts +49 -0
  26. package/scripts/harness/ci-governance/domain/value-objects/integrity-target.ts +40 -0
  27. package/scripts/harness/ci-governance/infrastructure/adapters/adr-foundation-existence-adapter.ts +26 -2
  28. package/scripts/harness/ci-governance/infrastructure/adapters/file-system-sha256-hasher-adapter.ts +17 -0
  29. package/scripts/harness/ci-governance/infrastructure/adapters/harness-api-command-existence-adapter.ts +8 -1
  30. package/scripts/harness/ci-governance/infrastructure/adapters/integrity-manifest-json-repository-adapter.ts +83 -0
  31. package/scripts/harness/ci-governance/presentation/handlers/integrity-handler.ts +76 -0
  32. package/scripts/harness/config-foundation/application/mappers/validator-system-config-mapper.ts +53 -28
  33. package/scripts/harness/harness-api/domain/value-objects/ci-check-result.ts +33 -8
  34. package/scripts/harness/harness-api/domain/value-objects/known-harness-commands.ts +90 -0
  35. package/scripts/harness/installation/application/bundled-skill-selection.ts +2 -5
  36. package/scripts/harness/main.ts +257 -105
  37. package/scripts/harness/phase-dependency-model/domain/ports/story-reflection-file-system-port.ts +2 -0
  38. package/scripts/harness/phase-dependency-model/domain/services/story-reflection-checker.ts +8 -0
  39. package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +137 -2
  40. package/scripts/harness/quick-mode/domain/services/quick-mode-judgment-engine.ts +44 -40
  41. package/scripts/harness/setup/skill-deployer.ts +8 -10
  42. package/scripts/harness/skill-quality/domain/services/skill-structure-validator.ts +13 -2
  43. package/scripts/harness/skill-quality/domain/types/skill-kind.ts +6 -0
  44. package/scripts/harness/skill-quality/domain/value-objects/skill-structure.ts +24 -8
  45. package/scripts/harness/validator-system/application/use-cases/run-l2-validators-usecase.ts +82 -49
  46. package/scripts/harness/validator-system/application/use-cases/run-l3-validators-usecase.ts +87 -58
  47. package/scripts/harness/validator-system/composition-root.ts +141 -99
  48. package/scripts/harness/validator-system/domain/ports/coverage-attestation-gating-policy-port.ts +14 -0
  49. package/scripts/harness/validator-system/domain/ports/injection-scan-policy-port.ts +14 -0
  50. package/scripts/harness/validator-system/domain/services/coverage-attestation-gating-service.ts +56 -0
  51. package/scripts/harness/validator-system/domain/services/injection-pattern-scan-service.ts +118 -0
  52. package/scripts/harness/validator-system/domain/value-objects/coverage-gating-report.ts +67 -0
  53. package/scripts/harness/validator-system/domain/value-objects/injection-scan-report.ts +55 -0
  54. package/scripts/harness/validator-system/domain/value-objects/validator-id.ts +35 -31
  55. package/scripts/harness/validator-system/infrastructure/adapters/adr-foundation-reference-adapter.ts +13 -7
  56. package/scripts/harness/validator-system/infrastructure/adapters/file-system-coverage-attestation-gating-adapter.ts +87 -0
  57. package/scripts/harness/validator-system/infrastructure/adapters/file-system-injection-scan-adapter.ts +82 -0
  58. package/skills/README.md +1 -1
  59. package/skills/cascade-updater/SKILL.md +3 -3
  60. package/skills/codebase-mapper/SKILL.md +6 -6
  61. package/skills/codex-delegator/SKILL.md +4 -3
  62. package/skills/codex-delegator/references/prompt-patterns.md +3 -3
  63. package/skills/codex-delegator/references/review-dimensions.md +1 -1
  64. package/skills/consistency-checker/SKILL.md +1 -1
  65. 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 +1 -1
  66. package/skills/doc-health-checker/SKILL.md +148 -0
  67. package/skills/domain-designer/SKILL.md +4 -2
  68. package/skills/engineering-perspective/SKILL.md +1 -0
  69. package/skills/environment-designer/SKILL.md +8 -6
  70. package/skills/implementation-readiness-checker/SKILL.md +2 -1
  71. package/skills/it-test-designer/SKILL.md +10 -8
  72. package/skills/it-test-logic-designer/SKILL.md +11 -9
  73. package/skills/it-test-logic-designer/references/repository-test-patterns.md +8 -1
  74. package/skills/logical-designer/SKILL.md +5 -3
  75. package/skills/mock-designer/SKILL.md +10 -6
  76. package/skills/phasegate-config-doctor/SKILL.md +3 -2
  77. package/skills/phasegate-toolkit-guide/SKILL.md +1 -0
  78. package/skills/quick-implementor/SKILL.md +1 -1
  79. package/skills/release-publisher/SKILL.md +101 -0
  80. package/skills/scenario-test-designer/SKILL.md +27 -14
  81. package/skills/scenario-test-logic-designer/SKILL.md +10 -8
  82. package/skills/scenario-test-logic-designer/references/msw-patterns.md +3 -1
  83. package/skills/scenario-test-logic-designer/references/playwright-patterns.md +3 -1
  84. package/skills/skill-creator/SKILL.md +75 -332
  85. package/skills/story-implementor/SKILL.md +54 -0
  86. package/skills/story-mapper/SKILL.md +8 -4
  87. package/skills/story-writer/SKILL.md +14 -5
  88. package/skills/test-coverage-checker/SKILL.md +4 -6
  89. package/skills/uiux-designer/SKILL.md +4 -2
  90. package/skills/uiux-designer/references/uiux-design-template.md +4 -4
  91. package/skills/unit-designer/SKILL.md +11 -7
  92. package/skills/unit-test-designer/SKILL.md +25 -11
  93. package/skills/unit-test-logic-designer/SKILL.md +10 -8
  94. package/skills/unit-test-logic-designer/references/test-patterns.md +7 -1
  95. package/skills/doc-freshness-checker/SKILL.md +0 -140
  96. package/skills/implementation-planner/SKILL.md +0 -167
  97. package/skills/implementation-planner/references/document-structure.md +0 -116
  98. package/skills/implementation-planner/references/plan-template.md +0 -177
  99. package/skills/implementation-planner/references/workflow.md +0 -164
  100. package/skills/pointer-validator/SKILL.md +0 -104
@@ -14,7 +14,7 @@ languages: [typescript]
14
14
 
15
15
  ```
16
16
  テストケース設計フェーズ
17
- scenario-test-designer → it-test-designer → unit-test-designer
17
+ scenario-test-designer → uiux-designer → unit-test-designer → it-test-designer
18
18
 
19
19
  ┌───────────────────────────┐
20
20
  │ test-coverage-checker │ ← ここで実行
@@ -25,7 +25,7 @@ languages: [typescript]
25
25
  *-test-logic-designer(各レベル)
26
26
 
27
27
  TDD実装フェーズ
28
- story-implementor
28
+ implementation-readiness-checker → story-implementor
29
29
  ```
30
30
 
31
31
  ## 前提条件チェック
@@ -233,7 +233,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
233
233
  ## Phase 3: レビュー(Opus review)
234
234
 
235
235
  ### 実行主体
236
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
236
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
237
237
 
238
238
  ### レビュー手順
239
239
  1. Sonnetが出力したファイルを読み込む
@@ -357,9 +357,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
357
357
  3. **`test-coverage-checker`** → カバレッジ再検証(本スキル)
358
358
  4. **`unit-test-logic-designer`** → ユニットテストロジック設計
359
359
  5. **`it-test-logic-designer`** → ITテストロジック設計
360
- 6. **TDDエージェント** → テスト実装(RED→GREEN
361
- - `model-tdd-executor` → ユニットテスト
362
- - `it-tdd-executor` → ITテスト
360
+ 6. **`story-implementor`** → テスト実装(RED→GREEN)を含むTDD実装
363
361
 
364
362
  ### 注意事項
365
363
 
@@ -16,7 +16,7 @@ languages: [typescript]
16
16
  - **論理設計** — `docs/product/construction/{unit}/logical_design.md` または ストーリー固有論理設計
17
17
 
18
18
  ### 任意インプット(あれば参照)
19
- - **UIモック** — `/mock/*.html`(初期デザイン意図の参考)
19
+ - **UIモック** — プロジェクトルート相対の `mock/` ディレクトリ配下の `*.html`(mock-designer の出力先。初期デザイン意図の参考)
20
20
  - **既存UI実装** — 関連する既存画面コンポーネント
21
21
  - **既存UIUX設計** — `docs/product/construction/{unit}/uiux_design.md`(更新時に参照)
22
22
  - **デザインシステム** — 色・フォント・コンポーネント規約
@@ -34,7 +34,9 @@ languages: [typescript]
34
34
  |---------|------|------------|
35
35
  | `docs/inception/{unit}/{story_id}/scenario_test_design.md` | ✅ 必須 | シナリオテスト設計の存在を確認 |
36
36
  | `docs/product/construction/{unit}/logical_design.md` | ✅ 必須 | 論理設計の存在を確認 |
37
- | `/mock/*.html` | 📋 推奨 | 初期モックの存在を確認 |
37
+ | `mock/*.html`(プロジェクトルート相対、mock-designer の出力先) | 📋 推奨 | 初期モックの存在を確認 |
38
+
39
+ > **パス注記**: 上表の設計文書パス(`docs/inception/...` / `docs/product/construction/...`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
38
40
 
39
41
  ### 上位設計が存在しない場合のアクション
40
42
 
@@ -11,7 +11,7 @@
11
11
 
12
12
  | 画面名 | パス | 対象ストーリー | 状態 |
13
13
  |--------|------|---------------|------|
14
- | {画面名} | `/path/to/screen` | US-XXX | 実装済/設計中 |
14
+ | {画面名} | `/path/to/screen` | HXX-XX | 実装済/設計中 |
15
15
 
16
16
  ---
17
17
 
@@ -20,7 +20,7 @@
20
20
  ### 2.1 {画面名}
21
21
 
22
22
  #### 対象ストーリー
23
- - US-XXX: {ストーリー概要}
23
+ - HXX-XX: {ストーリー概要}
24
24
 
25
25
  #### レイアウト
26
26
  ```
@@ -100,6 +100,6 @@ graph LR
100
100
 
101
101
  | 日付 | ストーリー | 変更内容 |
102
102
  |------|-----------|---------|
103
- | YYYY-MM-DD | US-XXX | 初版作成 |
104
- | YYYY-MM-DD | US-YYY | {画面名}を追加 |
103
+ | YYYY-MM-DD | HXX-XX | 初版作成 |
104
+ | YYYY-MM-DD | HYY-YY | {画面名}を追加 |
105
105
  ```
@@ -16,6 +16,7 @@ languages: [typescript]
16
16
  - **ユーザーストーリー一覧** — `docs/product/user_stories.md` またはストーリーが記載された文書
17
17
 
18
18
  ### 任意インプット(あれば参照)
19
+ - **ユーザーストーリーマッピング(推奨)** — `docs/product/user_story_mapping.md`(S1.5 story-mapper の成果物)。MVP/Post-MVP のスコープ整理と優先順位を提供する。存在すれば Unit グルーピングと構築優先度の判断材料として取り込む
19
20
  - **既存の統合契約** — フォーマットに準拠する
20
21
  - **技術スタック概要** — 各層の技術選定(Gateway、API Server、DB等)
21
22
  - **プロダクト概要** — コアドメインの理解
@@ -24,13 +25,14 @@ languages: [typescript]
24
25
 
25
26
  ## ⚠️ 上位レイヤー存在チェック
26
27
 
27
- **このスキルは AIDLC Step 3「Unitの設計」に対応します。実行前に上位設計の存在を確認してください。**
28
+ **このスキルは AIDLC Step 1.2「Unitの設計」に対応します。実行前に上位設計の存在を確認してください。**
28
29
 
29
30
  ### 依存する上位設計文書
30
31
 
31
32
  | ファイル | 必須 | チェック方法 |
32
33
  |---------|------|------------|
33
34
  | `docs/product/user_stories.md` | ✅ 必須 | ファイルの存在を確認 |
35
+ | `docs/product/user_story_mapping.md` | 任意(推奨) | 存在すれば読み込み、MVP スコープを Unit グルーピングに反映する。無ければスキップしてよい |
34
36
 
35
37
  ### 上位設計が存在しない場合のアクション
36
38
 
@@ -65,10 +67,10 @@ languages: [typescript]
65
67
 
66
68
  **このスキルは3フェーズで実行する。**
67
69
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
68
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
70
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
69
71
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
70
72
 
71
- **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
73
+ **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照(consumer プロジェクトでは `node_modules/phasegate/docs/principles/model-routing.md`、phasegate 自リポジトリでは `docs/principles/model-routing.md` を参照する)。**
72
74
 
73
75
  ---
74
76
 
@@ -80,6 +82,8 @@ Unit分割の方針・グルーピングの根拠・不明点を整理し、人
80
82
  ### 出力ファイル
81
83
  `docs/inception/_shared/unit_design_plan.md`
82
84
 
85
+ > **パス注記**: 本スキルが扱う設計文書パス(`docs/inception/...` / `docs/product/units/...`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
86
+
83
87
  ### 計画ファイルの構成
84
88
 
85
89
  ```markdown
@@ -129,7 +133,7 @@ Unit分割の方針・グルーピングの根拠・不明点を整理し、人
129
133
 
130
134
  ### ワークフロー
131
135
 
132
- 1. **Unit定義の作成** — 各Unitの概要・担当ストーリー・機能要件・データモデル概要・外部依存を定義
136
+ 1. **Unit定義の作成** — 各Unitの概要・担当ストーリー・機能要件・データモデル概要・外部依存を定義。`user_story_mapping.md` があれば、その MVP スコープと優先順位を Unit グルーピング・構築順序の判断材料として反映する
133
137
  2. **統合契約の作成** — 技術スタック概要、依存関係図、公開APIエンドポイント、共通データフォーマット、認証認可を定義
134
138
  3. **マッピング検証** — 全ストーリーがいずれかのUnitに所属していることを確認
135
139
 
@@ -157,7 +161,7 @@ Unit分割の方針・グルーピングの根拠・不明点を整理し、人
157
161
 
158
162
  ## 🔗 成果物のトレーサビリティメタデータ(必須)
159
163
 
160
- Phase 2 で生成する Unit 定義文書には、以下 2 種類のメタデータを emit する。`MetadataValidator.validateDesignDocument` が検証対象とし、ISSUE-008 Phase B-2/B-3 完了後は `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
164
+ Phase 2 で生成する Unit 定義文書には、以下 2 種類のメタデータを emit する。これらのメタデータは `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
161
165
 
162
166
  ### 1. YAML frontmatter(新規作成時)
163
167
 
@@ -199,11 +203,11 @@ Phase 3 レビューで以下を BLOCK 基準として確認する:
199
203
  ## Phase 3: レビュー(Opus review)
200
204
 
201
205
  ### 実行主体
202
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
206
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
203
207
 
204
208
  ### レビュー手順
205
209
  1. Sonnetが出力したファイルを読み込む
206
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
210
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
207
211
  3. **スキル固有レビュー観点**を検証する
208
212
  4. 判定結果を出力する
209
213
 
@@ -17,9 +17,11 @@ languages: [typescript]
17
17
 
18
18
  ### 任意インプット(あれば参照)
19
19
  - **論理設計** — `docs/product/construction/{unit}/logical_design.md`
20
- - **テスト規約** — `docs/principles/testing-rules.md`
20
+ - **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
21
21
  - **既存ユニットテスト** — 既存パターンの参考
22
22
 
23
+ > **設計文書パスの注記:** 上記および本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
24
+
23
25
  ---
24
26
 
25
27
  ## ⛔ スキップ禁止
@@ -35,14 +37,18 @@ languages: [typescript]
35
37
  ```
36
38
  scenario-test-designer
37
39
 
38
- it-test-designer
40
+ uiux-designer
39
41
 
40
42
  unit-test-designer(本スキル)← ユニットテストケース設計
41
43
 
44
+ it-test-designer
45
+
42
46
  test-coverage-checker ← カバレッジ検証(ここでテストケース設計の網羅性をチェック)
43
47
 
44
48
  テストロジック設計
45
49
 
50
+ implementation-readiness-checker
51
+
46
52
  story-implementor ← TDD実装
47
53
  ```
48
54
 
@@ -78,7 +84,7 @@ story-implementor ← TDD実装
78
84
 
79
85
  **このスキルは3フェーズで実行する。**
80
86
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
81
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
87
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
82
88
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
83
89
 
84
90
  **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
@@ -150,11 +156,11 @@ story-implementor ← TDD実装
150
156
  ## Phase 3: レビュー(Opus review)
151
157
 
152
158
  ### 実行主体
153
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
159
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
154
160
 
155
161
  ### レビュー手順
156
162
  1. Sonnetが出力したファイルを読み込む
157
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
163
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
158
164
  3. **スキル固有レビュー観点**を検証する
159
165
  4. 判定結果を出力する
160
166
 
@@ -192,34 +198,42 @@ story-implementor ← TDD実装
192
198
 
193
199
  ユニットテストケース設計完了後、以下の順序で進めてください:
194
200
 
201
+ ### テストケース設計フェーズ(続き)
202
+ 1. **ITテストケース設計** — UseCase/Repository/Controllerのテストケース
203
+ - `it-test-designer` スキルを実行
204
+
195
205
  ### カバレッジ検証フェーズ
196
- 1. **テストカバレッジ検証** — テストケース設計の網羅性チェック
206
+ 2. **テストカバレッジ検証** — テストケース設計の網羅性チェック
197
207
  - `test-coverage-checker` スキルを実行
198
208
  - 受け入れ基準・ドメインロジック・UseCaseのカバレッジを確認
199
209
  - カバレッジ90%以上を目指す
200
210
 
201
211
  ### テストロジック設計フェーズ
202
- 2. **テストロジック設計** — 各レベルの実装ロジックを詳細設計
212
+ 3. **テストロジック設計** — 各レベルの実装ロジックを詳細設計
203
213
  - `unit-test-logic-designer` — ユニットテストの疑似コード設計
204
214
  - `it-test-logic-designer` — ITテストの疑似コード設計
205
215
  - `scenario-test-logic-designer` — シナリオテストの疑似コード設計
206
216
 
207
217
  ### TDD実装フェーズ
208
- 3. **TDD実装**Unit → IT → E2E の順序で実装
218
+ 4. **実装準備検証**実装前提条件の自動検証
219
+ - `implementation-readiness-checker` スキルを実行
220
+ 5. **TDD実装** — Unit → IT → E2E の順序で実装
209
221
  - `story-implementor` スキルを実行
210
222
 
211
223
  **推奨フロー図:**
212
224
  ```
213
- scenario-test-designer
214
-
215
- it-test-designer
225
+ scenario-test-designer → uiux-designer
216
226
 
217
227
  unit-test-designer(本スキル)
218
228
 
229
+ it-test-designer
230
+
219
231
  test-coverage-checker ← テストケース設計の網羅性チェック
220
232
 
221
233
  unit-test-logic-designer → it-test-logic-designer → scenario-test-logic-designer
222
234
 
235
+ implementation-readiness-checker
236
+
223
237
  story-implementor ← TDD実装
224
238
  ```
225
239
 
@@ -14,7 +14,7 @@ Unitテストケース設計(`unit_test_design.md`)を元に、Vitest実装
14
14
 
15
15
  ```
16
16
  テストケース設計フェーズ
17
- unit-test-designer → it-test-designer → scenario-test-designer
17
+ scenario-test-designer → uiux-designer → unit-test-designer → it-test-designer
18
18
 
19
19
  test-coverage-checker
20
20
 
@@ -25,7 +25,7 @@ Unitテストケース設計(`unit_test_design.md`)を元に、Vitest実装
25
25
  it-test-logic-designer → scenario-test-logic-designer
26
26
 
27
27
  TDD実装フェーズ
28
- story-implementor
28
+ implementation-readiness-checker → story-implementor
29
29
  ```
30
30
 
31
31
  ## 前提条件チェック
@@ -36,8 +36,10 @@ TDD実装フェーズ
36
36
 
37
37
  ### 推奨インプット(あれば参照)
38
38
  - **カバレッジレポート** — `docs/product/construction/{unit}/coverage_report.md`
39
- - **既存ユニットテスト** — `backend/test/unit/**/*.test.ts`(パターン参考)
40
- - **テスト規約** — `docs/principles/testing-rules.md`
39
+ - **既存ユニットテスト** — 対象プロジェクトの構成(package.json scripts, vitest 設定, `phasegate.config.json` の paths)からテスト配置を特定してパターン参考にする。例(モノレポ構成の場合): `backend/test/unit/**/*.test.ts`
40
+ - **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
41
+
42
+ > **設計文書パスの注記:** 本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
41
43
 
42
44
  ---
43
45
 
@@ -61,7 +63,7 @@ TDD実装フェーズ
61
63
  ## ⚠️ 3フェーズ実行ルール
62
64
 
63
65
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
64
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
66
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
65
67
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
66
68
 
67
69
  **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
@@ -168,11 +170,11 @@ TDD実装フェーズ
168
170
  ## Phase 3: レビュー(Opus review)
169
171
 
170
172
  ### 実行主体
171
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
173
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
172
174
 
173
175
  ### レビュー手順
174
176
  1. Sonnetが出力したファイルを読み込む
175
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
177
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
176
178
  3. **スキル固有レビュー観点**を検証する
177
179
  4. 判定結果を出力する
178
180
 
@@ -213,7 +215,7 @@ Phase 2 で設計するテストファイル(`*.test.ts` / `*.spec.ts`)の
213
215
  - **テストコードは生成しない**(設計文書のみ)— 実装は `story-implementor` が行う
214
216
  - 疑似コードは実装の指針となる詳細レベルで記載する
215
217
  - TDDの「RED」フェーズで正しく失敗するテストを設計する
216
- - 既存のテストパターン(`backend/test/unit/**/*.test.ts`)を参照してスタイルを統一する
218
+ - 既存のテストパターンを参照してスタイルを統一する(テスト配置は対象プロジェクトの構成から特定する。例(モノレポ構成の場合): `backend/test/unit/**/*.test.ts`)
217
219
 
218
220
  ---
219
221
 
@@ -2,12 +2,14 @@
2
2
 
3
3
  unit-test-logic-designer が出力する `unit_test_logic.md` で使用するテストパターンのリファレンス。
4
4
 
5
+ > **配置パス・実行コマンドについて:** 以下に登場するテスト配置ディレクトリ(`backend/test/helpers/` 等)・相対インポートパス・テスト実行コマンドは、対象プロジェクトの構成(`package.json` scripts, vitest 設定, `phasegate.config.json` の paths)から特定すること。本ファイルの具体値は例(モノレポ構成の場合)であり、疑似コードのテンプレート構造自体はそのまま流用してよい。
6
+
5
7
  ---
6
8
 
7
9
  ## 1. ファクトリ関数パターン
8
10
 
9
11
  ```typescript
10
- // backend/test/helpers/{context}-helper.ts
12
+ // 例(モノレポ構成の場合): backend/test/helpers/{context}-helper.ts
11
13
 
12
14
  /**
13
15
  * {集約名}のテスト用ファクトリ
@@ -24,6 +26,8 @@ export function create{Aggregate}(overrides?: Partial<{Aggregate}Props>): {Aggre
24
26
 
25
27
  ### 共通ヘルパーのインポート
26
28
 
29
+ 相対インポートの階層はテストファイルとヘルパーの実配置に依存する。以下は例(モノレポ構成の場合)。
30
+
27
31
  ```typescript
28
32
  import { target, context } from '../../../../helpers/common-helper.js';
29
33
  ```
@@ -195,6 +199,8 @@ expect(actual).toBe(expected);
195
199
 
196
200
  ## 7. テスト実行コマンド
197
201
 
202
+ 実行コマンドは対象プロジェクトの構成(`package.json` scripts, vitest 設定, `phasegate.config.json` の paths)から特定する。以下は例(pnpm モノレポ構成の場合)。
203
+
198
204
  ```bash
199
205
  # 全ユニットテスト実行
200
206
  pnpm --filter backend test:unit
@@ -1,140 +0,0 @@
1
- ---
2
- name: doc-freshness-checker
3
- description: 設計文書の鮮度チェック(L4バリデータ拡張)。`phasegate check-freshness` CLIを使い、設計文書の最終更新日が閾値を超えていないか、コード変更と設計文書の乖離がないかを検出する。使用タイミング: 「設計文書が古くなっていないか確認して」「ドキュメントの鮮度チェックを実行して」「L4 freshness チェック」「設計とコードの乖離を調べて」など。
4
- model: sonnet
5
- review: opus
6
- languages: [typescript]
7
- ---
8
-
9
- # Doc Freshness Checker
10
-
11
- ## 目的
12
-
13
- 設計文書の鮮度(freshness)を検証し、古くなった文書や対応コードとの乖離を検出するスキル。
14
- `phasegate check-freshness` CLIをラップし、結果を解釈・対処する。
15
-
16
- ## 前提条件
17
-
18
- - `phasegate.config.json` に `docFreshnessThresholds` が設定されていること(未設定時はデフォルト値使用)
19
- - git リポジトリ内で実行すること(最終更新日は `git log` で判定)
20
-
21
- ## 入力
22
-
23
- - 対象ディレクトリ: `--dir <path>` または `phasegate.config.json` の `constructionDir`(デフォルト `docs/`)
24
- - 閾値: `--threshold <days>` または `docFreshnessThresholds`(未設定時はデフォルト30日)
25
- - git 履歴(最終更新日の判定に使用)
26
-
27
- ---
28
-
29
- ## ⚠️ 2フェーズ実行ルール
30
-
31
- - **Phase 1(計画)**: チェック対象スコープを確認し、人間の承認を得る
32
- - **Phase 2(実行)**: CLIを実行し、結果を解釈してアクションを提案する
33
-
34
- **Phase 1/2を同時に実行してはならない。**
35
-
36
- ---
37
-
38
- ## Phase 1: チェック計画(plan)
39
-
40
- ### 出力(会話内のみ)
41
-
42
- ```markdown
43
- # Doc Freshness チェック計画
44
-
45
- ## チェック対象スコープ
46
- - ディレクトリ: {phasegate.config.json の constructionDir、デフォルト: docs/}
47
- - 閾値: {phasegate.config.json の値 or デフォルト 30日}
48
-
49
- ## 実行コマンド
50
- npx phasegate check-freshness [--dir {path}] [--threshold {days}]
51
-
52
- ## QA
53
- [Question] Q1: ...
54
- [Answer]
55
- ```
56
-
57
- ### Phase 1 完了条件
58
- - スコープを報告した
59
- - 人間にボールを渡した
60
- - **CLIはまだ実行していない**
61
-
62
- ---
63
-
64
- ## Phase 2: 実行(execution)
65
-
66
- ### Step 1: CLIの実行
67
-
68
- ```bash
69
- npx phasegate check-freshness
70
- ```
71
-
72
- オプション:
73
- - `--dir <path>` — チェック対象ディレクトリ(デフォルト: `phasegate.config.json` の `constructionDir`)
74
- - `--threshold <days>` — 警告閾値(日数)
75
-
76
- ### Step 2: 結果の解釈
77
-
78
- `CheckDocFreshnessOutput` の構造:
79
-
80
- | フィールド | 意味 |
81
- |-----------|------|
82
- | `results[].status` | `ok` / `warn` / `error` |
83
- | `results[].documentPath` | チェック対象ファイルパス |
84
- | `results[].daysSinceUpdate` | 最終更新からの日数 |
85
- | `results[].threshold` | 設定閾値 |
86
- | `summary.error` | エラー件数(即対応必要) |
87
- | `summary.warn` | 警告件数(確認推奨) |
88
-
89
- ### Step 3: アクションの提案
90
-
91
- | 状態 | 推奨アクション |
92
- |------|--------------|
93
- | `error`(閾値超過) | cascade-updater で上位設計文書を更新 |
94
- | `warn`(閾値近接) | 設計文書の内容確認・必要に応じて更新 |
95
- | `ok` | 対応不要 |
96
-
97
- ### 出力フォーマット
98
-
99
- ```markdown
100
- # Doc Freshness チェック結果
101
-
102
- ## サマリー
103
- - 総ドキュメント数: N
104
- - ok: N / warn: N / error: N
105
-
106
- ## 要対応(error)
107
- | ファイル | 最終更新 | 閾値超過日数 | 推奨アクション |
108
- |---------|---------|------------|--------------|
109
-
110
- ## 要確認(warn)
111
- | ファイル | 最終更新 | 残り日数 |
112
- |---------|---------|---------|
113
-
114
- ## 次のアクション
115
- (errorがある場合は `cascade-updater` の実行を提案)
116
- ```
117
-
118
- ---
119
-
120
- ## phasegate.config.json 設定例
121
-
122
- ```json
123
- {
124
- "docFreshnessThresholds": {
125
- "domain_model.md": 90,
126
- "logical_design.md": 60,
127
- "unit_test_design.md": 30,
128
- "default": 30
129
- }
130
- }
131
- ```
132
-
133
- ---
134
-
135
- ## 関連スキル
136
-
137
- | スキル | 用途 |
138
- |-------|------|
139
- | `cascade-updater` | errorが検出された設計文書の更新 |
140
- | `consistency-checker` | 文書間整合性の検証(freshness修正後の確認) |
@@ -1,167 +0,0 @@
1
- ---
2
- name: implementation-planner
3
- description: "Unit仕様とドメインモデル設計を元に実装計画を立てる。WI IDや機能名から関連Unitを特定し、API設計・レイヤー別実装方針を整理してmdファイルで出力する。使用タイミング: 実装計画を立てて、WI-XXXの実装方針を決めて、この機能の設計を整理して、など実装前の計画策定時。"
4
- model: sonnet
5
- review: opus
6
- languages: [typescript]
7
- ---
8
-
9
- # Implementation Planner
10
-
11
- ## 目的
12
-
13
- UnitドキュメントとConstructionのドメインモデル設計を元に、**設計フェーズの実装計画**を体系的に立案する。
14
-
15
- ## ⚠️ `story-implementor` との役割分担
16
-
17
- | 観点 | `implementation-planner`(本スキル) | `story-implementor` |
18
- |------|-------------------------------------|---------------------|
19
- | **目的** | 設計段階で実装方針を整理・合意する | TDD実装を実行する |
20
- | **タイミング** | 論理設計の前後(設計の方向性確認) | テスト設計・カバレッジ検証の後 |
21
- | **出力** | 実装計画書(API設計・レイヤー別方針) | TDD実装計画 → 実装コード |
22
- | **テスト設計** | 参照しない(設計フェーズのため) | 必須(テスト設計完了が前提) |
23
-
24
- **使い分けの指針:**
25
- - 「この機能どう実装する?」→ `implementation-planner`
26
- - 「テスト設計も終わった、TDD実装を始めたい」→ `story-implementor`
27
-
28
- ## ⚠️ 3フェーズ実行ルール
29
-
30
- **このスキルは3フェーズで実行する。**
31
- - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
32
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
33
- - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
34
-
35
- **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
36
-
37
- ---
38
-
39
- ## ワークフロー
40
-
41
- ## 前提条件チェック(Pre-flight, BLOCKING)
42
-
43
- Before generating any plan, verify `docs/inception/{unit}/WI-XXX/description.md` exists.
44
- If not, halt and ask the user to create the WI first, or offer to run `phasegate scaffold-wi <unit> <story|issue|chore>`.
45
-
46
- ```
47
- 入力解析 → Unit特定 → ドメインモデル確認 → 既存実装確認 → 計画作成 → 出力
48
- ```
49
-
50
- ### Step 1: 入力解析
51
-
52
- ユーザー入力から抽出:
53
- - WI ID(WI-XXX形式)
54
- - 機能名・タスク説明
55
- - 優先度・制約条件
56
-
57
- ### Step 2: Unit特定
58
-
59
- 1. `docs/product/units/integration_contract.md`を読み込み
60
- 2. 関連する公開APIエンドポイントを特定
61
- 3. 該当Unitの`{unit}.md`を確認
62
- 4. Unit間依存関係を整理
63
-
64
- **検索方法:**
65
- - Grep/Globツールを使用して `docs/product/units/` 配下からストーリーIDやキーワードを検索する
66
- - `integration_contract.md` から関連する公開APIエンドポイントを特定する
67
-
68
- ### Step 3: ドメインモデル確認
69
-
70
- 1. `docs/product/construction/{context}/domain_model.md`を読み込み
71
- 2. 以下を把握:
72
- - 集約と不変条件
73
- - エンティティ・値オブジェクト
74
- - ドメインイベント
75
- - 状態遷移
76
- 3. 必要に応じて`shared_kernel/domain_model.md`を参照
77
-
78
- ### Step 4: 既存実装確認
79
-
80
- - Glob/Readツールを使用してプロジェクトの実装ディレクトリ構造を確認する
81
- - 既存の実装パターンを検索し、コードスタイル・ファイル配置を把握する
82
-
83
- ### Step 5: 計画作成
84
-
85
- [references/plan-template.md](references/plan-template.md)のフォーマットに従って:
86
- 1. API設計(新規/既存拡張)
87
- 2. レイヤー別実装内容
88
- 3. 実装ステップ分解
89
- 4. 影響範囲特定
90
-
91
- ## 出力ファイル
92
-
93
- ### Step 6: 出力
94
-
95
- 計画をmdファイルとして出力。パスの推奨:
96
- ```
97
- docs/inception/{task_id}_plan.md
98
- docs/inception/{unit}/WI-XXX/tdd_implementation_plan.md
99
- ```
100
-
101
- **[Question][Answer]セクション必須**: 不明点や確認事項をまとめ、ユーザーからのフィードバックを受け取れるようにする。
102
-
103
- ---
104
-
105
- ## 入力(参照ドキュメント)
106
-
107
- | ファイル | 用途 |
108
- |----------|------|
109
- | `docs/product/units/integration_contract.md` | Unit間API定義・依存関係 |
110
- | `docs/product/units/{unit}.md` | ユーザーストーリー・機能要件 |
111
- | `docs/product/construction/{context}/domain_model.md` | ドメインモデル設計 |
112
-
113
- **詳細は以下を参照:**
114
- - [document-structure.md](references/document-structure.md): ドキュメント構造リファレンス
115
- - [workflow.md](references/workflow.md): 詳細ワークフロー
116
- - [plan-template.md](references/plan-template.md): 出力テンプレート
117
-
118
- ---
119
-
120
- ## Unit一覧(クイックリファレンス)
121
-
122
- 実行時に `docs/product/units/` 配下のUnit定義ファイルを動的に読み取ること。ハードコードしない。
123
-
124
- ---
125
-
126
- ### Phase 2 最低出力基準(Sonnet委任時の品質制約)
127
-
128
- 以下の基準を満たさない出力は不完全とみなし、Phase 3レビューでBLOCKとする。
129
-
130
- | 基準 | 最低要件 |
131
- |------|---------|
132
- | Unit特定 | 対象ストーリー/機能に関連するUnitが正しく特定されていること |
133
- | ドメインモデル参照 | 関連する集約・エンティティ・値オブジェクトが列挙されていること |
134
- | API設計 | 新規/既存拡張のエンドポイントが具体的に定義されていること |
135
- | レイヤー別実装内容 | 各層(Domain/UseCase/Controller/Infrastructure)の実装内容が記載されていること |
136
- | 実装ステップ | 実装順序が具体的なステップに分解されていること |
137
- | 影響範囲 | 変更が他Unit・他コンポーネントに与える影響が分析されていること |
138
- | QAセクション | 不明点・確認事項が[Question][Answer]形式で記載されていること |
139
-
140
- ---
141
-
142
- ## Phase 3: レビュー(Opus review)
143
-
144
- ### 実行主体
145
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
146
-
147
- ### レビュー手順
148
- 1. Sonnetが出力したファイルを読み込む
149
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
150
- 3. **スキル固有レビュー観点**を検証する
151
- 4. 判定結果を出力する
152
-
153
- ### スキル固有レビュー観点(BLOCK基準)
154
- - [ ] 対象Unit/ドメインモデルの特定が正確か
155
- - [ ] API設計が統合契約と整合しているか
156
- - [ ] レイヤー間の依存方向が正しいか(Domain → Port → UseCase → Controller)
157
- - [ ] 実装ステップの順序が論理的か(依存関係に沿っているか)
158
- - [ ] 影響範囲の分析が漏れなく行われているか
159
-
160
- ### 判定と修正
161
- - **BLOCK項目にFAIL** → Opusが直接修正してから完了とする
162
- - **WARNのみFAIL** → Opusが直接修正してから完了とする
163
- - **全PASS** → 完了
164
-
165
- ## コードベース構成(クイックリファレンス)
166
-
167
- 実行時にプロジェクトのディレクトリ構造を動的に確認すること。ハードコードしない。