---
generated_at: 2026-03-01 16:00:00
metrics:
  claims_total: 91
  claims_with_evidence: 91
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：jest-validate

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：91 / 91、根拠なし：0
- 優先レビュー（高）
  1. なし - 全テストケースがソースコードから特定可能

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

- E-01: `packages/jest-validate/src/index.ts` - パッケージのメインエクスポート定義
- E-02: `packages/jest-validate/src/validate.ts` - validate関数およびヘルパー関数（_validate, shouldSkipValidationForPath, allowsMultipleTypes, isOfTypeStringOrNumber）
- E-03: `packages/jest-validate/src/validateCLIOptions.ts` - CLI検証関数（validateCLIOptions, createCLIValidationError, validateDeprecatedOptions）
- E-04: `packages/jest-validate/src/utils.ts` - ユーティリティ関数（ValidationError, format, formatPrettyObject, logValidationWarning, createDidYouMeanMessage）
- E-05: `packages/jest-validate/src/condition.ts` - 条件関数（validationConditionSingle, getValues, validationCondition, multipleValidOptions）
- E-06: `packages/jest-validate/src/errors.ts` - エラーメッセージ関数（errorMessage, formatExamples）
- E-07: `packages/jest-validate/src/warnings.ts` - 警告関数（unknownOptionWarning）
- E-08: `packages/jest-validate/src/deprecated.ts` - 非推奨関数（deprecationWarning, deprecationMessage）
- E-09: `packages/jest-validate/src/defaultConfig.ts` - デフォルト設定（exampleConfig）
- E-10: `packages/jest-validate/src/exampleConfig.ts` - 検証オプション設定（validationOptions）
- E-11: `packages/jest-validate/src/types.ts` - 型定義（ValidationOptions, DeprecatedOptions, DeprecationItem）

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

### validate.ts関連（UT-VAL-001〜020）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 有効な設定オブジェクトが検証されること | E-02 L97-126 validate関数の実装 | ○ |
| C-02 | 複数の有効なオプションが検証されること | E-02 L35-88 _validate関数のforループ | ○ |
| C-03 | 非推奨オプションが検出されること | E-02 L37-48 deprecatedConfig/deprecateの処理 | ○ |
| C-04 | configがnullの場合の処理 | E-02 L26-33 null/undefinedチェック | ○ |
| C-05 | configがundefinedの場合の処理 | E-02 L26-33 null/undefinedチェック | ○ |
| C-06 | exampleConfigがnullの場合の処理 | E-02 L29-31 exampleConfig nullチェック | ○ |
| C-07 | 不正な型のオプションが渡された場合 | E-02 L66-71 condition/errorの呼び出し | ○ |
| C-08 | maxWorkersが文字列の場合に有効であること | E-02 L49-63 allowsMultipleTypes/isOfTypeStringOrNumberの処理 | ○ |
| C-09 | maxWorkersが数値の場合に有効であること | E-02 L94-95 isOfTypeStringOrNumber実装 | ○ |
| C-10 | maxWorkersがboolean型の場合にエラーとなること | E-02 L56-62 ValidationErrorのスロー | ○ |
| C-11 | recursiveオプションがネスト設定を検証すること | E-02 L80-87 recursiveオプションの処理 | ○ |
| C-12 | recursiveDenylistで指定したパスがスキップされること | E-02 L14-18 shouldSkipValidationForPath関数 | ○ |
| C-13 | denylistに含まれるパスがtrueを返すこと | E-02 L14-18 shouldSkipValidationForPath関数 | ○ |
| C-14 | denylistに含まれないパスがfalseを返すこと | E-02 L14-18 shouldSkipValidationForPath関数 | ○ |
| C-15 | denylistがundefinedの場合にfalseを返すこと | E-02 L18 三項演算子でfalse返却 | ○ |
| C-16 | maxWorkersキーの場合にtrueを返すこと | E-02 L93 allowsMultipleTypes実装 | ○ |
| C-17 | 他のキーの場合にfalseを返すこと | E-02 L93 allowsMultipleTypes実装 | ○ |
| C-18 | 文字列の場合にtrueを返すこと | E-02 L94-95 isOfTypeStringOrNumber実装 | ○ |
| C-19 | 数値の場合にtrueを返すこと | E-02 L94-95 isOfTypeStringOrNumber実装 | ○ |
| C-20 | booleanの場合にfalseを返すこと | E-02 L94-95 isOfTypeStringOrNumber実装 | ○ |

