最終更新: 2026/06/22 18:56
RQ-046 ドキュメントインベントリ管理・カバレッジ追跡ベストプラクティス(Synthesis: 3モデル合意 / nav SSOT + status 5値 + COVERAGE_GAPS.md + 段階的CI導入 / ADR-0046 起草インプット)
3モデル突合 + bizlp 採択方針 / ADR-0046 起草インプット
調査モデル: Claude / GPT Deep Research / Gemini Deep Research
合成日: 2026-05-15
TL;DR(採択方針)
3モデルの調査結果を突合した結果、bizlp-gas-accounting への推奨は以下の通り:
- インベントリ SSOT:
_config.jsonnav 配列(既存の唯一の真実)を継続使用。GPTが提案した_manifest.yaml別ファイル案は不採用(docs-build.mjsが_config.jsonを読む bizlp 固有アーキテクチャと整合しない) - status 値域: 5値(
planned / draft / active / deprecated / superseded)。Claude・Gemini 合意。GPTの4値案はsupersededを省略しており ADR との整合が弱い - COVERAGE_GAPS.md: Gemini の「Backlogパターン」と Claude の「COVERAGE_GAPS.md」は同一概念。名称は
COVERAGE_GAPS.mdを採用(ADR-0046 プランニング前から使用していた名称) - CLAUDE.md 更新: status 規約を追加(200行上限内)。ギャップ一覧は COVERAGE_GAPS.md へのポインタのみ(Gemini Backlogパターン採用)
archived不採用: Claude・Gemini 両者が強く否定。Git 履歴 +deprecatedで代替
3モデル合意マトリクス
| 論点 | Claude | GPT | Gemini | 採択 |
|---|---|---|---|---|
| インベントリ SSOT | nav 定義 (_config.json) | _manifest.yaml 別ファイル | nav 定義(強く推奨) | nav SSOT ✅ |
| status 値域 | 5値(+superseded) | 4値(superseded なし) | 5値(+superseded) | 5値 ✅ |
archived 値 | 不要(Git が代替) | 言及なし | 不要(物理分離で対応) | 不採用 ✅ |
| カバレッジギャップ管理 | COVERAGE_GAPS.md | ギャップ一覧を直接記載 | Backlog.md パターン | COVERAGE_GAPS.md ✅ |
| CLAUDE.md スタイル | ポインタ型(200行) | 直接記載 | Backlogパターン(ポインタ型) | ポインタ型 ✅ |
| スタブ慣習 | planned スタブ + 30日ルール | planned スタブ(30日明言なし) | planned スタブ + 30日ルール | 採用(30日ルール込み) ✅ |
| CI 検証 | 段階的(Phase 1〜3) | CI + pre-commit | CI 必須要件 | 段階的導入 ✅ |
| ADR との整合 | 詳細設計あり | 概念的整合 | 詳細設計あり | 共通 enum 採用 ✅ |
モデル固有の発見と採択判断
Claude 固有(採択)
- 30日スタブ賞味期限ルール: 定量的な「スタブ墓場」検出基準として明示的。採択。
status: wontdoc: 意図的な未記録を表すキー。将来検討候補として記録(今回は不採用 — COVERAGE_GAPS.md で代替)。- ETH Zurich arXiv:2602.11988 引用: LLM生成の AGENTS.md は逆効果(-0.5pp 成功率低下)というデータ根拠。CLAUDE.md は人間が手動 prune すべき。
GPT 固有(部分採択)
_manifest.yaml: bizlp では_config.jsonが同等機能を果たすため不採用。ただし「AI にインベントリを最初に読ませる」という思想は CLAUDE.md のポインタ記述に反映。- AI-first: マニフェスト先読み指示: CLAUDE.md に「詳細情報の前に
_config.jsonnav 構造を確認せよ」という指示として採用。
Gemini 固有(採択)
- Backlogパターン(段階的開示): CLAUDE.md にはポインタのみ、詳細は
COVERAGE_GAPS.mdへ分離。コンテキスト肥大化防止として採用。 archivedの物理分離: ステータス値ではなくdocs/_internal/07_archive/ディレクトリへの物理移動で対処。ADR-0045 の07_archive/予約と整合。- PR テンプレートへのチェックボックス: 「スタブを作成してコミットしたか」の明文化。採用。
docs/archive/物理ディレクトリ:archivedステータス値の代替として物理隔離。将来必要になったタイミングで07_archive/として導入。
bizlp 固有の制約とモデルへの依存
| 制約 | 影響 |
|---|---|
docs-build.mjs が _config.json を読む | _manifest.yaml 別ファイルは不採用 |
| ソロ〜2人体制 | 週60分超のランニングコスト不可 |
| ADR-0045 で frontmatter 基本方針確定済み | type/status/audience の3フィールド最低限は確定 |
| CLAUDE.md は200行上限 | Backlogパターンによるポインタ型を採用 |
| CI は GitHub Actions(既存) | 新規スクリプトは .mjs で追加 |
採択 frontmatter スキーマ
---
type: adr | spec | runbook | guide | reference | onboarding | research
status: planned | draft | active | deprecated | superseded
# ADR専用: proposed | accepted | rejected も追加可
audience: developer | operator | future-self
owner: "@t_saitoh"
created: YYYY-MM-DD
updated: YYYY-MM-DD
supersededBy: ADR-NNNN # status: superseded のときのみ必須
planned_for: YYYY-MM-DD # status: planned のときのみ推奨
---
例外: README.md、SUMMARY.md、COVERAGE_GAPS.md、MEMORY.md は frontmatter 不要。
段階的導入ロードマップ(採択版)
| Phase | 内容 | 所要時間 | 判断基準 |
|---|---|---|---|
| Phase 1(即実施) | COVERAGE_GAPS.md 新設 / CLAUDE.md に status 規約とポインタ追記 / status 5値域確定 | 1時間 | planned スタブの捏造が止まったか1週間モニター |
| Phase 2(2週間後) | 既存 docs/*.md への frontmatter バルク付与(Claude Code 活用) | 2時間 | check_frontmatter.py が違反 0件を返すこと |
| Phase 3(1ヶ月後) | docs-nav-lint.mjs 新設(orphan 検出)/ CI 組み込み / PR テンプレートにチェック欄追加 | 1.5時間 | CI が PR を1〜2件ブロック(書き忘れを実際に検出)したら成功 |
COVERAGE_GAPS.md 初版テンプレート(採択)
---
type: reference
status: active
audience: developer
owner: "@t_saitoh"
updated: 2026-05-15
---
# 既知のカバレッジギャップ(known-unknowns)
このファイルは「口頭で決まったが文書化されていないこと」を一覧化する。
Claude Code はここに列挙された事項について質問されたら **ユーザーに確認** すること(内容を推測・捏造しない)。
## 口頭決定(要文書化)
- [ ] (例)エラー通知の Slack 投稿先チャンネル
## 検討中・保留
- [ ] (例)月次バックアップの保存期間 → ADR 候補
## 将来 ADR 化予定
- [ ] ADR-0046 → ドキュメントインベントリ管理(本 ADR 起草中)
参照
- Claude 結果:
RQ-046_result_claude.md - GPT 結果:
RQ-046_result_gpt.md - Gemini 結果:
RQ-046_result_gemini.md - ADR 草案:
docs/adr/0046-establish-doc-inventory-and-coverage-tracking.md - 元 ADR-0045:
docs/adr/0045-organize-docs-internal-document-management-policy.md