---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 100
  claims_with_evidence: 100
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：nu_plugin_formats.csv

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `crates/nu_plugin_formats/src/lib.rs` - プラグイン本体、FormatCmdsPlugin構造体
- E-02: `crates/nu_plugin_formats/src/main.rs` - エントリポイント
- E-03: `crates/nu_plugin_formats/src/from/eml.rs` - FromEmlコマンド実装
- E-04: `crates/nu_plugin_formats/src/from/ics.rs` - FromIcsコマンド実装
- E-05: `crates/nu_plugin_formats/src/from/ini.rs` - FromIniコマンド実装
- E-06: `crates/nu_plugin_formats/src/from/vcf.rs` - FromVcfコマンド実装
- E-07: `crates/nu_plugin_formats/src/from/plist.rs` - FromPlistコマンド実装
- E-08: `crates/nu_plugin_formats/src/to/plist.rs` - IntoPlistコマンド実装
- E-09: `crates/nu_plugin_formats/src/from/mod.rs` - fromモジュール宣言
- E-10: `crates/nu_plugin_formats/src/to/mod.rs` - toモジュール宣言

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

### FormatCmdsPlugin (lib.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | version()がCARGO_PKG_VERSIONを返す | E-01 L16-18 | ○ |
| C-02 | commands()が6つのコマンドを返す | E-01 L20-29 | ○ |

### FromEml (eml.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-03 | name()が"from eml"を返す | E-03 L17-19 | ○ |
| C-04 | description()が説明文を返す | E-03 L21-23 | ○ |
| C-05 | signature()がpreview-bodyオプション付きで構築 | E-03 L25-35 | ○ |
| C-06 | run()がEMLを正しくパースする | E-03 L41-53, L137-173 | ○ |
| C-07 | preview-bodyが負値の場合0に変換される | E-03 L48-51 | ○ |
| C-08 | DEFAULT_BODY_PREVIEWが50に設定されている | E-03 L10 | ○ |
| C-09 | 不正なEMLでShellError::CantConvertが発生 | E-03 L143-148 | ○ |
| C-10 | emailaddress_to_valueがAddressOnlyを処理 | E-03 L101-118 | ○ |
| C-11 | emailaddress_to_valueがNameAndEmailAddressを処理 | E-03 L101-118 | ○ |
| C-12 | headerfieldvalue_to_valueが全パターン処理 | E-03 L120-135 | ○ |
| C-13 | from_emlがSubject/From/To/Bodyを抽出 | E-03 L150-170 | ○ |

### FromIcs (ics.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | name()が"from ics"を返す | E-04 L17-19 | ○ |
| C-15 | description()が説明文を返す | E-04 L21-23 | ○ |
| C-16 | signature()がStringからtableの変換を定義 | E-04 L24-28 | ○ |
| C-17 | run()が行折り返しを処理する | E-04 L44-57 | ○ |
| C-18 | run()がパースエラー時にValue::errorを返す | E-04 L68-76 | ○ |
| C-19 | calendar_to_valueが7フィールドを生成 | E-04 L100-113 | ○ |
| C-20 | events_to_valueがproperties/alarmsを含む | E-04 L115-131 | ○ |
| C-21 | alarms_to_valueがpropertiesを含む | E-04 L133-146 | ○ |
| C-22 | todos_to_valueがproperties/alarmsを含む | E-04 L148-164 | ○ |
| C-23 | journals_to_valueがpropertiesを含む | E-04 L166-179 | ○ |
| C-24 | free_busys_to_valueがpropertiesを含む | E-04 L181-194 | ○ |
| C-25 | timezones_to_valueがproperties/transitionsを含む | E-04 L196-212 | ○ |
| C-26 | properties_to_valueがname/value/paramsを生成 | E-04 L229-256 | ○ |
| C-27 | params_to_valueがIndexMapを使用 | E-04 L258-271 | ○ |

### FromIni (ini.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 | name()が"from ini"を返す | E-05 L13-15 | ○ |
| C-29 | description()が説明文を返す | E-05 L17-19 | ○ |
| C-30 | signature()が4つのスイッチを定義 | E-05 L21-41 | ○ |
| C-31 | run()がno-quoteフラグを処理 | E-05 L59-61 | ○ |
| C-32 | run()がno-escapeフラグを処理 | E-05 L63-65 | ○ |
| C-33 | run()がindented-multiline-valueフラグを処理 | E-05 L67-69 | ○ |
| C-34 | run()がpreserve-key-leading-whitespaceフラグを処理 | E-05 L71-73 | ○ |
| C-35 | run()がセクションなしのペアを空文字列キーで処理 | E-05 L96-100 | ○ |
| C-36 | run()がパースエラー時にShellError::UnsupportedInputを返す | E-05 L108-114 | ○ |