### validateCLIOptions.ts関連（UT-VAL-021〜034）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-21 | 有効なCLIオプションが検証されること | E-03 L76-125 validateCLIOptions関数 | ○ |
| C-22 | 未認識のCLIオプションでエラーがスローされること | E-03 L120-122 createCLIValidationErrorの呼び出し | ○ |
| C-23 | エイリアスオプションが認識されること | E-03 L85-89 allowedOptionsへのエイリアス追加 | ○ |
| C-24 | yargsの特殊オプションが許可されること | E-03 L83 yargsSpecialOptions定義 | ○ |
| C-25 | 非推奨CLIオプションで警告が出力されること | E-03 L109-111 validateDeprecatedOptionsの呼び出し | ○ |
| C-26 | 致命的な非推奨オプションでエラーがスローされること | E-03 L68-69 fatal判定とValidationErrorスロー | ○ |
| C-27 | rawArgvでフィルタリングされた未認識オプションが検出されること | E-03 L113-118 unrecognizedOptionsのフィルタ | ○ |
| C-28 | rawArgvに含まれない未認識オプションは無視されること | E-03 L117 rawArgvチェック | ○ |
| C-29 | camelCaseに変換されたオプションが認識されること | E-03 L115 camelcase関数の使用 | ○ |
| C-30 | 単一の未認識オプションで適切なエラーメッセージが生成されること | E-03 L39-47 単数形メッセージ生成 | ○ |
| C-31 | 複数の未認識オプションで複数形のエラーメッセージが生成されること | E-03 L48-53 複数形メッセージ生成 | ○ |
| C-32 | 類似オプションがある場合にDid you meanメッセージが含まれること | E-03 L41-46 createDidYouMeanMessageの呼び出し | ○ |
| C-33 | fatalでない非推奨オプションで警告が出力されること | E-03 L70-72 logValidationWarningの呼び出し | ○ |
| C-34 | fatalな非推奨オプションでエラーがスローされること | E-03 L68-69 ValidationErrorのスロー | ○ |

### utils.ts関連（UT-VAL-035〜049）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | ValidationErrorが正しいメッセージで生成されること | E-04 L29-41 ValidationErrorクラス | ○ |
| C-36 | コメント付きでValidationErrorが生成されること | E-04 L35 コメント処理 | ○ |
| C-37 | コメントがnullの場合に改行のみ追加されること | E-04 L35 三項演算子 | ○ |
| C-38 | オブジェクトがフォーマットされること | E-04 L17-20 format関数 | ○ |
| C-39 | 関数がtoString()で文字列化されること | E-04 L18 typeof === 'function'チェック | ○ |
| C-40 | プリミティブ値がフォーマットされること | E-04 L20 prettyFormat呼び出し | ○ |
| C-41 | オブジェクトがJSONとしてフォーマットされること | E-04 L22-27 formatPrettyObject関数 | ○ |
| C-42 | 関数がtoString()で文字列化されること | E-04 L24 typeof === 'function'チェック | ○ |
| C-43 | undefinedが文字列'undefined'として返却されること | E-04 L25-26 undefined処理 | ○ |
| C-44 | 警告メッセージがconsole.warnで出力されること | E-04 L43-50 logValidationWarning関数 | ○ |
| C-45 | コメント付きで警告が出力されること | E-04 L48 コメント処理 | ○ |
| C-46 | 類似オプションがある場合にサジェストメッセージが返却されること | E-04 L52-62 createDidYouMeanMessage関数 | ○ |
| C-47 | 類似オプションがない場合に空文字列が返却されること | E-04 L61 空文字列返却 | ○ |
| C-48 | 空の許可オプション配列で空文字列が返却されること | E-04 L56-60 find処理 | ○ |
| C-49 | 編集距離が3以上の場合に空文字列が返却されること | E-04 L58 steps < 3条件 | ○ |

### condition.ts関連（UT-VAL-050〜062）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-50 | 同じ型のオプションでtrueを返すこと | E-05 L12-22 validationConditionSingle関数 | ○ |
| C-51 | nullの場合にtrueを返すこと | E-05 L17 option === null | ○ |
| C-52 | undefinedの場合にtrueを返すこと | E-05 L18 option === undefined | ○ |
| C-53 | 両方が関数の場合にtrueを返すこと | E-05 L19 typeof === 'function'チェック | ○ |
| C-54 | 異なる型の場合にfalseを返すこと | E-05 L20 toString.call比較 | ○ |
| C-55 | 通常の値が単一要素配列として返却されること | E-05 L24-33 getValues関数 | ○ |
| C-56 | multipleValidOptionsで生成された配列がそのまま返却されること | E-05 L26-30 MULTIPLE_VALID_OPTIONS_SYMBOLチェック | ○ |
| C-57 | 通常の配列は単一要素配列として扱われること | E-05 L32 [validOption]返却 | ○ |
| C-58 | 有効なオプションの1つと一致する場合にtrueを返すこと | E-05 L35-40 validationCondition関数 | ○ |
| C-59 | 有効なオプションのどれとも一致しない場合にfalseを返すこと | E-05 L39 some関数 | ○ |
| C-60 | 複数の有効なオプションを持つ配列が生成されること | E-05 L42-50 multipleValidOptions関数 | ○ |
| C-61 | 引数が1つの場合も正しく配列が生成されること | E-05 L45 スプレッド演算子 | ○ |
| C-62 | 引数が0の場合に空配列が生成されること | E-05 L45 スプレッド演算子 | ○ |

