---
generated_at: 2026-02-19 00:45:00
metrics:
  claims_total: 45
  claims_with_evidence: 42
  claims_without_evidence: 3
confidence_derived: 0.93
---

# 根拠レポート：コードリーディングガイドライン

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：42 / 45、根拠なし：3
- 優先レビュー（高）
  1. **C++関数のファイル位置特定**：一部の.Callで呼ばれる関数の正確なファイル位置の確認が必要
  2. **パフォーマンス関連の記述**：「高速化」に関する具体的なベンチマークデータなし
  3. **外部パッケージの詳細**：vctrs/rlangの内部動作に関する詳細な検証なし

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

- E-01: `R/mutate.R` - mutate関数の実装
- E-02: `R/filter.R` - filter関数の実装
- E-03: `R/select.R` - select関数の実装
- E-04: `R/arrange.R` - arrange関数の実装
- E-05: `R/summarise.R` - summarise関数の実装
- E-06: `R/group-by.R` - group_by関数の実装
- E-07: `R/grouped-df.R` - grouped_dfクラスの定義
- E-08: `R/data-mask.R` - DataMask R6クラスの実装
- E-09: `R/join.R` - join関数群の実装
- E-10: `R/across.R` - across関数の実装
- E-11: `DESCRIPTION` - パッケージメタデータ
- E-12: `NAMESPACE` - エクスポート/インポート定義
- E-13: `README.md` - プロジェクト概要
- E-14: `src/` - C++ソースコード（ディレクトリ全体）
- E-15: `tests/testthat/` - テストファイル（ディレクトリ全体）
- E-16: `vignettes/` - ビネット（ディレクトリ全体）
- E-17: `R/context.R` - コンテキスト関数
- E-18: `R/conditions.R` - エラーハンドリング

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | dplyrはS3ジェネリック関数を使用している | E-01:145-147, E-02:216-219 | ○ |
| C-02 | DataMaskはR6クラスとして実装されている | E-08:1-10 | ○ |
| C-03 | mutate.data.frame の引数として.by, .keep, .before, .afterがある | E-01:171-178 | ○ |
| C-04 | filter関数はfilter_implを呼び出す | E-02:231-239 | ○ |
| C-05 | select関数はtidyselectを使用している | E-03:65-69 | ○ |
| C-06 | arrange関数はvec_order_radixを使用している | E-04:181-186 | ○ |
| C-07 | summarise関数はgrouped_df用の特別なメソッドがある | E-05:140-175 | ○ |
| C-08 | group_by関数はcompute_groupsを呼び出す | E-06:142-155, E-07:34-99 | ○ |
| C-09 | grouped_dfは.rowsを含むgroups属性を持つ | E-07:139-157 | ○ |
| C-10 | DataMaskはprivate$chopsでlazy chopsを管理 | E-08:61-68 | ○ |
| C-11 | join関数群はinner/left/right/full_joinを含む | E-09:251-431 | ○ |
| C-12 | across関数は複数列への関数適用を行う | E-10:1-100 | ○ |
| C-13 | パッケージはrlang, vctrs, tibbleに依存 | E-11:25-37 | ○ |
| C-14 | NAMESPACEでrlang, vctrsをimportしている | E-12:440-478 | ○ |
| C-15 | dplyrは「データ操作の文法」を提供 | E-13:17-18 | ○ |
| C-16 | C++コードはsrc/ディレクトリに存在 | E-14 | ○ |
| C-17 | テストはtestthat形式で記述 | E-15 | ○ |
| C-18 | ビネットはRmarkdown形式 | E-16 | ○ |
| C-19 | withCallingHandlersでエラー処理を行う | E-01:270-289 | ○ |
| C-20 | .Callでネイティブコードを呼び出す | E-08:61-68, E-08:104 | ○ |
| C-21 | enquos()で遅延評価式をキャプチャ | E-06:222 | ○ |
| C-22 | check_関数は検証用関数 | E-02:313-332 | ○ |
| C-23 | compute_関数は計算用関数 | E-06:254-283, E-07:34-99 | ○ |
| C-24 | _impl関数は実装詳細を含む | E-02:252-283 | ○ |
| C-25 | _cols関数は列操作のヘルパー | E-01:253-301, E-05:209-343 | ○ |
| C-26 | _rows関数は行操作のヘルパー | E-02:285-311, E-09 | ○ |
| C-27 | R/ディレクトリに約100ファイル存在 | ディレクトリリスト | ○ |
| C-28 | src/ディレクトリにC++ファイルが存在 | E-14 | ○ |
| C-29 | man/ディレクトリにRdファイルが存在 | ディレクトリリスト | ○ |
| C-30 | dplyr_col_modifyで列の追加・変更 | E-01:186 | ○ |
| C-31 | dplyr_row_sliceで行のスライス | E-02:282, E-04:96 | ○ |
| C-32 | dplyr_reconstructでデータフレーム属性復元 | E-09:801 | ○ |
| C-33 | group_data()でグループデータ取得 | E-07:289-296 | ○ |
| C-34 | group_keys()でグループキー取得 | NAMESPACE:275 | ○ |
| C-35 | group_rows()で行インデックス取得 | NAMESPACE:279 | ○ |
| C-36 | group_vars()でグループ変数名取得 | NAMESPACE:283 | ○ |
| C-37 | verb処理はDataMaskを経由して式評価 | E-01:259, E-02:295, E-05:212 | ○ |
| C-38 | error_callでエラーコールスタックを管理 | E-01:257-258 | ○ |
| C-39 | warning_handlerで警告を処理 | E-01:284-288 | ○ |
| C-40 | filter_expandで式を展開 | E-02:334-354 | ○ |
| C-41 | summarise_buildで結果を構築 | E-05:378-385 | ○ |
| C-42 | join_mutateで結合処理を実行 | E-09:687-802 | ○ |
| C-43 | .Callで呼ばれる関数名とファイル位置の対応 | **根拠不足** | △ |
| C-44 | 高速化に関する具体的効果 | **根拠不足** | △ |
| C-45 | vctrs/rlangの内部動作詳細 | **根拠不足** | △ |

