---
generated_at: 2026-01-30 12:00:00
metrics:
  claims_total: 110
  claims_with_evidence: 110
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：eslint-plugin-actual.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：110 / 110、根拠なし：0
- 優先レビュー（高）
  - 全てのテストケースにソースコード根拠あり

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

- E-01: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/index.js`
- E-02: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/utils/import-helpers.js`
- E-03: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/no-untranslated-strings.js`
- E-04: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/no-react-default-import.js`
- E-05: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/object-shorthand-properties.js`
- E-06: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/typography.js`
- E-07: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/prefer-trans-over-t.js`
- E-08: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/prefer-logger-over-console.js`
- E-09: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/no-anchor-tag.js`
- E-10: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/prefer-if-statement.js`
- E-11: `/Users/tomokababa/Work/reverse-engineering/sample/actual-master/packages/eslint-plugin-actual/lib/rules/prefer-const.js`

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

### import-helpers（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | hasImport: 指定モジュールからimport存在確認 | E-02 L12-25 | ○ |
| C-02 | hasImport: import不在時false返却 | E-02 L12-25 | ○ |
| C-03 | hasImport: ImportDeclarationなし時false | E-02 L14-15 | ○ |
| C-04 | hasImport: 異なるモジュール名でfalse | E-02 L16 | ○ |
| C-05 | getImportFix: 既存importへ追加 | E-02 L59-62 | ○ |
| C-06 | getImportFix: 新規import追加 | E-02 L63-77 | ○ |
| C-07 | getImportFix: 既存import時null | E-02 L44-51 | ○ |
| C-08 | getImportFix: 空specifiers処理 | E-02 L53-57 | ○ |
| C-09 | ensureImport: importなし時fixes追加 | E-02 L88-93 | ○ |
| C-10 | ensureImport: import存在時追加なし | E-02 L89 | ○ |

### no-untranslated-strings（E-03）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-11 | isProbablyEnglish: 英語パターン検出 | E-03 L40-48 | ○ |
| C-12 | isProbablyEnglish: ホワイトリスト除外 | E-03 L19-38, L42-44 | ○ |
| C-13 | isProbablyEnglish: 数字除外 | E-03 L28-37 | ○ |
| C-14 | isProbablyEnglish: 小文字始まり除外 | E-03 L47 | ○ |
| C-15 | isInsideTrans: Trans内検出 | E-03 L50-68 | ○ |
| C-16 | isInsideTrans: t()内検出 | E-03 L69-80 | ○ |
| C-17 | isInsideTrans: 翻訳外検出 | E-03 L50-84 | ○ |
| C-18 | isProgrammaticString: BinaryExpression除外 | E-03 L86-109 | ○ |
| C-19 | isProgrammaticString: SwitchCase除外 | E-03 L90-93 | ○ |
| C-20 | isUserFacingJSXAttribute: aria-label検出 | E-03 L111-139 | ○ |
| C-21 | isUserFacingJSXAttribute: title検出 | E-03 L118 | ○ |
| C-22 | isUserFacingJSXAttribute: data-属性除外 | E-03 L112-128 | ○ |
| C-23 | isInJSXContext: JSXElement検出 | E-03 L141-183 | ○ |
| C-24 | isInJSXContext: JSXExpressionContainer検出 | E-03 L154-158 | ○ |
| C-25 | isInJSXContext: 関数宣言除外 | E-03 L162-179 | ○ |
| C-26 | isInJSXAttribute: 属性内検出 | E-03 L185-194 | ○ |
| C-27 | getFix: JSXText Transラップ | E-03 L196-218 | ○ |
| C-28 | getFix: 属性内t()ラップ | E-03 L210-211 | ○ |
| C-29 | JSXText visitor: 未翻訳検出 | E-03 L222-230 | ○ |
| C-30 | Literal visitor: 未翻訳検出 | E-03 L231-245 | ○ |
| C-31 | TemplateLiteral visitor: 未翻訳検出 | E-03 L246-261 | ○ |

