4.6 KiB
4.6 KiB
argument-hint
| argument-hint |
|---|
| <taskname> <phase番号> |
Phase要件と実装の整合性検証
指定したPhaseの実装が仕様書の要件を満たしているか、Phase間の整合性が保たれているかを検証します。
【引数】 $ARGUMENTS
引数の形式
<taskname>- タスク名(specs/[taskname]/ディレクトリ)<phase番号>- 検証対象の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. 検証結果レポート
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📐 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 を使用して確認してください:
# contradiction-checker SubAgentを使用(指摘のみ、修正は行わない)
Task(contradiction-checker): specs/[taskname]/ の全ドキュメント間の矛盾をチェックしてください。実装が仕様書と整合しているか確認してください。