## 4) 不足情報（Unknown / Missing）
- C-43: C++関数の正確なファイル位置は、src/init.cppの登録テーブルを詳細に解析する必要がある
  - 候補：`src/init.cpp` / `src/mask.cpp` / `src/mutate.cpp`
- C-44: パフォーマンス改善の具体的数値はベンチマークテストが必要
  - 候補：ベンチマークスクリプト / パフォーマンステスト / NEWS.md
- C-45: 外部パッケージの内部動作はそれぞれのパッケージドキュメントを参照
  - 候補：rlangドキュメント / vctrsドキュメント / tibbleドキュメント

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - S3ジェネリック関数とメソッドの対応関係（コードから直接確認可能）
- 0: 低リスク - ファイル命名規則（ディレクトリ構造から確認可能）
- 0: 低リスク - DataMaskクラスの構造（R/data-mask.Rから直接確認可能）
- 1: 中リスク - C++関数とRコードの連携（複数ファイルにまたがる）
- 1: 中リスク - エラーハンドリングの全体像（複数のハンドラが連携）
- 0: 低リスク - アーキテクチャ図（コード構造から導出）

## 6) レビュアーチェックリスト（最小）
- [ ] S3ジェネリック関数のUseMethod()呼び出しが正しくファイル/行番号と対応しているか
- [ ] DataMaskクラスのpublic/privateメソッド一覧が網羅的か
- [ ] 命名規則の表が実際のファイル名パターンと一致しているか
- [ ] アーキテクチャ図のレイヤー構成がコード構造を正確に反映しているか
- [ ] 業務フロー追跡の例がステップバイステップで追跡可能か
- [ ] 用語集の定義が正確で、dplyr公式ドキュメントと整合しているか
- [ ] C++関連の記述（.Call呼び出し）について、必要に応じてsrc/ディレクトリを確認
