---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 26
  claims_with_evidence: 24
  claims_without_evidence: 2
confidence_derived: 0.92
---

# 根拠レポート：babel-plugin-transform-literals.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.92**
  - 根拠あり：24 / 26、根拠なし：2
- 優先レビュー（高）
  1. **UT-LIT-002**：Babel v6でのエラー挙動は推測（根拠不足）
  2. **UT-LIT-020**：プラグイン名プロパティはソースコードから直接確認可能だが、実行時の振る舞いは未検証

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

- E-01: `packages/babel-plugin-transform-literals/src/index.ts` - メインソースコード
- E-02: `packages/babel-plugin-transform-literals/package.json` - パッケージ定義・依存関係
- E-03: `packages/babel-plugin-transform-literals/README.md` - プラグイン概要説明
- E-04: ソースコード内の正規表現 `/^0[ob]/i` - 2進数・8進数リテラル判定ロジック
- E-05: ソースコード内の正規表現 `/\\u/i` - Unicodeエスケープ判定ロジック
- E-06: `api.assertVersion(REQUIRED_VERSION(7))` - Babel 7バージョン要件

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 (UT-LIT-001) | プラグインが正しく初期化されること | E-01, E-06 | ○ |
| C-02 (UT-LIT-002) | Babel 7未満のバージョンでエラーになること | E-06 | △ |
| C-03 (UT-LIT-003) | 2進数リテラル（0b）のextra.rawが削除されること | E-01, E-04 | ○ |
| C-04 (UT-LIT-004) | 8進数リテラル（0o）のextra.rawが削除されること | E-01, E-04 | ○ |
| C-05 (UT-LIT-005) | 大文字2進数リテラル（0B）のextra.rawが削除されること | E-01, E-04 | ○ |
| C-06 (UT-LIT-006) | 大文字8進数リテラル（0O）のextra.rawが削除されること | E-01, E-04 | ○ |
| C-07 (UT-LIT-007) | 通常の10進数リテラルはextra.rawが保持されること | E-01, E-04 | ○ |
| C-08 (UT-LIT-008) | 16進数リテラル（0x）はextra.rawが保持されること | E-01, E-04 | ○ |
| C-09 (UT-LIT-009) | node.extraがundefinedの場合に正常処理されること | E-01 | ○ |
| C-10 (UT-LIT-010) | node.extraがnullの場合に正常処理されること | E-01 | ○ |
| C-11 (UT-LIT-011) | node.extra.rawが空文字列の場合に正常処理されること | E-01, E-04 | ○ |
| C-12 (UT-LIT-012) | Unicodeエスケープ（\\u）を含む文字列のextra.rawが削除されること | E-01, E-05 | ○ |
| C-13 (UT-LIT-013) | 大文字Unicodeエスケープ（\\U）を含む文字列のextra.rawが削除されること | E-01, E-05 | ○ |
| C-14 (UT-LIT-014) | 複数のUnicodeエスケープを含む文字列が処理されること | E-01, E-05 | ○ |
| C-15 (UT-LIT-015) | Unicodeエスケープを含まない通常文字列はextra.rawが保持されること | E-01, E-05 | ○ |
| C-16 (UT-LIT-016) | 他のエスケープシーケンス（\\n）のみの文字列はextra.rawが保持されること | E-01, E-05 | ○ |
| C-17 (UT-LIT-017) | StringLiteral: node.extraがundefinedの場合に正常処理されること | E-01 | ○ |
| C-18 (UT-LIT-018) | StringLiteral: node.extraがnullの場合に正常処理されること | E-01 | ○ |
| C-19 (UT-LIT-019) | StringLiteral: node.extra.rawが空文字列の場合に正常処理されること | E-01, E-05 | ○ |
| C-20 (UT-LIT-020) | プラグイン名が'transform-literals'であること | E-01 | △ |
| C-21 (UT-LIT-021) | visitorオブジェクトにNumericLiteralハンドラが存在すること | E-01 | ○ |
| C-22 (UT-LIT-022) | visitorオブジェクトにStringLiteralハンドラが存在すること | E-01 | ○ |
| C-23 (UT-LIT-023) | 0bで始まる文字列を含むrawが変換されること（最小2進数） | E-01, E-04 | ○ |
| C-24 (UT-LIT-024) | 0oで始まる文字列を含むrawが変換されること（最小8進数） | E-01, E-04 | ○ |
| C-25 (UT-LIT-025) | \\uで始まる4桁のコードポイントが処理されること（最小） | E-01, E-05 | ○ |
| C-26 (UT-LIT-026) | \\uで始まる最大4桁のコードポイント（FFFF）が処理されること | E-01, E-05 | ○ |

## 4) 不足情報（Unknown / Missing）
- **UT-LIT-002（Babel v6エラー挙動）**：`api.assertVersion(7)` がBabel v6環境でどのようなエラーをスローするかは、`@babel/helper-plugin-utils` の実装に依存するため、本モジュールのソースコードからは直接確認できない
  - 候補：`@babel/helper-plugin-utils` のソースコード / Babelの統合テスト / 公式ドキュメント
- **UT-LIT-020（プラグイン名確認）**：ソースコード上は `name: "transform-literals"` と明示されているが、実行時に他のメカニズムで上書きされる可能性は検証されていない
  - 候補：Babelプラグインローダーの仕様確認 / 統合テスト

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - このプラグインは単純な変換ロジック（extra.rawの削除）のみで、複雑なビジネスロジックや外部依存がない
- **0: 低リスク** - 正規表現パターンはシンプルで、エッジケースが限定的
- **1: 中リスク** - `node.extra` の型定義が `@ts-expect-error` で抑制されているため、型安全性に関するテストは注意が必要

## 6) レビュアーチェックリスト（最小）
- [ ] NumericLiteralビジタが2進数（0b/0B）と8進数（0o/0O）のみを変換対象としていることを確認
- [ ] StringLiteralビジタがUnicodeエスケープ（\\u/\\U）のみを変換対象としていることを確認
- [ ] node.extraがundefined/nullの場合のガード条件（`node.extra && ...`）が正しく動作することを確認
- [ ] 正規表現の`/i`フラグにより大文字小文字両方が処理されることを確認
- [ ] 16進数リテラル（0x）が変換対象外であることを確認（ES5互換のため）
