ドキュメント lint
デプロイバッチの直前に一度実行します。構造検査(pnpm docs:validate)ではキャッチできないもののみを対象とします。
最も強力なモデルで実行してください。 ルールを見つける能力とルールに従う能力は別物です。
読み取り範囲
全体は読みません。広く読むとノイズとなるドキュメントが増え、精度が低下します。
- 今回のデプロイに関わるコードパスを
pnpm docs:related <パス…>に渡してルーティングされたドキュメントを取得します。 - そのドキュメントがリンクしている ADR とその領域のアクティブな計画書。
pnpm docs:validateが検証日から90日超過として警告している永続ドキュメント。docs/findings.mdの未解決項目。
確認すること
- コードとドキュメントの不一致を双方向で。 コードにあってドキュメントにないもの(欠落)と、ドキュメントにあってコードにないもの(幻覚)を別々に確認します。片方だけ見ると半分を見逃します。
- ADR 矛盾の候補。 同じ領域の Accepted ADR が二つ、逆の結論でありながら代替関係にない場合。
pnpm docs:links <ADR>で代替チェーンを確認します。 - コードと重複した値の表。 コードから読み取れる値やリストをドキュメントが転記していないか。
- 90日以上経過した保留計画書。 中止するか再開するかを問う項目として報告します。
- 14日以上経過した Proposed ADR。 判定が滞っています。
- ガイドに混ざった経験記録。 「やってみたらダメだった」類のものは
docs/flows/へ移動すべきです。 docs/operations/current-state.mdの期限切れ行。 確認日が古い行は成功ではなく未確認です。
出力
docs/findings.md に項目を追加します。一項目は五行です。
- 発見 2026-09-04 · docs/policies/xxx.md
主張: (ドキュメントが何と言っているか)
根拠: (コードパスまたは ADR 番号)
提案: (何をすればよいか)
範囲: (今回のデプロイで修正するか、延期するか)
修正は行いません。解決はその作業を行う PR が行い、その PR が項目を削除します。
読み取った永続ドキュメントの 検証日 を今日に更新します。実際にコードと対照したドキュメントのみ更新します。対照していないドキュメントに今日の日付を記入すると、最新であるという偽のシグナルになります。
予算
見つけたもののうち3つに1つは誤検出だと見なして始めます。LLM 単独での不一致検出の精度は約0.6です。確信が持てない場合は、項目にその旨を記述します。
レポートの最初の行に「未解決の findings 数と最も古い項目の経過日数」を記述します。
ルールの追加と削除
このリストに項目を追加するには、その項目が実際にキャッチした事例を提示する必要があります。根拠のない項目は追加しません。同じ失敗が12ヶ月間発生しておらず、pnpm docs:harness-eval で役に立たない場合は削除します。