---
generated_at: 2026-02-21 20:48:00
metrics:
  claims_total: 25
  claims_with_evidence: 22
  claims_without_evidence: 3
confidence_derived: 0.88
---

# 根拠レポート：テスト方針書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.88**
  - 根拠あり：22 / 25、根拠なし：3
- 優先レビュー（高）
  1. **カバレッジ目標の数値**：明示的な設定ファイルが見つからない
  2. **不具合管理方法**：GitHub Issuesの使用は推測に基づく
  3. **DevContainer構成詳細**：.devcontainerディレクトリの存在のみ確認

## 2) 参照した情報（Evidence一覧）

- E-01: `.github/workflows/build-and-test.yml` - CI/CD設定ファイル
- E-02: `minitest/` ディレクトリ - テストフレームワーク実装
- E-03: `minitest/HackTest.hack` - テスト基底クラス
- E-04: `minitest/ExpectObj.hack` - アサーション実装
- E-05: `minitest/main.hack` - テストランナー
- E-06: `minitest.sh` - テスト実行スクリプト
- E-07: `tests/` ディレクトリ構造 - テストファイル配置
- E-08: `tests/vec/VecTransformTest.php` - DataProviderパターン例
- E-09: `tests/async/SemaphoreTest.php` - 非同期テスト例
- E-10: `tests/io/BufferedReaderTest.php` - IOテスト例
- E-11: `tests/HackLibTestTraversables.php` - テストヘルパー
- E-12: `tests/HackLibTestStringable.php` - テストヘルパー
- E-13: `tests/HackLibTestForwardOnlyIterator.php` - テストヘルパー
- E-14: `.hhconfig` - Hack設定ファイル
- E-15: `README.md` - プロジェクト説明
- E-16: `.devcontainer/` ディレクトリ - DevContainer設定

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | HSLはHHVM上で動作するHack言語の標準ライブラリである | E-15 | ○ |
| C-02 | 独自の軽量テストフレームワーク「MiniTest」を使用 | E-02, E-03, E-04, E-05 | ○ |
| C-03 | GitHub Actions上でCI/CDを実行 | E-01 | ○ |
| C-04 | 単体テストでVec、Dict等のモジュール関数を検証 | E-07, E-08 | ○ |
| C-05 | hh_clientによるTypecheckをシステムテストとして実施 | E-01 | ○ |
| C-06 | HHVMのnightly buildとの互換性を定期検証 | E-01 | ○ |
| C-07 | testExtreme系メソッドで性能テストを実施 | E-09 | ○ |
| C-08 | Semaphore、Condition等の非同期テストを実施 | E-09, E-07 | ○ |
| C-09 | ローカル環境でminitest.shを使用してテスト実行 | E-06 | ○ |
| C-10 | CI環境はUbuntu-latest、HHVM nightly、Watchmanで構成 | E-01 | ○ |
| C-11 | DevContainerによる標準化された開発環境 | E-16 | ○ |
| C-12 | HackTestを基底クラスとしたテスト実装 | E-03 | ○ |
| C-13 | Watchmanをapt経由でインストール | E-01 | ○ |
| C-14 | カバレッジ目標は明示的に未設定 | **根拠なし** | △ |
| C-15 | DataProviderパターンでテストデータを管理 | E-08, E-10 | ○ |
| C-16 | provideTestXxx形式のstaticメソッドでデータ定義 | E-08 | ○ |
| C-17 | 空、単一、複数、大量データでテスト | E-08, E-09 | ○ |
| C-18 | HackLibTestTraversablesでカスタムIterator提供 | E-11 | ○ |
| C-19 | HackLibTestStringableでStringable実装テスト | E-12 | ○ |
| C-20 | HackLibTestForwardOnlyIteratorで前方向限定イテレータテスト | E-13 | ○ |
| C-21 | GitHub Issuesで不具合追跡 | **根拠なし** | △ |
| C-22 | allowed_fixme_codes_strictでFIXMEコード管理 | E-14 | ○ |
| C-23 | markTestSkipped()でテストスキップ可能 | E-03 | ○ |
| C-24 | fail-fast: falseで継続実行 | E-01 | ○ |
| C-25 | DevContainerの詳細構成 | **根拠不足** | △ |

## 4) 不足情報（Unknown / Missing）

- **カバレッジ目標 (C-14)**: プロジェクト内にカバレッジ設定ファイル（.coveralls.yml、codecov.yml等）が見つからない。HSLはテストコードのみを含むリポジトリであり、ソースコードがHHVMリポジトリに移行済みのため、カバレッジ測定が適用されない可能性がある。
  - 候補：HHVMリポジトリのCI設定 / プロジェクトWiki / 過去のIssue/PR

- **不具合管理方法 (C-21)**: 明示的な不具合管理設定ファイルやドキュメントが見つからない。README.mdでHHVMリポジトリへの貢献を案内しているため、GitHub Issuesの使用は合理的な推測だが、直接的な根拠はない。
  - 候補：CONTRIBUTING.md / HHVMリポジトリのドキュメント / GitHub Issues履歴

- **DevContainer詳細 (C-25)**: `.devcontainer/`ディレクトリの存在は確認したが、内部の設定ファイル（devcontainer.json等）の詳細は確認していない。
  - 候補：.devcontainer/devcontainer.json / Dockerfile

## 5) リスクフラグ（レビュー観点）

- **0: 低リスク** - テストフレームワーク、CI/CD設定、テストパターンに関する主張（ソースコードで直接確認可能）
- **1: 中リスク** - カバレッジ目標（未設定であることの確認が必要）
- **1: 中リスク** - DevContainer構成（運用上の影響は限定的）
- **1: 中リスク** - 不具合管理方法（標準的なGitHub運用の推測に基づく）

## 6) レビュアーチェックリスト（最小）

- [ ] MiniTestフレームワークの説明が実際のコード（minitest/）と一致しているか確認
- [ ] CI/CDワークフローの記載が`.github/workflows/build-and-test.yml`と一致しているか確認
- [ ] DataProviderパターンの説明がテストコード（tests/vec/VecTransformTest.php等）と一致しているか確認
- [ ] カバレッジ目標「未設定」が組織の方針と整合しているか確認
- [ ] 不具合管理方法について、実際の運用フローと整合しているか確認
- [ ] DevContainerの設定詳細が必要な場合は`.devcontainer/`の内容を確認
