---
generated_at: 2026-02-21 22:35:00
metrics:
  claims_total: 45
  claims_with_evidence: 42
  claims_without_evidence: 3
confidence_derived: 0.93
---

# 根拠レポート：コードリーディングガイドライン

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：42 / 45、根拠なし：3
- 優先レビュー（高）
  1. **公式ドキュメントリンク**：外部URLの有効性未確認
  2. **HHVM/Hackのバージョン情報**：具体的なバージョン要件の根拠なし
  3. **テストフレームワークの詳細動作**：minitestの内部動作の一部推測あり

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

- E-01: `README.md` - プロジェクト概要説明
- E-02: `src/Ref.php` - Refクラス定義
- E-03: `src/private.php` - 内部ユーティリティ関数
- E-04: `src/vec/combine.php` - Vec\concat, Vec\zip関数
- E-05: `src/dict/select.php` - Dict\drop, Dict\filter等
- E-06: `src/str/transform.php` - Str\capitalize等
- E-07: `src/c/select.php` - C\first, C\find等
- E-08: `src/async/Semaphore.php` - Semaphoreクラス
- E-09: `src/io/Handle.php` - IOハンドルインターフェース
- E-10: `src/os/pipe.php` - OS pipe関数
- E-11: `minitest/HackTest.hack` - テスト基底クラス
- E-12: `minitest/ExpectObj.hack` - アサーション実装
- E-13: `minitest/main.hack` - テストランナー
- E-14: `tests/vec/VecCombineTest.php` - テスト例
- E-15: `.hhconfig` - Hackタイプチェッカー設定
- E-16: `dune` - ビルド設定
- E-17: `src/` ディレクトリ構造
- E-18: `tests/` ディレクトリ構造

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Hackファイルは`<?hh`タグで始まる | E-02, E-03, E-04 | ○ |
| C-02 | HSLは`HH\Lib`名前空間を使用 | E-02, E-03, E-04 | ○ |
| C-03 | vec, dict, keysetがHSLの主要データ型 | E-04, E-05, E-14 | ○ |
| C-04 | Traversable, Containerが汎用型 | E-05, E-07 | ○ |
| C-05 | invariant()で条件検証 | E-03, E-05, E-08 | ○ |
| C-06 | 係数[]は純粋関数を示す | E-04, E-05, E-06 | ○ |
| C-07 | 係数[ctx $f]はコンテキスト継承 | E-05, E-07 | ○ |
| C-08 | use namespaceでモジュールインポート | E-04, E-06 | ○ |
| C-09 | HSLは10以上の名前空間を提供 | E-17 | ○ |
| C-10 | すべての関数はイミュータブル | E-04, E-05, E-06, E-07 | ○ |
| C-11 | xサフィックスは例外をスロー | E-07 | ○ |
| C-12 | _ciサフィックスは大文字小文字無視 | E-06 | ○ |
| C-13 | _with_keyはキーも引数に取る | E-05 | ○ |
| C-14 | async/awaitで非同期処理 | E-08, E-11 | ○ |
| C-15 | Semaphoreで同時実行数制限 | E-08 | ○ |
| C-16 | ファイル命名規則（lowercase.php） | E-17 | ○ |
| C-17 | _Privateは内部実装用 | E-03, E-17 | ○ |
| C-18 | transform.phpは変換操作 | E-06, E-17 | ○ |
| C-19 | select.phpは選択操作 | E-05, E-07, E-17 | ○ |
| C-20 | srcディレクトリがソースコード | E-17 | ○ |
| C-21 | testsディレクトリがテスト | E-18 | ○ |
| C-22 | minitestがテストフレームワーク | E-11, E-12, E-13 | ○ |
| C-23 | DataProviderでテストデータ提供 | E-14 | ○ |
| C-24 | expectでアサーション | E-12, E-14 | ○ |
| C-25 | .hhconfigが型チェッカー設定 | E-15 | ○ |
| C-26 | duneがビルド設定 | E-16 | ○ |
| C-27 | Dict\filterが述語でフィルタリング | E-05 | ○ |
| C-28 | boolvalがデフォルト述語 | E-03, E-05 | ○ |
| C-29 | Condition.waitForNotificationAsync | E-08 | ○ |
| C-30 | runningCountで実行数管理 | E-08 | ○ |
| C-31 | first_keyでキー取得 | E-07, E-08 | ○ |
| C-32 | HSLはFacebook開発 | E-01, E-02 | ○ |
| C-33 | MITライセンス | E-01, E-02 | ○ |
| C-34 | HHVMリポジトリに移行中 | E-01 | ○ |
| C-35 | Vec\mapで変換 | E-14 | ○ |
| C-36 | nプレフィックスはnullable入力 | E-07 | ○ |
| C-37 | onlyxで単一要素取得 | E-07 | ○ |
| C-38 | pop_backで末尾要素取得 | E-07 | ○ |
| C-39 | tuple()でタプル生成 | E-04, E-14 | ○ |
| C-40 | HackTestがテスト基底クラス | E-11 | ○ |
| C-41 | runAsyncでテスト実行 | E-11, E-13 | ○ |
| C-42 | ReflectionClassでメソッド取得 | E-11, E-13 | ○ |
| C-43 | 公式ドキュメントURL | **根拠なし** | △ |
| C-44 | HHVM/Hackバージョン要件 | **根拠なし** | △ |
| C-45 | minitestの全内部動作詳細 | **根拠一部不足** | △ |

## 4) 不足情報（Unknown / Missing）
- **C-43: 公式ドキュメントURL**
  - 外部URLの有効性は実行時に確認が必要
  - 候補：HHVMドキュメントサイト確認 / GitHubリンク確認

- **C-44: HHVM/Hackバージョン要件**
  - プロジェクト内に明示的なバージョン要件の記載なし
  - 候補：.hhconfig解析 / HHVMリリースノート確認

- **C-45: minitestの全内部動作詳細**
  - SkippedTestExceptionの詳細動作など一部推測
  - 候補：minitest/SkippedException.hack確認

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 言語基礎（セクション1）: ソースコードから直接引用
- **0: 低リスク** - ディレクトリ構造（セクション4）: 実ファイル構造と一致
- **0: 低リスク** - 命名規則（セクション3）: 複数ファイルで一貫性確認
- **0: 低リスク** - パターン解説（セクション7）: コード例は全て実在
- **1: 中リスク** - 参考資料リンク: 外部URL有効性未検証
- **0: 低リスク** - 業務フロー追跡（セクション8）: コードパス確認済み

## 6) レビュアーチェックリスト（最小）
- [ ] セクション1（言語基礎）のコード例が最新のHack文法と整合しているか
- [ ] セクション3（命名規則）の表がプロジェクト実態と一致するか
- [ ] セクション4（ディレクトリ構造）が現在のファイル構造と一致するか
- [ ] セクション7（パターン）のコード例が正しく動作するか
- [ ] セクション8（業務フロー追跡）のステップが実際の処理フローと一致するか
- [ ] 付録C（参考資料）のURLが有効か
- [ ] Hack言語の最新仕様変更がドキュメントに反映されているか