### no-react-default-import（E-04）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-32 | isReactDefaultImport: MemberExpression検出 | E-04 L31-38 | ○ |
| C-33 | isReactDefaultImport: TSQualifiedName検出 | E-04 L39-42 | ○ |
| C-34 | isReactDefaultImport: 非React除外 | E-04 L35-36, L41 | ○ |
| C-35 | MemberExpression visitor: React.xxx検出 | E-04 L53-60 | ○ |
| C-36 | JSXMemberExpression visitor: JSX検出 | E-04 L63-73 | ○ |
| C-37 | TSQualifiedName visitor: TypeScript検出 | E-04 L76-83 | ○ |

### object-shorthand-properties（E-05）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | canUseShorthand: key: keyパターン検出 | E-05 L34-59 | ○ |
| C-39 | canUseShorthand: メソッド除外 | E-05 L36-38 | ○ |
| C-40 | canUseShorthand: computed除外 | E-05 L41-43 | ○ |
| C-41 | canUseShorthand: key/value不一致除外 | E-05 L46-51 | ○ |
| C-42 | canUseShorthand: 既shorthand除外 | E-05 L54-56 | ○ |
| C-43 | makeFixer: shorthand変換 | E-05 L66-71 | ○ |
| C-44 | Property visitor: 検出・報告 | E-05 L78-89 | ○ |

### typography（E-06）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | check: curly quote検出 | E-06 L27-98 | ○ |
| C-46 | check: 正常文字列通過 | E-06 L28-35 | ○ |
| C-47 | check: single quote修正 | E-06 L64-66 | ○ |
| C-48 | check: double quote修正 | E-06 L67-69 | ○ |
| C-49 | isMemberCall: メンバー呼び出し検出 | E-06 L100-111 | ○ |
| C-50 | isIdentifierCall: 関数呼び出し検出 | E-06 L113-119 | ○ |
| C-51 | isNewRegExp: RegExp検出 | E-06 L121-127 | ○ |
| C-52 | isIgnored: SQL除外 | E-06 L150-156 | ○ |
| C-53 | isIgnored: querySelector除外 | E-06 L157 | ○ |
| C-54 | Literal visitor: 検出・報告 | E-06 L170-176 | ○ |
| C-55 | JSXText visitor: 検出・報告 | E-06 L177-179 | ○ |
| C-56 | TemplateElement visitor: 検出・報告 | E-06 L180-184 | ○ |

### prefer-trans-over-t（E-07）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-57 | isSimpleText: 単純テキスト検出 | E-07 L20-29 | ○ |
| C-58 | isSimpleText: 空文字列除外 | E-07 L22 | ○ |
| C-59 | isSimpleText: interpolation除外 | E-07 L25 | ○ |
| C-60 | isSimpleText: バッククォート除外 | E-07 L26 | ○ |
| C-61 | isJSXContent: JSXコンテンツ検出 | E-07 L31-108 | ○ |
| C-62 | isJSXContent: 属性内除外 | E-07 L39, L74-79 | ○ |
| C-63 | isJSXContent: 変数代入除外 | E-07 L37 | ○ |
| C-64 | isJSXContent: 条件式除外 | E-07 L40 | ○ |
| C-65 | CallExpression visitor: t()検出 | E-07 L111-139 | ○ |
| C-66 | CallExpression visitor: Trans変換fix | E-07 L127-135 | ○ |

### prefer-logger-over-console（E-08）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | getLoggerImportPath: 相対パス計算 | E-08 L47-52 | ○ |
| C-68 | getLoggerImportInfo: 既存import検出 | E-08 L54-74 | ○ |
| C-69 | getLoggerImportInfo: import不在検出 | E-08 L73 | ○ |
| C-70 | create: loot-core外除外 | E-08 L28-35 | ○ |
| C-71 | create: log/index.ts除外 | E-08 L30-33 | ○ |
| C-72 | CallExpression visitor: console.log検出 | E-08 L77-110 | ○ |
| C-73 | CallExpression visitor: console.warn検出 | E-08 L37-45 | ○ |
| C-74 | CallExpression visitor: console.error検出 | E-08 L37-45 | ○ |
| C-75 | fix: logger変換 | E-08 L91-105 | ○ |

