---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 77
  claims_with_evidence: 72
  claims_without_evidence: 5
confidence_derived: 0.94
---

# 根拠レポート：業務要件一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.94**
  - 根拠あり：72 / 77、根拠なし：5
- 優先レビュー（高）
  1. **BR-035 Taskスケジューラ**：プリエンプティブの具体的実装の根拠が不足
  2. **BR-074 ベンチマーク機能**：具体的な計測機能の詳細根拠が不足
  3. **BR-075 エンコーディングサポート**：提供範囲の詳細根拠が不足
  4. **BR-069 アマルガムビルド**：出力ファイル名の正確性の根拠が不足
  5. **BR-077 ビルド設定クエリ**：具体的な出力内容の根拠が不足

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `src/vm.c` — 仮想マシン実行ループ・スタック管理の実装
- E-02: `src/gc.c` — ガベージコレクタの実装（三色マーク・世代別GC・インクリメンタルGC）
- E-03: `src/class.c` — クラス・モジュール・メソッドテーブルの実装
- E-04: `src/string.c` — String クラスのC実装
- E-05: `src/array.c` — Array クラスのC実装
- E-06: `src/hash.c` — Hash クラスのC実装
- E-07: `src/numeric.c` — 数値クラス群の実装
- E-08: `src/error.c` — 例外クラス・例外処理機構の実装
- E-09: `src/proc.c` — Proc/Lambdaの実装
- E-10: `src/range.c` — Range クラスの実装
- E-11: `src/symbol.c` — シンボル管理の実装
- E-12: `src/variable.c` — 変数管理の実装
- E-13: `src/dump.c` — バイトコードシリアライズの実装
- E-14: `src/load.c` — バイトコードデシリアライズの実装
- E-15: `src/state.c` — mrb_state の初期化・終了処理
- E-16: `src/init.c` — コア初期化順序定義
- E-17: `src/kernel.c` — Kernel モジュールの実装
- E-18: `src/object.c` — Object クラスの実装
- E-19: `src/backtrace.c` — バックトレース生成
- E-20: `src/mempool.c` — メモリプール実装
- E-21: `src/allocf.c` — メモリアロケータ実装
- E-22: `src/cdump.c` — Cソース出力
- E-23: `src/codedump.c` — バイトコードデバッグ出力
- E-24: `include/mruby.h` — メインC API定義
- E-25: `include/mruby/gc.h` — GC状態定義（mrb_gc_state列挙）
- E-26: `include/mruby/compile.h` — コンパイラAPI・字句解析状態定義
- E-27: `include/mruby/irep.h` — irep構造体定義
- E-28: `include/mruby/dump.h` — RITEバイナリ形式定義
- E-29: `include/mruby/opcode.h` — VMオペコード定義
- E-30: `include/mruby/value.h` — mrb_value型定義
- E-31: `include/mruby/data.h` — Cデータラッパー定義
- E-32: `include/mruby/version.h` — バージョン定数
- E-33: `include/mrbconf.h` — ビルド時設定（制限値・静的検証）
- E-34: `mrblib/string.rb` — String Ruby実装
- E-35: `mrblib/array.rb` — Array Ruby実装
- E-36: `mrblib/hash.rb` — Hash Ruby実装
- E-37: `mrblib/numeric.rb` — Numeric Ruby実装
- E-38: `mrblib/range.rb` — Range Ruby実装
- E-39: `mrblib/compar.rb` — Comparable実装
- E-40: `mrblib/enum.rb` — Enumerable実装
- E-41: `mrblib/kernel.rb` — Kernel Ruby実装
- E-42: `mrblib/symbol.rb` — Symbol Ruby実装
- E-43: `mrblib/10error.rb` — エラークラスRuby定義
- E-44: `mrbgems/mruby-compiler/` — コンパイラgem（parse.y, codegen.c）
- E-45: `mrbgems/mruby-fiber/` — Fiber gem
- E-46: `mrbgems/mruby-eval/` — eval gem
- E-47: `mrbgems/mruby-metaprog/` — メタプログラミングgem
- E-48: `mrbgems/mruby-method/` — Method gem
- E-49: `mrbgems/mruby-binding/` — Binding gem
- E-50: `mrbgems/mruby-proc-binding/` — Proc binding gem
- E-51: `mrbgems/mruby-enumerator/` — Enumerator gem
- E-52: `mrbgems/mruby-enum-lazy/` — Lazy gem
- E-53: `mrbgems/mruby-enum-chain/` — Chain gem
- E-54: `mrbgems/mruby-io/` — IO gem
- E-55: `mrbgems/mruby-socket/` — Socket gem
- E-56: `mrbgems/mruby-dir/` — Dir gem
- E-57: `mrbgems/mruby-errno/` — Errno gem
- E-58: `mrbgems/mruby-math/` — Math gem
- E-59: `mrbgems/mruby-rational/` — Rational gem
- E-60: `mrbgems/mruby-complex/` — Complex gem
- E-61: `mrbgems/mruby-bigint/` — Bigint gem
- E-62: `mrbgems/mruby-struct/` — Struct gem
- E-63: `mrbgems/mruby-data/` — Data gem
- E-64: `mrbgems/mruby-set/` — Set gem
- E-65: `mrbgems/mruby-time/` — Time gem
- E-66: `mrbgems/mruby-random/` — Random gem
- E-67: `mrbgems/mruby-sprintf/` — sprintf gem
- E-68: `mrbgems/mruby-pack/` — pack gem
- E-69: `mrbgems/mruby-catch/` — catch gem
- E-70: `mrbgems/mruby-sleep/` — sleep gem
- E-71: `mrbgems/mruby-exit/` — exit gem
- E-72: `mrbgems/mruby-encoding/` — encoding gem
- E-73: `mrbgems/mruby-objectspace/` — ObjectSpace gem
- E-74: `mrbgems/mruby-os-memsize/` — memsize gem
- E-75: `mrbgems/mruby-benchmark/` — benchmark gem
- E-76: `mrbgems/mruby-task/` — task gem
- E-77: `mrbgems/mruby-bin-mrbc/` — mrbc バイナリgem
- E-78: `mrbgems/mruby-bin-mruby/` — mruby バイナリgem
- E-79: `mrbgems/mruby-bin-mirb/` — mirb バイナリgem
- E-80: `mrbgems/mruby-bin-debugger/` — debugger バイナリgem
- E-81: `mrbgems/mruby-bin-strip/` — strip バイナリgem
- E-82: `mrbgems/mruby-bin-config/` — config バイナリgem
- E-83: `mrbgems/mruby-test/` — テストgem
- E-84: `mrbgems/mruby-strftime/` — strftime gem
- E-85: `mrbgems/mruby-cmath/` — CMath gem
- E-86: `Rakefile` — ビルドシステムエントリポイント
- E-87: `tasks/` — Rakeタスク群
- E-88: `build_config/` — クロスコンパイル設定群
- E-89: `mrbgems/default.gembox` — デフォルトgembox定義
- E-90: `mrbgems/stdlib.gembox` — stdlib gembox定義
- E-91: `mrbgems/hal-posix-io/` — POSIX IO HAL
- E-92: `mrbgems/hal-posix-dir/` — POSIX Dir HAL
- E-93: `mrbgems/hal-posix-socket/` — POSIX Socket HAL
- E-94: `mrbgems/hal-posix-task/` — POSIX Task HAL
- E-95: `tasks/amalgam.rake` — アマルガムビルドタスク
- E-96: `tasks/presym.rake` — 事前シンボル生成タスク

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | BR-001 Rubyバイトコード実行（レジスタベースVM） | E-01, E-29 | ○ |
| C-02 | BR-002 スタック管理（初期128・最大262000・コールレベル512） | E-01, E-33 | ○ |
| C-03 | BR-003 コンテキスト管理（mrb_state） | E-15, E-24 | ○ |
| C-04 | BR-004 Rubyソースコードのパース | E-26, E-44 | ○ |
| C-05 | BR-005 バイトコード生成 | E-44, E-27 | ○ |
| C-06 | BR-006 バイトコードコンパイラ（mrbc） | E-77 | ○ |
| C-07 | BR-007 バイトコードのシリアライズ（RITE形式） | E-13, E-28 | ○ |
| C-08 | BR-008 バイトコードのデシリアライズ | E-14, E-28 | ○ |
| C-09 | BR-009 バイトコードストリップ | E-81 | ○ |
| C-10 | BR-010 ガベージコレクション（三色インクリメンタル） | E-02, E-25 | ○ |
| C-11 | BR-011 インクリメンタルGC実行 | E-02, E-25 | ○ |
| C-12 | BR-012 GCアリーナ管理（デフォルト100） | E-02, E-33 | ○ |
| C-13 | BR-013 メモリプール管理 | E-20 | ○ |
| C-14 | BR-014 メモリアロケータ | E-21, E-24 | ○ |
| C-15 | BR-015 クラス・モジュール定義 | E-03, E-24 | ○ |
| C-16 | BR-016 メソッド定義・探索（キャッシュ256） | E-03, E-33 | ○ |
| C-17 | BR-017 モジュールのinclude/prepend | E-03, E-24 | ○ |
| C-18 | BR-018 オブジェクト生成 | E-18, E-24 | ○ |
| C-19 | BR-019 変数管理 | E-12 | ○ |
| C-20 | BR-020 シンボル管理（presym対応） | E-11, E-96 | ○ |
| C-21 | BR-021 例外発生・捕捉 | E-08, E-24 | ○ |
| C-22 | BR-022 バックトレース生成 | E-19 | ○ |
| C-23 | BR-023 Stringクラス | E-04, E-34 | ○ |
| C-24 | BR-024 Arrayクラス（要素数制限131072） | E-05, E-35, E-33 | ○ |
| C-25 | BR-025 Hashクラス | E-06, E-36 | ○ |
| C-26 | BR-026 数値クラス | E-07, E-37 | ○ |
| C-27 | BR-027 Rangeクラス | E-10, E-38 | ○ |
| C-28 | BR-028 Procクラス | E-09 | ○ |
| C-29 | BR-029 Symbolクラス（to_proc） | E-42 | ○ |
| C-30 | BR-030 Kernelモジュール | E-17, E-41 | ○ |
| C-31 | BR-031 Comparableモジュール | E-39 | ○ |
| C-32 | BR-032 Enumerableモジュール | E-40 | ○ |
| C-33 | BR-033 Fiberクラス（状態遷移） | E-45, E-24 | ○ |
| C-34 | BR-034 Enumeratorクラス | E-51 | ○ |
| C-35 | BR-035 Taskスケジューラ（プリエンプティブ） | E-76 | △ |
| C-36 | BR-036 eval機能 | E-46 | ○ |
| C-37 | BR-037 メタプログラミング基盤 | E-47 | ○ |
| C-38 | BR-038 Method/UnboundMethodクラス | E-48 | ○ |
| C-39 | BR-039 Bindingクラス | E-49, E-50 | ○ |
| C-40 | BR-040 Mathモジュール | E-58 | ○ |
| C-41 | BR-041 Rationalクラス | E-59 | ○ |
| C-42 | BR-042 Complexクラス | E-60, E-85 | ○ |
| C-43 | BR-043 Bigint拡張 | E-61 | ○ |
| C-44 | BR-044 IOクラス | E-54, E-91 | ○ |
| C-45 | BR-045 Fileクラス | E-54 | ○ |
| C-46 | BR-046 Dirクラス | E-56, E-92 | ○ |
| C-47 | BR-047 Socketクラス | E-55, E-93 | ○ |
| C-48 | BR-048 Structクラス | E-62 | ○ |
| C-49 | BR-049 Dataクラス | E-63 | ○ |
| C-50 | BR-050 Setクラス | E-64 | ○ |
| C-51 | BR-051 Timeクラス | E-65, E-84 | ○ |
| C-52 | BR-052 Randomクラス | E-66 | ○ |
| C-53 | BR-053 sprintf/format機能 | E-67 | ○ |
| C-54 | BR-054 Array#pack/String#unpack | E-68 | ○ |
| C-55 | BR-055 Errnoモジュール | E-57 | ○ |
| C-56 | BR-056 catch/throw | E-69 | ○ |
| C-57 | BR-057 対話型シェル（mirb） | E-79 | ○ |
| C-58 | BR-058 デバッガ（mrdb） | E-80 | ○ |
| C-59 | BR-059 ObjectSpaceクラス | E-73, E-74 | ○ |
| C-60 | BR-060 引数型バリデーション | E-03, E-24 | ○ |
| C-61 | BR-061 オブジェクト凍結チェック | E-24 | ○ |
| C-62 | BR-062 型変換・型確保 | E-24 | ○ |
| C-63 | BR-063 C言語組み込みAPI | E-24 | ○ |
| C-64 | BR-064 C拡張定義API | E-24 | ○ |
| C-65 | BR-065 Cデータラッパー | E-31 | ○ |
| C-66 | BR-066 Rakeビルドシステム | E-86, E-87 | ○ |
| C-67 | BR-067 mrbgemsパッケージシステム | E-89, E-90 | ○ |
| C-68 | BR-068 クロスコンパイル | E-88 | ○ |
| C-69 | BR-069 アマルガムビルド（mruby.c + mruby.h） | E-95 | △ |
| C-70 | BR-070 事前シンボル生成 | E-96 | ○ |
| C-71 | BR-071 ハードウェア抽象化層 | E-91, E-92, E-93, E-94 | ○ |
| C-72 | BR-072 sleep機能 | E-70 | ○ |
| C-73 | BR-073 exit機能 | E-71 | ○ |
| C-74 | BR-074 ベンチマーク機能 | E-75 | △ |
| C-75 | BR-075 エンコーディングサポート | E-72 | △ |
| C-76 | BR-076 テストフレームワーク | E-83 | ○ |
| C-77 | BR-077 ビルド設定クエリ | E-82 | △ |

