---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 155
  claims_with_evidence: 152
  claims_without_evidence: 3
confidence_derived: 0.98
---

# 根拠レポート：nu-json.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：152 / 155、根拠なし：3
- 優先レビュー（高）
  1. **C-079**: find_path空パス処理 - 空パスの動作がコードから推測
  2. **C-082**: pointer空ポインタ処理 - 空ポインタの動作がコードから推測
  3. **C-114**: ToJsonトレイト - to_json()のパニック動作の仕様が不明確

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

- E-01: `crates/nu-json/src/lib.rs` - モジュール公開API定義
- E-02: `crates/nu-json/src/de.rs` - デシリアライザ実装（828行）
- E-03: `crates/nu-json/src/ser.rs` - シリアライザ実装（1041行）
- E-04: `crates/nu-json/src/value.rs` - Value型定義と操作（1159行）
- E-05: `crates/nu-json/src/error.rs` - エラー型定義（167行）
- E-06: `crates/nu-json/src/util.rs` - ユーティリティ（StringReader、ParseNumber）（323行）
- E-07: `crates/nu-json/src/builder.rs` - ArrayBuilder、ObjectBuilder（116行）
- E-08: `crates/nu-json/tests/main.rs` - 統合テスト（98行）
- E-09: Hjson仕様（外部ドキュメント）- 引用符なしキー、コメント、複数行文字列

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | Deserializer::new正常系 | E-02 L35-41 | ○ |
| C-002 | Deserializer::new_for_root正常系 | E-02 L43-49 | ○ |
| C-003 | Deserializer::end正常系 | E-02 L51-62 | ○ |
| C-004 | Deserializer::end異常系 | E-02 L60-61 | ○ |
| C-005 | parse_value文字列パース | E-02 L143-148 | ○ |
| C-006 | parse_value配列パース | E-02 L149-157 | ○ |
| C-007 | parse_valueオブジェクトパース | E-02 L159-161 | ○ |
| C-008 | parse_value引用符なし文字列 | E-02 L164, L203-297 | ○ |
| C-009 | parse_valueリテラルパース | E-02 L230-260 | ○ |
| C-010 | parse_value EOF異常系 | E-02 L117-119 | ○ |
| C-011 | parse_keyname正常系 | E-02 L68-109 | ○ |
| C-012 | parse_keyname空キー異常系 | E-02 L82-86 | ○ |
| C-013 | parse_keyname空白異常系 | E-02 L87-93 | ○ |
| C-014 | parse_stringエスケープ処理 | E-02 L423-431 | ○ |
| C-015 | parse_stringUnicodeエスケープ | E-02 L432-484 | ○ |
| C-016 | parse_stringサロゲートペア | E-02 L442-471 | ○ |
| C-017 | parse_string不正サロゲート | E-02 L434-438, L454-458 | ○ |
| C-018 | parse_string不正Unicode | E-02 L465-469, L475-479 | ○ |
| C-019 | parse_ml_string正常系 | E-02 L345-398 | ○ |
| C-020 | parse_ml_stringインデント | E-02 L355-363, L395-396 | ○ |
| C-021 | decode_hex_escape正常系 | E-02 L299-325 | ○ |
| C-022 | decode_hex_escape不正16進 | E-02 L311-313 | ○ |
| C-023 | decode_hex_escape桁不足 | E-02 L319-322 | ○ |
| C-024 | parse_tfnns数値パース | E-02 L262-279 | ○ |
| C-025 | parse_tfnns指数パース | E-02 L262-279, E-06 | ○ |
| C-026 | from_str正常系 | E-02 L822-827 | ○ |
| C-027 | from_str異常系 | E-02 L822-827 | ○ |
| C-028 | from_slice正常系 | E-02 L814-819 | ○ |
| C-029 | from_reader正常系 | E-02 L802-811 | ○ |
| C-030 | from_iter正常系 | E-02 L763-799 | ○ |
| C-031 | StreamDeserializer::next正常系 | E-02 L733-757 | ○ |
| C-032 | StreamDeserializer::next空ストリーム | E-02 L748-749 | ○ |
| C-033 | Serializer::new正常系 | E-03 L24-28 | ○ |
| C-034 | Serializer::with_indent正常系 | E-03 L30-33 | ○ |
| C-035 | Serializer::into_inner正常系 | E-03 L48-52 | ○ |
| C-036 | serialize_bool正常系 | E-03 L86-93 | ○ |
| C-037 | serialize_i64正常系 | E-03 L113-117 | ○ |
| C-038 | serialize_u64正常系 | E-03 L137-141 | ○ |
| C-039 | serialize_f32正常系 | E-03 L143-147 | ○ |
| C-040 | serialize_f32負のゼロ | E-03 L146 | ○ |
| C-041 | serialize_f32 NaN | E-03 L867-877 | ○ |
| C-042 | serialize_f32 Infinity | E-03 L867-877 | ○ |
| C-043 | serialize_f64正常系 | E-03 L149-153 | ○ |
| C-044 | serialize_f64特殊値 | E-03 L879-889 | ○ |
| C-045 | serialize_str正常系 | E-03 L161-164 | ○ |
| C-046 | serialize_str空文字列 | E-03 L841-844 | ○ |
| C-047 | serialize_char正常系 | E-03 L155-159 | ○ |
| C-048 | serialize_bytes正常系 | E-03 L166-173 | ○ |
| C-049 | serialize_unit正常系 | E-03 L175-179 | ○ |
| C-050 | serialize_none正常系 | E-03 L224-227 | ○ |
| C-051 | serialize_some正常系 | E-03 L229-235 | ○ |
| C-052 | serialize_seq正常系 | E-03 L237-248 | ○ |
| C-053 | serialize_seq空シーケンス | E-03 L239-242 | ○ |
| C-054 | serialize_map正常系 | E-03 L279-290 | ○ |
| C-055 | serialize_map空マップ | E-03 L281-284 | ○ |
| C-056 | serialize_struct正常系 | E-03 L292-295 | ○ |
| C-057 | MapKeySerializer::serialize_str | E-03 L497-500 | ○ |
| C-058 | MapKeySerializer::serialize_bool | E-03 L510-512 | ○ |
| C-059 | MapKeySerializer::serialize_i64 | E-03 L526-528 | ○ |
| C-060 | escape_bytes特殊文字 | E-03 L794-832 | ○ |
| C-061 | escape_bytes通常文字 | E-03 L794-832 | ○ |
| C-062 | to_string正常系 | E-03 L996-1004 | ○ |
| C-063 | to_string_raw正常系 | E-03 L1031-1040 | ○ |
| C-064 | to_string_with_indent正常系 | E-03 L1006-1015 | ○ |
| C-065 | to_string_with_tab_indentation正常系 | E-03 L1017-1026 | ○ |
| C-066 | to_vec正常系 | E-03 L957-967 | ○ |
| C-067 | to_writer正常系 | E-03 L919-928 | ○ |
| C-068 | HjsonFormatter::new正常系 | E-03 L705-707 | ○ |
| C-069 | HjsonFormatter::with_indent正常系 | E-03 L710-719 | ○ |
| C-070 | HjsonFormatter::open正常系 | E-03 L723-736 | ○ |
| C-071 | HjsonFormatter::close正常系 | E-03 L760-769 | ○ |
| C-072 | HjsonFormatter::comma正常系 | E-03 L738-748 | ○ |
| C-073 | HjsonFormatter::colon正常系 | E-03 L750-758 | ○ |
| C-074 | Value::find正常系 | E-04 L79-84 | ○ |
| C-075 | Value::find存在しないキー | E-04 L79-84 | ○ |
| C-076 | Value::find非オブジェクト | E-04 L82-83 | ○ |
| C-077 | Value::find_path正常系 | E-04 L89-100 | ○ |
| C-078 | Value::find_pathパス不在 | E-04 L96-97 | ○ |
| C-079 | Value::find_path空パス | E-04 L89-100 | △ |
| C-080 | Value::pointer正常系 | E-04 L113-141 | ○ |
| C-081 | Value::pointerエスケープ | E-04 L128 | ○ |
| C-082 | Value::pointer空ポインタ | E-04 L120-122 | △ |
| C-083 | Value::pointer無効形式 | E-04 L123-125 | ○ |
| C-084 | Value::search正常系 | E-04 L146-153 | ○ |
| C-085 | Value::search失敗 | E-04 L146-153 | ○ |
| C-086 | Value::is_object Object | E-04 L156-158 | ○ |
| C-087 | Value::is_object非Object | E-04 L156-158 | ○ |
| C-088 | Value::as_object正常系 | E-04 L162-167 | ○ |
| C-089 | Value::as_object_mut正常系 | E-04 L171-176 | ○ |
| C-090 | Value::is_array正常系 | E-04 L179-181 | ○ |
| C-091 | Value::as_array正常系 | E-04 L185-190 | ○ |
| C-092 | Value::as_array_mut正常系 | E-04 L194-199 | ○ |
| C-093 | Value::is_string正常系 | E-04 L202-204 | ○ |
| C-094 | Value::as_str正常系 | E-04 L208-213 | ○ |
| C-095 | Value::is_number正常系 | E-04 L216-218 | ○ |
| C-096 | Value::as_i64正常系 | E-04 L237-243 | ○ |
| C-097 | Value::as_i64 U64変換 | E-04 L240 | ○ |
| C-098 | Value::as_u64正常系 | E-04 L247-253 | ○ |
| C-099 | Value::as_f64正常系 | E-04 L257-264 | ○ |
| C-100 | Value::as_f64数値変換 | E-04 L259-260 | ○ |
| C-101 | Value::is_boolean正常系 | E-04 L267-269 | ○ |
| C-102 | Value::as_bool正常系 | E-04 L273-278 | ○ |
| C-103 | Value::is_null正常系 | E-04 L281-283 | ○ |
| C-104 | Value::as_null正常系 | E-04 L287-292 | ○ |
| C-105 | Value::Serialize正常系 | E-04 L308-325 | ○ |
| C-106 | Value::Deserialize正常系 | E-04 L327-429 | ○ |
| C-107 | Value::FromStr正常系 | E-04 L468-473 | ○ |
| C-108 | Value::Debug正常系 | E-04 L452-458 | ○ |
| C-109 | Value::Display正常系 | E-04 L460-466 | ○ |
| C-110 | Serializer::serialize_i64負整数 | E-04 L511-518 | ○ |
| C-111 | Serializer::serialize_i64非負整数 | E-04 L511-518 | ○ |
| C-112 | to_value正常系 | E-04 L1097-1102 | ○ |
| C-113 | from_value正常系 | E-04 L1105-1110 | ○ |
| C-114 | ToJson::to_json正常系 | E-04 L1118-1125 | △ |
| C-115 | Error::from(io::Error) | E-05 L140-144 | ○ |
| C-116 | Error::from(FromUtf8Error) | E-05 L146-150 | ○ |
| C-117 | Error::Display正常系 | E-05 L128-138 | ○ |
| C-118 | Error::Error::cause正常系 | E-05 L118-126 | ○ |
| C-119 | ErrorCode::Debug正常系 | E-05 L73-102 | ○ |
| C-120 | de::Error::custom正常系 | E-05 L152-156 | ○ |
| C-121 | ser::Error::custom正常系 | E-05 L158-163 | ○ |
| C-122 | StringReader::new正常系 | E-06 L17-25 | ○ |
| C-123 | StringReader::pos正常系 | E-06 L42-44 | ○ |
| C-124 | StringReader::eof EOF検出 | E-06 L46-49 | ○ |
| C-125 | StringReader::eof非EOF | E-06 L46-49 | ○ |
| C-126 | StringReader::peek正常系 | E-06 L62-64 | ○ |
| C-127 | StringReader::peek_next正常系 | E-06 L51-60 | ○ |
| C-128 | StringReader::eat_char正常系 | E-06 L70-72 | ○ |
| C-129 | StringReader::uneat_char正常系 | E-06 L74-76 | ○ |
| C-130 | StringReader::next_char正常系 | E-06 L78-90 | ○ |
| C-131 | StringReader::next_char EOF | E-06 L87 | ○ |
| C-132 | StringReader::parse_whitespace空白 | E-06 L106-138 | ○ |
| C-133 | StringReader::parse_whitespace #コメント | E-06 L112 | ○ |
| C-134 | StringReader::parse_whitespace //コメント | E-06 L115 | ○ |
| C-135 | StringReader::parse_whitespace /**/コメント | E-06 L116-126 | ○ |
| C-136 | StringReader::error正常系 | E-06 L140-142 | ○ |
| C-137 | ParseNumber::new正常系 | E-06 L156-163 | ○ |
| C-138 | ParseNumber::parse正整数 | E-06 L165-218, L198-205 | ○ |
| C-139 | ParseNumber::parse負整数 | E-06 L199-201 | ○ |
| C-140 | ParseNumber::parse浮動小数点 | E-06 L190-197, L208-209 | ○ |
| C-141 | ParseNumber::parse指数表記 | E-06 L250-256, L293-320 | ○ |
| C-142 | ParseNumber::parse負指数 | E-06 L296-303 | ○ |
| C-143 | ParseNumber::parse先頭ゼロ | E-06 L227-235 | ○ |
| C-144 | ParseNumber::parse不完全小数 | E-06 L271-278 | ○ |
| C-145 | ParseNumber::parse不完全指数 | E-06 L307-314 | ○ |
| C-146 | ArrayBuilder::new正常系 | E-07 L16-19 | ○ |
| C-147 | ArrayBuilder::unwrap正常系 | E-07 L22-25 | ○ |
| C-148 | ArrayBuilder::push正常系 | E-07 L28-32 | ○ |
| C-149 | ArrayBuilder::push_array正常系 | E-07 L36-43 | ○ |
| C-150 | ArrayBuilder::push_object正常系 | E-07 L47-54 | ○ |
| C-151 | ObjectBuilder::new正常系 | E-07 L69-71 | ○ |
| C-152 | ObjectBuilder::unwrap正常系 | E-07 L74-77 | ○ |
| C-153 | ObjectBuilder::insert正常系 | E-07 L80-90 | ○ |
| C-154 | ObjectBuilder::insert_array正常系 | E-07 L94-102 | ○ |
| C-155 | ObjectBuilder::insert_object正常系 | E-07 L106-114 | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-079 (find_path空パス)**: 空のキー配列を渡した場合の動作がコードから明示的に定義されていない。ループが実行されないためselfが返されると推測。
  - 候補：単体テスト追加 / 明示的なドキュメント追加
