---
generated_at: 2026-01-30 12:40:00
metrics:
  claims_total: 22
  claims_with_evidence: 21
  claims_without_evidence: 1
confidence_derived: 0.95
---

# 根拠レポート：3-Spending（月間支出）レポート

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：21 / 22、根拠なし：1
- 優先レビュー（高）
  1. **目標出力時間**：パフォーマンス要件の具体値の根拠不足
  2. **-**
  3. **-**

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

- E-01: `packages/desktop-client/src/components/reports/reports/Spending.tsx` - メインコンポーネント（行1-660）
- E-02: `packages/desktop-client/src/components/reports/spreadsheets/spending-spreadsheet.ts` - スプレッドシートロジック
- E-03: `loot-core/types/models` - 型定義（SpendingWidget, RuleConditionEntity）
- E-04: `docs/code-to-docs/帳票一覧/帳票一覧.csv` - 帳票一覧

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 月間支出を分析するレポート | E-01(行3), E-04 | ○ |
| C-02 | 特定月の支出を過去の月と比較可能 | E-01(行281-289, 293-311) compare/compareTo | ○ |
| C-03 | 予算との比較が可能 | E-01(行337-345) reportMode='budget' | ○ |
| C-04 | 過去3ヶ月の平均との比較が可能 | E-01(行347-357, 186-190) showAverage | ○ |
| C-05 | 日ごとの累積支出をグラフ化 | E-01(行627-634) SpendingGraph | ○ |
| C-06 | URLルーティングは/reports/spending | E-04 | ○ |
| C-07 | ウィジェットとして保存可能 | E-01(行155-179) onSaveWidget | ○ |
| C-08 | フィルター条件の設定が可能（日付除外） | E-01(行377-382) exclude: ['date'] | ○ |
| C-09 | Live/Staticモードの切替 | E-01(行97, 260-265) isLive | ○ |
| C-10 | 3つのレポートモード対応 | E-01(行99, 324-357) single-month/budget/average | ○ |
| C-11 | intervalDataで28日分のデータ | E-01(行186-190) intervalData[27] | ○ |
| C-12 | todayDayの計算（当月と過去月で分岐） | E-01(行192-197) | ○ |
| C-13 | showAverageの条件判定 | E-01(行186-190) | ○ |
| C-14 | showCompareToの条件判定 | E-01(行199-201) | ○ |
| C-15 | showCompareの条件判定 | E-01(行203-204) | ○ |
| C-16 | LegendItemで凡例表示 | E-01(行37, 471-486) | ○ |
| C-17 | ModeButtonでモード切替 | E-01(行39, 325-357) | ○ |
| C-18 | プライバシーフィルター機能あり | E-01(行521-526等) PrivacyFilter | ○ |
| C-19 | useReportフックでデータ取得 | E-01(行151) | ○ |
| C-20 | calculateSpendingReportTimeRange使用 | E-01(行40, 92-94) | ○ |
| C-21 | createSpendingSpreadsheet使用 | E-01(行41, 140-149) | ○ |
| C-22 | 目標出力時間2秒以内 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- パフォーマンス要件の具体的数値（目標出力時間）の根拠がコード内に明示されていない
  - 候補：ベンチマークテスト / パフォーマンステスト / ドキュメント
- spending-spreadsheet.tsの詳細実装の確認が必要

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 主要機能の記述はすべてソースコードで確認済み
- 0: 低リスク - 3つの比較モードの存在が明確に確認可能

## 6) レビュアーチェックリスト（最小）
- [ ] spending-spreadsheet.tsの累積計算ロジックを確認
- [ ] SpendingGraphコンポーネントの実装詳細を確認
- [ ] パフォーマンス要件の実測値を確認
- [ ] 28日制限の境界条件を確認