### FromVcf (vcf.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-37 | name()が"from vcf"を返す | E-06 L17-19 | ○ |
| C-38 | description()が説明文を返す | E-06 L21-23 | ○ |
| C-39 | signature()がStringからtableの変換を定義 | E-06 L24-27 | ○ |
| C-40 | run()が行折り返しを処理する | E-06 L44-56 | ○ |
| C-41 | run()がパースエラー時にValue::errorを返す | E-06 L62-73 | ○ |
| C-42 | contact_to_valueがpropertiesフィールドを生成 | E-06 L112-117 | ○ |
| C-43 | properties_to_valueがname/value/paramsを生成 | E-06 L119-146 | ○ |
| C-44 | params_to_valueがIndexMapを使用 | E-06 L148-161 | ○ |

### FromPlist (from/plist.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | name()が"from plist"を返す | E-07 L17-19 | ○ |
| C-46 | description()が説明文を返す | E-07 L21-23 | ○ |
| C-47 | run()が文字列入力を処理 | E-07 L51-57 | ○ |
| C-48 | run()がバイナリ入力を処理 | E-07 L58-63 | ○ |
| C-49 | run()が不正入力でエラーを返す | E-07 L64-68 | ○ |
| C-50 | convert_plist_valueがString型を変換 | E-07 L78 | ○ |
| C-51 | convert_plist_valueがBoolean型を変換 | E-07 L79 | ○ |
| C-52 | convert_plist_valueがReal型を変換 | E-07 L80 | ○ |
| C-53 | convert_plist_valueがDate型を変換 | E-07 L81 | ○ |
| C-54 | convert_plist_valueがInteger型を変換 | E-07 L82-87 | ○ |
| C-55 | convert_plist_valueがUid型を変換 | E-07 L88 | ○ |
| C-56 | convert_plist_valueがData型を変換 | E-07 L89 | ○ |
| C-57 | convert_plist_valueがArray型を変換 | E-07 L90 | ○ |
| C-58 | convert_plist_valueがDictionary型を変換 | E-07 L91 | ○ |
| C-59 | convert_plist_valueが未知型をnothingに変換 | E-07 L92 | ○ |
| C-60 | convert_dictがDictionaryをRecordに変換 | E-07 L96-106 | ○ |
| C-61 | convert_arrayが配列を変換 | E-07 L108-113 | ○ |
| C-62 | convert_dateがPlistDateをDateTimeに変換 | E-07 L115-122 | ○ |

### IntoPlist (to/plist.rs)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | name()が"to plist"を返す | E-08 L12-14 | ○ |
| C-64 | description()が説明文を返す | E-08 L16-18 | ○ |
| C-65 | signature()がbinaryスイッチを定義 | E-08 L28-32 | ○ |
| C-66 | run()がXML形式で出力 | E-08 L47-55 | ○ |
| C-67 | run()がバイナリ形式で出力 | E-08 L43-46 | ○ |
| C-68 | convert_nu_valueがString型を変換 | E-08 L66 | ○ |
| C-69 | convert_nu_valueがBool型を変換 | E-08 L67 | ○ |
| C-70 | convert_nu_valueがFloat型を変換 | E-08 L68 | ○ |
| C-71 | convert_nu_valueがInt型を変換 | E-08 L69 | ○ |
| C-72 | convert_nu_valueがBinary型を変換 | E-08 L70 | ○ |
| C-73 | convert_nu_valueがRecord型を変換 | E-08 L71 | ○ |
| C-74 | convert_nu_valueがList型を変換 | E-08 L72-76 | ○ |
| C-75 | convert_nu_valueがDate型を変換 | E-08 L77 | ○ |
| C-76 | convert_nu_valueがFilesize型を変換 | E-08 L78 | ○ |
| C-77 | convert_nu_valueが未サポート型でエラーを返す | E-08 L79-82 | ○ |
| C-78 | convert_nu_dictがRecordをDictionaryに変換 | E-08 L86-93 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースはソースコードの実装に基づいて生成されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコード解析に基づいている
- 既存のユニットテストが各モジュールに存在し（test_examples関数）、これらを参考にテストケースを設計

## 6) レビュアーチェックリスト（最小）
- [ ] FromEml: preview-bodyオプションの境界値テスト（0, 負値, 大きな値）が十分か確認
- [ ] FromIcs/FromVcf: 行折り返し処理のエッジケース（タブと空白の混在など）を確認
- [ ] FromIni: 4つのパースオプションの組み合わせテストの必要性を検討
- [ ] FromPlist/IntoPlist: 大きな整数値（i64範囲外）のエラーハンドリングを確認
- [ ] 全コマンド: 空入力、null入力のテストケースが網羅されているか確認
- [ ] IntoPlist: UTF-8エンコーディングエラーのテストケースを検討
