3モデル突合 + bizlp 採択方針 / ADR-0046 起草インプット

調査モデル: Claude / GPT Deep Research / Gemini Deep Research
合成日: 2026-05-15


TL;DR(採択方針)

3モデルの調査結果を突合した結果、bizlp-gas-accounting への推奨は以下の通り:

  1. インベントリ SSOT: _config.json nav 配列(既存の唯一の真実)を継続使用。GPTが提案した _manifest.yaml 別ファイル案は不採用(docs-build.mjs_config.json を読む bizlp 固有アーキテクチャと整合しない)
  2. status 値域: 5値(planned / draft / active / deprecated / superseded)。Claude・Gemini 合意。GPTの4値案は superseded を省略しており ADR との整合が弱い
  3. COVERAGE_GAPS.md: Gemini の「Backlogパターン」と Claude の「COVERAGE_GAPS.md」は同一概念。名称は COVERAGE_GAPS.md を採用(ADR-0046 プランニング前から使用していた名称)
  4. CLAUDE.md 更新: status 規約を追加(200行上限内)。ギャップ一覧は COVERAGE_GAPS.md へのポインタのみ(Gemini Backlogパターン採用)
  5. archived 不採用: Claude・Gemini 両者が強く否定。Git 履歴 + deprecated で代替

3モデル合意マトリクス

論点ClaudeGPTGemini採択
インベントリ SSOTnav 定義 (_config.json)_manifest.yaml 別ファイルnav 定義(強く推奨nav SSOT ✅
status 値域5値(+superseded4値(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-commitCI 必須要件段階的導入
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.json nav 構造を確認せよ」という指示として採用。

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.mdSUMMARY.mdCOVERAGE_GAPS.mdMEMORY.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