---
generated_at: 2026-03-01 14:55:00
metrics:
  claims_total: 26
  claims_with_evidence: 25
  claims_without_evidence: 1
confidence_derived: 0.96
---

# 根拠レポート：3-SummaryReporter

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：25 / 26、根拠なし：1
- 優先レビュー（高）
  1. **パフォーマンス要件の数値**：コードからの推定値

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

- E-01: `packages/jest-reporters/src/SummaryReporter.ts` (257行)
- E-02: `packages/jest-reporters/src/getSummary.ts` (198行)
- E-03: `packages/jest-reporters/src/getSnapshotSummary.ts` (138行)
- E-04: `packages/jest-reporters/src/BaseReporter.ts` (73行)
- E-05: `packages/jest-reporters/src/types.ts` (73行)
- E-06: `packages/jest-reporters/src/getResultHeader.ts` (60行)

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | SummaryReporterはBaseReporterを継承 | E-01 (55行目: `class SummaryReporter extends BaseReporter`) | ○ |
| C-02 | テスト完了後にサマリー情報を出力 | E-01 (101-140行目: onRunComplete) | ○ |
| C-03 | summaryThresholdのデフォルトは20 | E-01 (70行目: `this._summaryThreshold = options?.summaryThreshold ?? 20`) | ○ |
| C-04 | summaryThresholdが数値でない場合TypeErrorをスロー | E-01 (73-80行目: _validateOptions) | ○ |
| C-05 | 文字単位で出力する_writeメソッドがある | E-01 (87-91行目: `_write`, コメント82-86行目) | ○ |
| C-06 | process.stderrに出力 | E-01 (89行目: `process.stderr.write`) | ○ |
| C-07 | onRunStartで推定時間を取得 | E-01 (93-99行目: onRunStart, 98行目: `this._estimatedTime = options.estimatedTime`) | ○ |
| C-08 | numTotalTestSuitesが0の場合は何も出力しない | E-01 (105-106行目: `if (numTotalTestSuites)`) | ○ |
| C-09 | 失敗テスト + ランタイムエラーが閾値超過で失敗サマリー出力 | E-01 (193-196行目: 条件判定) | ○ |
| C-10 | "Summary of all failing tests"というタイトルを出力 | E-01 (197行目: `this.log(chalk.bold('Summary of all failing tests'))`) | ○ |
| C-11 | getResultHeaderで失敗テストヘッダーを生成 | E-01 (202行目: `getResultHeader(testResult, globalConfig)`) | ○ |
| C-12 | スナップショット変更時にスナップショットサマリーを出力 | E-01 (142-183行目: _printSnapshotSummary, 146-152行目: 条件判定) | ○ |
| C-13 | watchモードでは"press \`u\`"と表示 | E-01 (165行目: `updateCommand = 'press \`u\`'`) | ○ |
| C-14 | npm/yarnを自動検出して更新コマンドを表示 | E-01 (156-172行目: 環境検出ロジック) | ○ |
| C-15 | getSnapshotSummaryでスナップショット詳細を生成 | E-01 (174-178行目), E-03 | ○ |
| C-16 | getSummaryで統計情報を生成 | E-01 (125-129行目), E-02 (82-198行目) | ○ |
| C-17 | showSeed時にシード値を表示 | E-02 (119-125行目: seed表示ロジック) | ○ |
| C-18 | 進捗バーの幅はPROGRESS_BAR_WIDTH(40)が最大 | E-02 (13行目: `PROGRESS_BAR_WIDTH = 40`, 68行目: `Math.min(PROGRESS_BAR_WIDTH, width)`) | ○ |
| C-19 | 進捗バーは緑と白のUnicode文字で表示 | E-02 (74-77行目: `chalk.green('█')`, `chalk.white('█')`) | ○ |
| C-20 | 推定時間を1秒以上超過した場合は黄色太字で表示 | E-02 (56-59行目: 超過判定とchalk.bold.yellow) | ○ |
| C-21 | wasInterrupted時に"Test run was interrupted."を表示 | E-01 (133-134行目: `chalk.bold.red('Test run was interrupted.')`) | ○ |
| C-22 | _getTestSummaryで実行情報を生成 | E-01 (210-256行目: _getTestSummary) | ○ |
| C-23 | testPathPatternsで絞り込み情報を表示 | E-01 (214行目: `testPathPatterns`, 220-222行目: `getMatchingTestsInfo`) | ○ |
| C-24 | 複数プロジェクトの場合プロジェクト数を表示 | E-01 (244-247行目: `testContexts.size > 1`の判定) | ○ |
| C-25 | NPM_EVENTSセットでnpmスクリプトイベントを判定 | E-01 (21-46行目: NPM_EVENTS定義) | ○ |
| C-26 | パフォーマンス要件（数万テストケース対応） | **根拠なし**（コード動作からの推定） | △ |

## 4) 不足情報（Unknown / Missing）
- パフォーマンス要件の数値は明示的なドキュメントがなく、実装からの推測に基づく
  - 候補：パフォーマンステスト結果 / ベンチマーク資料 / 設計仕様書

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - SummaryReporter.tsから直接確認可能な技術的記述は高い信頼性
- 0: 低リスク - getSummary.tsの統計計算ロジックは明確
- 0: 低リスク - スナップショットサマリー生成ロジックは詳細に確認可能

## 6) レビュアーチェックリスト（最小）
- [ ] SummaryReporter.ts の onRunComplete メソッドの動作確認
- [ ] _printSummary の閾値判定ロジックの確認
- [ ] getSummary.ts の統計計算が正しいか確認
- [ ] 進捗バーの表示条件（estimatedTime > 2）を確認
- [ ] 行番号が最新のソースコードと一致するか確認
