---
generated_at: 2026-02-19 16:30:00
metrics:
  claims_total: 42
  claims_with_evidence: 40
  claims_without_evidence: 2
confidence_derived: 0.95
---

# 根拠レポート：アーキテクチャ設計書

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：40 / 42、根拠なし：2
- 優先レビュー（高）
  1. **emacsqlite/sqlite3の利用状況**：モジュール依存のため全体像不明
  2. **67言語サポートの正確な数**：modules/langディレクトリの実数確認推奨

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `early-init.el` - Emacs起動最適化コード
- E-02: `lisp/doom.el` - Doomコアの定義・定数・初期化
- E-03: `lisp/doom-lib.el` - 標準ライブラリ・マクロ定義
- E-04: `lisp/doom-start.el` - 対話セッション初期化
- E-05: `lisp/doom-straight.el` - straight.el統合設定
- E-06: `lisp/doom-ui.el` - UI設定・フォント管理
- E-07: `lisp/doom-editor.el` - エディタ設定
- E-08: `README.md` - プロジェクト概要・前提条件
- E-09: `modules/` - モジュールディレクトリ構造
- E-10: `lisp/cli/` - CLIコマンド実装
- E-11: `lisp/lib/` - ユーティリティライブラリ
- E-12: `bin/doom` - CLIエントリポイント

