--- argument-hint: --- # Phase要件と実装の整合性検証 指定したPhaseの実装が仕様書の要件を満たしているか、Phase間の整合性が保たれているかを検証します。 【引数】 $ARGUMENTS ## 引数の形式 - `` - タスク名(specs/[taskname]/ディレクトリ) - `` - 検証対象のPhase番号(1, 2, 3...) ## 検証手順 ### 1. 準備 - 引数の解析(未指定の場合はAskUserQuestionで確認) - `specs/[taskname]/tasks/phase{N}-*.md` の存在確認 ### 2. specification.mdとの整合性 #### 機能要件 - Phase計画書の「実装する機能」リストを抽出 - 各機能のファイルをGlobで検索し、実装状況を確認 - 関数・クラスの存在、パラメータ・戻り値、エラーハンドリングをコードレビュー #### 非機能要件 specification.mdの非機能要件(パフォーマンス、セキュリティ、可用性等)について: - 関連キーワードでGrep検索 - 実装ファイル内の対応を確認 ### 3. technical-details.mdとの整合性 #### 技術スタック - 記載された技術・ライブラリの使用確認(Grepでimport文を検索) - package.jsonとの整合性確認 #### データ設計(型定義、スキーマ等) - Grepで型名を検索し存在確認 - データ構造の一致を確認 #### API設計 - エンドポイントの実装確認(ルーティングファイル検索) - リクエスト・レスポンス形式の一致確認 ### 4. Phase間の実装整合性(Phase 2以降のみ) #### 前Phaseの成果物 - 前Phase計画書の「次Phaseへの引き継ぎ事項」から成果物リストを抽出 - Globで各成果物ファイルの存在を確認 - ファイル内容の簡易チェック #### 前Phaseの成果物の使用状況 - 現Phase実装での前Phase成果物のimportを確認(Grepで検索) - 主要な関数・型・クラスの使用箇所を確認 #### Phase間インターフェース - 前Phaseのexport定義を確認(Grepで`export`検索) - 現Phaseでの使用方法との整合性確認 ### 5. 機能レベルの実装検証 specification.mdの各機能について: - 実装ファイルを特定・読み込み - コードレビュー:関数・クラスの存在、シグネチャ、ビジネスロジック - エッジケース・例外処理の実装確認 - テストファイルの存在確認 ### 6. 検証結果レポート ```markdown ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📐 Phase {N} 要件検証レポート ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📍 specs/{taskname}/ - Phase {N} 📅 {YYYY-MM-DD HH:MM} ## 総合評価 {✅ / ⚠️ / ❌} ## 検証結果 ### 機能要件 {✅/⚠️/❌} {implemented}/{total} 機能 ### 非機能要件 {✅/⚠️/❌/N/A} ### technical-details.md整合性 - 技術スタック: {✅/⚠️/❌} - データ設計: {✅/⚠️/❌/N/A} - API設計: {✅/⚠️/❌/N/A} ### Phase間実装整合性 - 前Phase成果物の存在: {✅/⚠️/❌/N/A} - 前Phase成果物の使用: {✅/⚠️/❌/N/A} - インターフェース整合性: {✅/⚠️/❌/N/A} ### 実装品質 - 実装詳細: {✅/⚠️/❌} - エッジケース・例外処理: {✅/⚠️/❌} ## 🚨 要対応項目 {問題のリスト(ファイルパス:行番号を含む)} ## 💡 次のアクション ✅: `/sdd:verify:quality {taskname} {N}` で品質検証へ ⚠️/❌: 問題解決後、再検証(`/sdd:verify:requirements {taskname} {N}`) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ### 7. 問題への対応(⚠️/❌の場合) AskUserQuestionで各問題の対応方針を確認(最大4問/回): - 選択肢に「実装する」「仕様を見直す」「対応しない」等を含める - 選択後、TodoWriteでタスク作成 ## 注意事項 - 仕様書と実装の整合性を検証 - 機能レベルの実装検証を実施(コードレビュー) - Phase間の成果物の存在と使用状況を確認 ## 矛盾チェック(必須) 要件検証後、仕様書とコードの整合性を必ず contradiction-checker SubAgent を使用して確認してください: ```bash # contradiction-checker SubAgentを使用(指摘のみ、修正は行わない) Task(contradiction-checker): specs/[taskname]/ の全ドキュメント間の矛盾をチェックしてください。実装が仕様書と整合しているか確認してください。 ```