-
Notifications
You must be signed in to change notification settings - Fork 0
ナレッジグラフ: dev-reports/review/ のstage別レビューファイルが未検出 #150
Description
概要
dev-reports/review/ ディレクトリのstage別レビューファイルがナレッジグラフに取り込まれていない。
現状
commandindexdev issue 299 の出力:
設計:
dev-reports/design/issue-299-ipad-layout-fix-design-policy.md
レビュー:
dev-reports/issue/299/issue-review/summary-report.md
dev-reports/issue/299/multi-stage-design-review/summary-report.md
作業計画:
dev-reports/issue/299/work-plan.md
以下のファイルが含まれていない:
dev-reports/review/2026-02-18-issue299-impact-analysis-review-stage3.mddev-reports/review/2026-02-18-issue299-security-review-stage4.mddev-reports/review/2026-02-18-issue299-design-principles-review-stage1.mddev-reports/review/2026-02-18-issue299-consistency-review-stage2.md
原因
ファイル名パースが dev-reports/design/issue-{NUMBER}-* と dev-reports/issue/{NUMBER}/ のパターンのみ対応しており、dev-reports/review/*-issue{NUMBER}-* パターンを認識していない。
対象コード: build_pattern_rules() in src/indexer/knowledge.rs
対応
dev-reports/review/ ディレクトリ内のファイル名から issue{NUMBER} パターンを正規表現で抽出し、has_review エッジを追加する。
DocSubtype
新しい DocSubtype::StageReview バリアントを追加する。既存の IssueReview(summary-report用)や DesignReview(design-review summary用)とは異なるstage別レビューファイルのため、独立したバリアントとする。
影響箇所(全て網羅的matchのためコンパイルエラーで検出可能):
src/indexer/knowledge.rs:DocSubtypeenum にStageReview追加DocSubtype::as_str():StageReview => "stage_review"追加build_pattern_rules(): 新パターン追加
src/cli/issue.rs:display_label():StageReview => "レビュー"(既存レビューと同カテゴリ)sort_order():StageReviewの subtype_order を 6 に設定grouped(): カテゴリ「レビュー」に自動分類されるため変更不要
src/indexer/symbol_store.rs:find_documents_by_issue():"stage_review" => DocSubtype::StageReview追加
正規表現パターン
^dev-reports/review/\d{4}-\d{2}-\d{2}-issue(\d+)-.*\.md$日付プレフィックス(YYYY-MM-DD)は生成ツールにより常に付与されるため、パターンに含める。
ファイル名部分は [^/]* ではなく .* を使用(パスは正規化済みでサブディレクトリは想定しない)。
対象パターン例:
2026-02-18-issue299-security-review-stage4.md2026-03-20-issue525-consistency-review-stage2.md
表示仕様
各stage別レビューファイルは個別にリスト表示する(サマリー集約は行わない)。
display_label() は「レビュー」を返し、既存の IssueReview/DesignReview と同カテゴリに分類される。
受け入れ基準
parse_dev_report_path()がdev-reports/review/YYYY-MM-DD-issue{N}-*-stage{M}.mdを正しくパースし、Issue番号・リレーション(HasReview)・DocSubtype(StageReview)を返すことscan_dev_reports()がdev-reports/review/ディレクトリのファイルを検出することcommandindexdev issue 299出力にstage別レビューファイルが含まれること- 既存テストが全てパスすること
- 新規パターンに対するユニットテストが追加されていること(複数桁Issue番号、ハイフン含む説明文等のエッジケース含む)
test_scan_dev_reports_with_temp_dirテストが更新されていることtest_doc_subtype_as_strテストにStageReviewのアサーション追加
関連
- SQLiteベースの簡易ナレッジグラフの実装 #139 (ナレッジグラフ実装)