## 3) Claims と根拠の対応（レビューの主戦場）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Doom Emacsのバージョンは3.0.0-pre | E-02 (doom-version定数) | ○ |
| C-02 | Emacs 27.1-30.2をサポート | E-08 (README.md Prerequisites) | ○ |
| C-03 | 約150のオプショナルモジュール提供 | E-08 (README.md記載) | ○ |
| C-04 | straight.elでパッケージ管理 | E-05 (doom-straight.el) | ○ |
| C-05 | ripgrep 11.0+が必要 | E-08 (README.md Prerequisites) | ○ |
| C-06 | fd 7.3.0+はオプション | E-08 (README.md Prerequisites) | ○ |
| C-07 | モジュラーレイヤードアーキテクチャ採用 | E-02, E-03, E-09 | ○ |
| C-08 | 遅延ロード（Lazy Loading）実装 | E-03 (after!マクロ), E-04 (incremental loading) | ○ |
| C-09 | doom!マクロによる宣言的モジュール定義 | E-03 (doom!マクロ定義) | ○ |
| C-10 | フック駆動の拡張性 | E-02, E-03 (フック定義多数) | ○ |
| C-11 | プロファイル分離サポート | E-02 (doom-profile変数), E-03 (プロファイル関数) | ○ |
| C-12 | Bootstrap Layerはearly-init.el, doom.el, doom-start.elで構成 | E-01, E-02, E-04 | ○ |
| C-13 | Core Layerはdoom-lib.el, doom-compat.elで構成 | E-02, E-03 | ○ |
| C-14 | Package Layerはdoom-straight.elとpackage!マクロで構成 | E-05, E-03 | ○ |
| C-15 | langモジュールは67以上の言語をサポート | E-09 (modules/lang/ディレクトリ) | △ |
| C-16 | GC閾値を最大化して起動最適化 | E-01 (gc-cons-threshold設定) | ○ |
| C-17 | file-name-handler-alistを最適化 | E-02 (file-name-handler-alist処理) | ○ |
| C-18 | doom-before-init-hookが起動時に実行 | E-02 (フック定義・実行) | ○ |
| C-19 | プロファイル初期化ファイルのロード | E-02 (doom-profile-init-file関数) | ○ |
| C-20 | モジュールのinit.el→config.elの順でロード | E-02 (ロード順序コメント), E-03 | ○ |
| C-21 | doom-after-init-hookで終了処理 | E-02 (doom-finalize関数) | ○ |
| C-22 | gcmh-modeでアダプティブGC管理 | E-04 (gcmh-mode設定) | ○ |
| C-23 | インクリメンタルローディング実装 | E-04 (doom-load-packages-incrementally) | ○ |
| C-24 | doom-incremental-first-idle-timerで開始タイミング制御 | E-04 (変数定義) | ○ |
| C-25 | ネイティブコンパイルをアイドル時に実行 | E-02, E-05 (native-comp設定) | ○ |
| C-26 | CPUコア数の1/4でネイティブコンパイル | E-02 (comp-effective-async-max-jobs advice) | ○ |
| C-27 | $XDG_DATA_HOME/doom/にデータ保存 | E-02 (doom-data-dir定義) | ○ |
| C-28 | $XDG_CACHE_HOME/doom/にキャッシュ保存 | E-02 (doom-cache-dir定義) | ○ |
| C-29 | $XDG_STATE_HOME/doom/に状態ファイル保存 | E-02 (doom-state-dir定義) | ○ |
| C-30 | straight/repos/にパッケージソース保存 | E-05 (straight-base-dir設定) | ○ |
| C-31 | カスタムエラー型階層を定義 | E-03 (define-error群) | ○ |
| C-32 | doom-hook-errorでフックエラーをラップ | E-03 (doom-run-hook関数) | ○ |
| C-33 | doom-logマクロでデバッグ出力 | E-03 (doom-log定義) | ○ |
| C-34 | lexical-binding: tを全ファイルで有効化 | E-01, E-02, E-03, E-04, E-05 (ファイルヘッダー) | ○ |
| C-35 | プライベート関数はdoom--プレフィックス | E-02, E-03 (関数命名) | ○ |
| C-36 | フック関数は-hサフィックス | E-04 (doom-load-packages-incrementally-h等) | ○ |
| C-37 | アドバイス関数は-aサフィックス | E-02, E-05 (doom--*-a関数群) | ○ |
| C-38 | bin/doomがメインCLIエントリポイント | E-12 (bin/doom存在) | ○ |
| C-39 | doom sync, doom doctor, doom upgradeコマンド存在 | E-10 (cli/*.el), E-08 (README.md) | ○ |
| C-40 | auth-sourceで認証情報管理 | E-08 (Emacs標準機能参照) | ○ |
| C-41 | emacsqlite/sqlite3をorg-roam等で使用 | **根拠なし** | △ |
| C-42 | gnutlsでTLS/SSL通信 | E-02 (gnutls-verify-error設定) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-15: 67以上の言語サポート**
  - modules/lang/ディレクトリの存在は確認済みだが、正確な言語数は未カウント
  - 候補：ディレクトリ数の実測 / README.orgの記載確認 / modules/lang/README.org
- **C-41: emacsqlite/sqlite3の利用**
  - Doom Emacs本体には含まれない
  - org-roamモジュール等の個別モジュールで利用される可能性あり
  - 候補：modules/app/org-roam/ / modules/lang/org/ のpackages.el確認

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - アーキテクチャスタイルの記述（コードベースから明確に導出可能）
- **0: 低リスク** - レイヤー構成（ファイル構造から明確）
- **0: 低リスク** - 起動シーケンス（doom.elのコメントに明記）
- **1: 中リスク** - 言語モジュール数（実数未確認）
- **1: 中リスク** - 外部ツールバージョン（環境依存）
- **0: 低リスク** - パッケージ管理フロー（doom-straight.elで確認済み）

## 6) レビュアーチェックリスト（最小）
- [ ] README.mdの前提条件が最新であることを確認
- [ ] modules/lang/ディレクトリ内の実際の言語モジュール数を確認
- [ ] プロファイル機能がv3.0で正式実装されているか確認（現在deprecatedコメントあり）
- [ ] straight.elからelpacaへの移行予定の影響を確認（doom-straight.elのコメント参照）
- [ ] ネイティブコンパイルのデフォルト動作がEmacs 28/29/30で異なるか確認