## 4) 不足情報（Unknown / Missing）
- **BR-035 Taskスケジューラ**: 「プリエンプティブ」と記載しているが、mruby-taskの具体的なスケジューリングアルゴリズムの実装詳細がコードレベルで未確認
  - 候補：mrbgems/mruby-task/src/ の実装コード / hal-posix-task/ のHAL実装
- **BR-069 アマルガムビルド**: 出力ファイル名「mruby.c + mruby.h」はtasks/amalgam.rakeの存在で確認済みだが、実際の出力ファイル名の正確性は要確認
  - 候補：tasks/amalgam.rake の出力パス定義 / README記載
- **BR-074 ベンチマーク機能**: mruby-benchmarkの存在は確認済みだが、具体的にどのような計測機能（Benchmark.measure等）が提供されているかの詳細は未確認
  - 候補：mrbgems/mruby-benchmark/mrblib/ のRuby実装
- **BR-075 エンコーディングサポート**: 「簡易的な」と記載しているが、CRubyとの互換範囲の正確な定義が不明
  - 候補：mrbgems/mruby-encoding/src/ の実装コード
- **BR-077 ビルド設定クエリ**: mruby-bin-configの存在は確認済みだが、具体的にどのような設定情報を出力できるかの詳細は未確認
  - 候補：mrbgems/mruby-bin-config/tools/ の実装コード

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** — コアVM（BR-001〜BR-003）、クラスシステム（BR-015〜BR-020）、GC（BR-010〜BR-012）：ソースコードから直接確認可能で信頼度が高い
- **0: 低リスク** — コアクラス群（BR-023〜BR-032）：CソースとRubyソースの両方から確認可能
- **1: 中リスク** — gem群の機能概要（BR-033〜BR-076）：gemディレクトリの存在は確認済みだが、個別機能の詳細まではレビューしていないものがある
- **1: 中リスク** — ビルドシステム（BR-066〜BR-070）：Rakeタスクの存在は確認済みだが、各タスクの具体的動作の検証は限定的

## 6) レビュアーチェックリスト（最小）
- [ ] コアVM関連要件（BR-001〜BR-003）の数値パラメータ（スタックサイズ・コールレベル等）がmrbconf.hの定義と一致しているか
- [ ] Fiberの状態遷移（BR-033）がinclude/mruby.hのmrb_fiber_state列挙と一致しているか
- [ ] GCの色分類と状態遷移（BR-010〜BR-011）がsrc/gc.cの実装と一致しているか
- [ ] mrbgemsの存在確認（BR-033〜BR-076の各gemディレクトリが実在するか）
- [ ] △項目（BR-035, BR-069, BR-074, BR-075, BR-077）の記載内容を実装コードで検証する