### errors.ts関連（UT-VAL-063〜067）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | 型エラーメッセージでValidationErrorがスローされること | E-06 L14-38 errorMessage関数 | ○ |
| C-64 | パス付きでエラーメッセージが生成されること | E-06 L25 path.join('.')処理 | ○ |
| C-65 | multipleValidOptionsの場合に複数の型が表示されること | E-06 L21-27 getValues/validTypes処理 | ○ |
| C-66 | パスが空配列の場合にプレフィックスなしでオプション名が表示されること | E-06 L25 三項演算子 | ○ |
| C-67 | 複数の例がフォーマットされること | E-06 L40-50 formatExamples関数 | ○ |

### warnings.ts関連（UT-VAL-068〜071）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | 未知のオプションに対して警告が出力されること | E-07 L17-38 unknownOptionWarning関数 | ○ |
| C-69 | 類似オプションがある場合にDid you meanが含まれること | E-07 L24-27 createDidYouMeanMessage呼び出し | ○ |
| C-70 | パス付きでオプション名が表示されること | E-07 L29 path.join('.')処理 | ○ |
| C-71 | カスタムタイトルが使用されること | E-07 L35 options.title.warning | ○ |

### deprecated.ts関連（UT-VAL-072〜076）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-72 | 非推奨オプションの場合にtrueを返すこと | E-08 L18-31 deprecationWarning関数 | ○ |
| C-73 | 非推奨オプションの場合に警告が出力されること | E-08 L25 deprecationMessage呼び出し | ○ |
| C-74 | 非推奨でないオプションの場合にfalseを返すこと | E-08 L30 return false | ○ |
| C-75 | カスタムタイトルが使用されること | E-08 L13 options.title.deprecation | ○ |
| C-76 | 非推奨メッセージがconsole.warnで出力されること | E-08 L11-16 deprecationMessage関数 | ○ |

### defaultConfig.ts関連（UT-VAL-077〜079）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-77 | デフォルト設定が正しい構造を持つこと | E-09 L10-31 config定義 | ○ |
| C-78 | デフォルトのcondition関数がtrueを返すこと | E-09 L12 condition: () => true | ○ |
| C-79 | デフォルトのdeprecate関数がfalseを返すこと | E-09 L13 deprecate: () => false | ○ |

### exampleConfig.ts関連（UT-VAL-080〜084）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-80 | validationConditionがconditionとして設定されていること | E-10 L17 condition: validationCondition | ○ |
| C-81 | デフォルトでNPMコメント(//)がdenylistに含まれること | E-10 L24 recursiveDenylist: ['//'] | ○ |
| C-82 | deprecationWarningがdeprecateとして設定されていること | E-10 L18 deprecate: deprecationWarning | ○ |
| C-83 | errorMessageがerrorとして設定されていること | E-10 L20 error: errorMessage | ○ |
| C-84 | unknownOptionWarningがunknownとして設定されていること | E-10 L30 unknown: unknownOptionWarning | ○ |

### index.ts関連（UT-VAL-085〜091）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-85 | ValidationErrorがエクスポートされていること | E-01 L9 export { ValidationError } | ○ |
| C-86 | validate関数がデフォルトエクスポートされていること | E-01 L15 export {default as validate} | ○ |
| C-87 | validateCLIOptions関数がエクスポートされていること | E-01 L16 export {default as validateCLIOptions} | ○ |
| C-88 | multipleValidOptions関数がエクスポートされていること | E-01 L17 export {multipleValidOptions} | ○ |
| C-89 | createDidYouMeanMessage関数がエクスポートされていること | E-01 L10 export { createDidYouMeanMessage } | ○ |
| C-90 | format関数がエクスポートされていること | E-01 L11 export { format } | ○ |
| C-91 | logValidationWarning関数がエクスポートされていること | E-01 L12 export { logValidationWarning } | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全テストケースがソースコードから根拠を持って生成されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースがソースコードの実装に基づいています

## 6) レビュアーチェックリスト（最小）
- [ ] validate関数の正常系/異常系テストケースが網羅されているか確認
- [ ] validateCLIOptions関数のエイリアス・非推奨オプション処理が適切にテストされているか確認
- [ ] ValidationErrorクラスのメッセージ生成が正しくテストされているか確認
- [ ] multipleValidOptionsによる複数型許容が適切にテストされているか確認
- [ ] 境界値テスト（空配列、null、undefined）が適切にカバーされているか確認
- [ ] maxWorkersの特殊処理（文字列/数値許容）が適切にテストされているか確認
