---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 35
  claims_with_evidence: 35
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: optparse.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）: **1.00**
  - 根拠あり: 35 / 35、根拠なし: 0
- 優先レビュー（高）
  1. **なし**: 全てのテストケースがソースコードに基づいて生成されている

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

- E-01: `src/optparse.coffee` (ソースコード本体、166行)
- E-02: `lib/coffeescript/optparse.js` (コンパイル済みJavaScript、231行)
- E-03: `src/optparse.coffee:14-71` (OptionParserクラス定義)
- E-04: `src/optparse.coffee:21-22` (constructorメソッド)
- E-05: `src/optparse.coffee:30-58` (parseメソッド)
- E-06: `src/optparse.coffee:62-70` (helpメソッド)
- E-07: `src/optparse.coffee:76-81` (正規表現定数 LONG_FLAG, SHORT_FLAG, MULTI_FLAG, OPTIONAL)
- E-08: `src/optparse.coffee:85-98` (buildRules関数)
- E-09: `src/optparse.coffee:102-113` (buildRule関数)
- E-10: `src/optparse.coffee:115-165` (normalizeArguments関数)

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | OptionParser constructorが有効なルール宣言を受け取りインスタンス生成 | E-04 | ○ |
| C-02 | バナーがオプショナルであること | E-04 | ○ |
| C-03 | 2要素のルール宣言にnullが補完されること | E-08 (tuple.length < 3チェック) | ○ |
| C-04 | 重複フラグでエラーがスローされること | E-08 (flagDict[flag]?チェック、94-95行) | ○ |
| C-05 | 空のルール宣言配列で動作すること | E-08 | ○ |
| C-06 | 短いフラグのパース | E-10, E-07 (SHORT_FLAG正規表現) | ○ |
| C-07 | 長いフラグのパース | E-10, E-07 (LONG_FLAG正規表現) | ○ |
| C-08 | 引数付きフラグのパース | E-05 (hasArgument処理、44-49行) | ○ |
| C-09 | リスト型引数の複数回指定 | E-05 (isList処理、45-47行) | ○ |
| C-10 | マルチフラグの展開 | E-10, E-07 (MULTI_FLAG正規表現、129-148行) | ○ |
| C-11 | 位置引数のarguments格納 | E-05 (57行) | ○ |
| C-12 | ダブルダッシュのdoubleDashedフラグ設定 | E-05 (53-55行) | ○ |
| C-13 | 未定義フラグでエラー | E-10 (151-152行) | ○ |
| C-14 | マルチフラグ内の未定義フラグでエラー | E-10 (135-136行) | ○ |
| C-15 | 引数必要フラグが最後の場合エラー | E-10 (162-164行) | ○ |
| C-16 | マルチフラグで引数付きフラグが中間の場合エラー | E-10 (140-143行) | ○ |
| C-17 | 空の引数配列のパース | E-05 | ○ |
| C-18 | マルチフラグ最後の引数付きフラグ | E-10 (145-148行) | ○ |
| C-19 | 最初の非オプション以降は位置引数 | E-10 (157-160行) | ○ |
| C-20 | バナー付きヘルプテキスト生成 | E-06 (64行) | ○ |
| C-21 | バナーなしヘルプテキスト生成 | E-06 (64行、条件分岐) | ○ |
| C-22 | 短いフラグと長いフラグの整形 | E-06 (68行) | ○ |
| C-23 | 短いフラグなしの整形 | E-06 (68行、条件演算子) | ○ |
| C-24 | 長いフラグ名15文字以上の整形 | E-06 (66-67行) | ○ |
| C-25 | 空ルールのヘルプ | E-06 | ○ |
| C-26 | buildRulesの3要素ルール処理 | E-08 | ○ |
| C-27 | buildRulesの2要素ルールnull補完 | E-08 (87行) | ○ |
| C-28 | buildRuleの引数なしルール構築 | E-09 (111行、hasArgument判定) | ○ |
| C-29 | buildRuleの引数付きルール構築 | E-09 (103行、OPTIONALマッチ) | ○ |
| C-30 | buildRuleのリスト型ルール構築 | E-09 (112行、isList判定) | ○ |
| C-31 | normalizeArgumentsの単一フラグ正規化 | E-10 | ○ |
| C-32 | normalizeArgumentsの位置引数分離 | E-10 (157-160行) | ○ |
| C-33 | normalizeArgumentsのマルチフラグ展開 | E-10 (129-148行) | ○ |
| C-34 | 非リスト型オプションの上書き動作 | E-05 (49行、単純代入) | ○ |
| C-35 | ハイフン含む長いフラグ名の処理 | E-07 (LONG_FLAG: /^(--\w[\w\-]*)/) | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし
  - 全てのテストケースはソースコードの実装に基づいて生成されている
  - optparseモジュールは自己完結型であり、外部ドキュメントへの依存がない

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースがソースコードから直接導出されている
- 内部関数（buildRules, buildRule, normalizeArguments）はexportsされていないため、実際の単体テストでは間接的にテストするか、モジュール内部をモックする必要がある

## 6) レビュアーチェックリスト（最小）
- [ ] OptionParserクラスの3つのメソッド（constructor, parse, help）がカバーされているか
- [ ] 正常系・異常系・境界値の観点が適切に含まれているか
- [ ] エラーメッセージの検証（unrecognized option, value required, cannot use option等）が含まれているか
- [ ] マルチフラグ展開のエッジケースがカバーされているか
- [ ] 内部関数のテストケースが適切にパブリックAPIを通じてテスト可能か検討されているか
