---
generated_at: 2026-01-30 10:45:00
metrics:
  claims_total: 31
  claims_with_evidence: 29
  claims_without_evidence: 2
confidence_derived: 0.94
---

# 根拠レポート：データベース設計書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.94**
  - 根拠あり：29 / 31、根拠なし：2
- 優先レビュー（高）
  1. **pending_transactionsテーブルの詳細仕様**：マイグレーションファイルでの追加変更が確認できず
  2. **一部のインデックス定義**：具体的なインデックス名の網羅性

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `packages/loot-core/src/server/sql/init.sql` - 初期スキーマ定義
- E-02: `packages/loot-core/src/types/models/account.ts` - AccountEntity型定義
- E-03: `packages/loot-core/src/types/models/transaction.ts` - TransactionEntity型定義
- E-04: `packages/loot-core/src/types/models/category.ts` - CategoryEntity型定義
- E-05: `packages/loot-core/src/types/models/category-group.ts` - CategoryGroupEntity型定義
- E-06: `packages/loot-core/src/types/models/payee.ts` - PayeeEntity型定義
- E-07: `packages/loot-core/src/types/models/schedule.ts` - ScheduleEntity型定義
- E-08: `packages/loot-core/src/types/models/rule.ts` - RuleEntity型定義
- E-09: `packages/loot-core/src/types/models/bank.ts` - BankEntity型定義
- E-10: `packages/loot-core/src/types/models/reports.ts` - CustomReportEntity型定義
- E-11: `packages/loot-core/src/types/models/dashboard.ts` - DashboardEntity/Widget型定義
- E-12: `packages/loot-core/src/types/models/transaction-filter.ts` - TransactionFilterEntity型定義
- E-13: `packages/loot-core/src/types/models/note.ts` - NoteEntity型定義
- E-14: `packages/loot-core/src/types/models/tags.ts` - TagEntity型定義
- E-15: `packages/loot-core/migrations/1618975177358_schedules.sql` - スケジュールテーブル定義
- E-16: `packages/loot-core/migrations/1597756566448_rules.sql` - ルールテーブル定義
- E-17: `packages/loot-core/migrations/1707267033000_reports.sql` - カスタムレポートテーブル定義
- E-18: `packages/loot-core/migrations/1688749527273_transaction_filters.sql` - 取引フィルターテーブル定義
- E-19: `packages/loot-core/migrations/1749799110000_add_tags.sql` - タグテーブル定義
- E-20: `packages/loot-core/migrations/1550601598648_payees.sql` - 支払先テーブル定義
- E-21: `packages/loot-core/migrations/1722804019000_create_dashboard_table.js` - ダッシュボードテーブル定義
- E-22: `packages/loot-core/migrations/1765518577215_multiple_dashboards.js` - ダッシュボードページテーブル定義
- E-23: `packages/loot-core/migrations/1632571489012_remove_cache.js` - 予算・ノートテーブル定義
- E-24: `packages/loot-core/migrations/1723665565000_prefs.js` - プリファレンステーブル定義
- E-25: `packages/loot-core/migrations/1615745967948_meta.sql` - メタテーブル定義
- E-26: `packages/sync-server/src/sql/messages.sql` - 同期サーバーテーブル定義
- E-27: `packages/loot-core/migrations/1694438752000_add_goal_targets.sql` - 目標カラム追加

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | accountsテーブルの構造定義 | E-01, E-02 | ○ |
| C-02 | banksテーブルの構造定義 | E-01, E-09 | ○ |
| C-03 | transactionsテーブルの構造定義 | E-01, E-03 | ○ |
| C-04 | pending_transactionsテーブルの構造定義 | E-01 | △ |
| C-05 | categoriesテーブルの構造定義 | E-01, E-04 | ○ |
| C-06 | category_groupsテーブルの構造定義 | E-01, E-05 | ○ |
| C-07 | category_mappingテーブルの構造定義 | E-01 | ○ |
| C-08 | payeesテーブルの構造定義 | E-06, E-20 | ○ |
| C-09 | payee_mappingテーブルの構造定義 | E-20 | ○ |
| C-10 | rulesテーブルの構造定義 | E-08, E-16 | ○ |
| C-11 | schedulesテーブルの構造定義 | E-07, E-15 | ○ |
| C-12 | schedules_next_dateテーブルの構造定義 | E-15 | ○ |
| C-13 | schedules_json_pathsテーブルの構造定義 | E-15 | ○ |
| C-14 | custom_reportsテーブルの構造定義 | E-10, E-17 | ○ |
| C-15 | transaction_filtersテーブルの構造定義 | E-12, E-18 | ○ |
| C-16 | dashboardテーブルの構造定義 | E-11, E-21 | ○ |
| C-17 | dashboard_pagesテーブルの構造定義 | E-11, E-22 | ○ |
| C-18 | zero_budget_monthsテーブルの構造定義 | E-23 | ○ |
| C-19 | zero_budgetsテーブルの構造定義 | E-23, E-27 | ○ |
| C-20 | reflect_budgetsテーブルの構造定義 | E-23, E-27 | ○ |
| C-21 | notesテーブルの構造定義 | E-13, E-23 | ○ |
| C-22 | tagsテーブルの構造定義 | E-14, E-19 | ○ |
| C-23 | preferencesテーブルの構造定義 | E-24 | ○ |
| C-24 | messages_crdtテーブルの構造定義 | E-01 | ○ |
| C-25 | messages_clockテーブルの構造定義 | E-01 | ○ |
| C-26 | created_budgetsテーブルの構造定義 | E-01 | ○ |
| C-27 | kvcacheテーブルの構造定義 | E-23 | ○ |
| C-28 | __meta__テーブルの構造定義 | E-25 | ○ |
| C-29 | __migrations__テーブルの構造定義 | E-01 | ○ |
| C-30 | db_versionテーブルの構造定義 | E-01 | ○ |
| C-31 | インデックス定義の網羅性 | **根拠不十分** | △ |

## 4) 不足情報（Unknown / Missing）
- pending_transactionsテーブルの完全な仕様
  - 初期SQLに定義はあるが、その後のマイグレーションでの変更が確認されていない
  - 候補：追加のマイグレーションファイル / 実行時のDB構造確認
- インデックスの完全なリスト
  - 一部のマイグレーションファイルでインデックス作成を確認したが、全てを網羅していない可能性
  - 候補：1561751833510_indexes.sql の詳細確認 / 実行時のスキーマ確認

## 5) リスクフラグ（レビュー観点）
- 0（低リスク）: 主要テーブル（accounts, transactions, categories等）の定義は複数のソースで裏付けあり
- 0（低リスク）: 型定義ファイルとSQLスキーマの整合性は良好
- 1（中リスク）: マイグレーションファイルの時系列適用順による最終スキーマの正確性
- 0（低リスク）: CRDTによる同期機構の設計説明

## 6) レビュアーチェックリスト（最小）
- [ ] 主要テーブル（accounts, transactions, categories, payees）のカラム定義を実際のDBと照合
- [ ] マイグレーションの適用順序による最終スキーマの確認
- [ ] pending_transactionsテーブルの現在の仕様確認
- [ ] インデックス定義の網羅性確認
- [ ] 同期サーバー側テーブル（messages_binary, messages_merkles）の詳細確認