### no-anchor-tag（E-09）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76 | isLinkComponentFile: Link除外 | E-09 L28-34 | ○ |
| C-77 | isLinkComponentFile: 通常ファイル | E-09 L31-33 | ○ |
| C-78 | JSXOpeningElement visitor: a検出 | E-09 L41-54 | ○ |
| C-79 | JSXOpeningElement visitor: Link内除外 | E-09 L43-45 | ○ |

### prefer-if-statement（E-10）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-80 | makeFixer: foo && foo() 変換 | E-10 L36-49 | ○ |
| C-81 | makeFixer: foo.bar && foo.bar.baz() 変換 | E-10 L52-62 | ○ |
| C-82 | makeFixer: ||演算子除外 | E-10 L37 | ○ |
| C-83 | makeFixer: 非CallExpression除外 | E-10 L38 | ○ |
| C-84 | ExpressionStatement visitor: LogicalExpression検出 | E-10 L72-79 | ○ |
| C-85 | ExpressionStatement visitor: ternary検出 | E-10 L80-82 | ○ |

### prefer-const（E-11）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 | getScope: スコープ取得 | E-11 L35-41 | ○ |
| C-87 | getScope: エラーハンドリング | E-11 L38-39 | ○ |
| C-88 | getVariableName: 変数名取得 | E-11 L48-53 | ○ |
| C-89 | getVariableName: 非Identifier処理 | E-11 L51-52 | ○ |
| C-90 | markAsReassigned: 再代入マーキング | E-11 L60-110 | ○ |
| C-91 | isReassignedInScope: 再代入確認 | E-11 L118-121 | ○ |
| C-92 | isReassignedInScope: 非再代入確認 | E-11 L120 | ○ |
| C-93 | extractVariableNames: Identifier抽出 | E-11 L128-131 | ○ |
| C-94 | extractVariableNames: ObjectPattern抽出 | E-11 L132-146 | ○ |
| C-95 | extractVariableNames: ArrayPattern抽出 | E-11 L147-161 | ○ |
| C-96 | extractVariableNames: ネスト抽出 | E-11 L138-142 | ○ |
| C-97 | extractVariableNames: RestElement抽出 | E-11 L143-145, L162-164 | ○ |
| C-98 | makeFixer: const変換 | E-11 L173-183 | ○ |
| C-99 | AssignmentExpression visitor: 代入追跡 | E-11 L191-203 | ○ |
| C-100 | UpdateExpression visitor: 更新追跡 | E-11 L206-211 | ○ |
| C-101 | ForStatement:exit visitor: forループ処理 | E-11 L214-229 | ○ |
| C-102 | ForInStatement:exit visitor: for-in処理 | E-11 L231-240 | ○ |
| C-103 | ForOfStatement:exit visitor: for-of処理 | E-11 L242-251 | ○ |
| C-104 | VariableDeclaration visitor: let収集 | E-11 L254-258 | ○ |
| C-105 | Program:exit visitor: const推奨検出 | E-11 L261-365 | ○ |
| C-106 | Program:exit visitor: 再代入除外 | E-11 L312-314 | ○ |
| C-107 | Program:exit visitor: 一括fix条件 | E-11 L298-300, L360 | ○ |
| C-108 | Program:exit visitor: 部分fix除外 | E-11 L360 | ○ |

### index（E-01）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-109 | module.exports: 全ルールエクスポート | E-01 L5-15 | ○ |
| C-110 | meta.name: プラグイン名設定 | E-01 L3-4 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし
  - 全てのテストケースは対応するソースコードから直接抽出

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースにソースコード根拠あり
- ESLintルール実装は明確なロジックを持ち、テスト対象が特定しやすい
- 既存テストファイル（`__tests__`配下）との整合性確認を推奨

## 6) レビュアーチェックリスト（最小）
- [ ] 各ESLintルールのメタ情報（type, docs, fixable, schema, messages）が正しくテストされているか
- [ ] fix機能を持つルール（no-untranslated-strings, object-shorthand-properties, typography, prefer-trans-over-t, prefer-logger-over-console, prefer-if-statement, prefer-const）のfix動作テストが網羅されているか
- [ ] ホワイトリスト/除外パターンが適切にテストされているか
- [ ] 境界値テスト（空文字列、null、undefined等）が適切に含まれているか
- [ ] 既存の`__tests__`ディレクトリ内テストとの重複・整合性確認