- **C-082 (pointer空ポインタ)**: 空ポインタの場合Some(self)を返すことはコードから確認できるが、RFC6901との整合性の明示的な検証が必要。
  - 候補：RFC6901参照 / 単体テスト追加
- **C-114 (ToJson::to_json)**: expect()でパニックする可能性があり、失敗しない前提の仕様が妥当かどうか要確認。
  - 候補：失敗条件の調査 / Result型への変更検討

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: デシリアライズ・シリアライズの基本機能は既存テスト(E-08)で検証済み
- **0 (低リスク)**: エラー処理は包括的にErrorCodeとして定義されている
- **1 (中リスク)**: Hjson拡張機能（複数行文字列、コメント）の境界条件テストが追加で必要
- **1 (中リスク)**: サロゲートペア処理の網羅的テストが推奨される
- **0 (低リスク)**: ビルダーパターンは単純な構造でリスク低

## 6) レビュアーチェックリスト（最小）
- [ ] C-079: find_path に空配列を渡した場合の動作を確認
- [ ] C-082: pointer に空文字列を渡した場合のRFC6901準拠を確認
- [ ] C-114: ToJson::to_json のパニック条件を確認し、許容可能か判断
- [ ] Hjson複数行文字列のインデント処理が期待通りか確認
- [ ] サロゲートペアのエッジケース（不正なペア、孤立サロゲート）のテストカバレッジ確認
- [ ] NaN/Infinityのnull変換がプロジェクト要件と整合しているか確認
