背景 / コンテキスト
review_criteria_generic.md を批判的にレビューした際に、プロジェクト固有ルールへの参照方法に疑問を持ち、docs/rules/forge_doc_access_principle.md(経路A/経路Bの規定)と照合して不整合を確定した。
現象(実際の動作)
plugins/forge/skills/review/docs/review_criteria_generic.md(14, 25行目)、review_criteria_code.md(13-14, 25行目)、review_criteria_requirement.md(16, 26行目)、review_criteria_uxui.md(15-16, 27行目)が、プロジェクト固有ルール文書のパスを docs/rules/document_writing_rules.md 等のリテラルパスとして直書きしている。出所は docs/specs/forge/design/DES-028_review_policy_design.md §3.4.1(361, 364行目付近)。plugins/forge/skills/review/SKILL.md Step 2(288-297行目)がこの表をそのまま ssot_refs[].path に転記し、reviewer agent が直接 Read する。query-db-rules 等の動的解決は介在しない。
期待動作
docs/rules/forge_doc_access_principle.md の経路B規定(プロジェクト固有 spec/rules は query-db-specs / query-db-rules を呼ぶ)に従い、P1 のプロジェクト固有ルール参照は query-db-rules 経由の動的解決であるべき。
再現手順
plugins/forge/skills/review/docs/review_criteria_generic.md の14, 25行目を開く
docs/rules/document_writing_rules.md がリテラルパスとして直書きされていることを確認する
docs/rules/forge_doc_access_principle.md の経路B規定と比較し、違反していることを確認する
環境情報
該当なし(実行環境非依存のドキュメント/設計上の欠陥)
重大度
機能に支障あり(forge を導入する下流プロジェクトが docs/rules/ と異なるディレクトリ名・ファイル名を採用した場合、P1 参照が file-not-found となり「プロジェクト固有ルール未整備」と誤判定してフォールバックする)
証跡
なし
原因
判明している。DES-028 §3.4.1 の設計決定が、forge_doc_access_principle.md が定める経路B(プロジェクト固有 spec/rules はクエリ動的解決)を適用せず、固定パスを直書きしたこと。本リポジトリ自身の dogfooding では docs/rules/document_writing_rules.md が実在するため症状が顕在化せず見落とされていた。
受け入れ基準(叩き台。設計は別途検討が必要)
- review_criteria_{generic,code,requirement,uxui}.md の P1 プロジェクト固有 rules 参照が、リテラルパス直書きではなく query-db-rules 経由の動的解決に置き換わっている
- DES-028 §3.4.1 の該当箇所、および review/SKILL.md Step 2 の ssot_refs 抽出ロジックが、上記の設計変更と整合している
- design.md の
docs/rules/*.md glob 方式など、既存の代替アプローチとの整合性も検討する
背景 / コンテキスト
review_criteria_generic.md を批判的にレビューした際に、プロジェクト固有ルールへの参照方法に疑問を持ち、
docs/rules/forge_doc_access_principle.md(経路A/経路Bの規定)と照合して不整合を確定した。現象(実際の動作)
plugins/forge/skills/review/docs/review_criteria_generic.md(14, 25行目)、review_criteria_code.md(13-14, 25行目)、review_criteria_requirement.md(16, 26行目)、review_criteria_uxui.md(15-16, 27行目)が、プロジェクト固有ルール文書のパスをdocs/rules/document_writing_rules.md等のリテラルパスとして直書きしている。出所はdocs/specs/forge/design/DES-028_review_policy_design.md§3.4.1(361, 364行目付近)。plugins/forge/skills/review/SKILL.mdStep 2(288-297行目)がこの表をそのままssot_refs[].pathに転記し、reviewer agent が直接 Read する。query-db-rules 等の動的解決は介在しない。期待動作
docs/rules/forge_doc_access_principle.mdの経路B規定(プロジェクト固有 spec/rules は query-db-specs / query-db-rules を呼ぶ)に従い、P1 のプロジェクト固有ルール参照は query-db-rules 経由の動的解決であるべき。再現手順
plugins/forge/skills/review/docs/review_criteria_generic.mdの14, 25行目を開くdocs/rules/document_writing_rules.mdがリテラルパスとして直書きされていることを確認するdocs/rules/forge_doc_access_principle.mdの経路B規定と比較し、違反していることを確認する環境情報
該当なし(実行環境非依存のドキュメント/設計上の欠陥)
重大度
機能に支障あり(forge を導入する下流プロジェクトが
docs/rules/と異なるディレクトリ名・ファイル名を採用した場合、P1 参照が file-not-found となり「プロジェクト固有ルール未整備」と誤判定してフォールバックする)証跡
なし
原因
判明している。DES-028 §3.4.1 の設計決定が、
forge_doc_access_principle.mdが定める経路B(プロジェクト固有 spec/rules はクエリ動的解決)を適用せず、固定パスを直書きしたこと。本リポジトリ自身の dogfooding ではdocs/rules/document_writing_rules.mdが実在するため症状が顕在化せず見落とされていた。受け入れ基準(叩き台。設計は別途検討が必要)
docs/rules/*.mdglob 方式など、既存の代替アプローチとの整合性も検討する