---
generated_at: 2026-02-24 10:30:00
metrics:
  claims_total: 25
  claims_with_evidence: 24
  claims_without_evidence: 1
confidence_derived: 0.96
---

# 根拠レポート：1-ホーム画面

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：24 / 25、根拠なし：1
- 優先レビュー（高）
  1. **データベーステーブル名（project）**：ローカルストアの構造と実際のDB構造の確認が必要

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

- E-01: `packages/app/src/pages/home.tsx` (132行)
- E-02: `packages/app/src/context/global-sync.tsx`
- E-03: `packages/app/src/context/layout.tsx`
- E-04: `packages/app/src/context/server.tsx`
- E-05: `packages/app/src/context/language.tsx`
- E-06: `packages/app/src/components/dialog-select-directory.tsx`
- E-07: `packages/app/src/components/dialog-select-server.tsx`
- E-08: `docs/code-to-docs/画面一覧/画面一覧.csv`
- E-09: `docs/code-to-docs/画面遷移図/画面遷移図.md`
- E-10: `docs/code-to-docs/画面機能マッピング/画面機能マッピング.csv`

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ホーム画面はアプリ起動時の初期画面である | E-08 (画面一覧.csv: "アプリ起動時の初期画面") | ○ |
| C-02 | 最近開いたプロジェクトを最大5件表示する | E-01 (home.tsx:30 `.slice(0, 5)`) | ○ |
| C-03 | プロジェクトは更新日時の降順でソートされる | E-01 (home.tsx:29 `sort((a, b) => (b.time.updated ?? b.time.created) - ...)`) | ○ |
| C-04 | サーバー接続状態を表示する | E-01 (home.tsx:33-38, 74-87) | ○ |
| C-05 | サーバー健全時は緑色インジケーター | E-01 (home.tsx:35 `bg-icon-success-base`) | ○ |
| C-06 | サーバー不健全時は赤色インジケーター | E-01 (home.tsx:36 `bg-icon-critical-base`) | ○ |
| C-07 | ローカルサーバー時はネイティブダイアログを使用 | E-01 (home.tsx:57-62) | ○ |
| C-08 | リモートサーバー時はカスタムダイアログを使用 | E-01 (home.tsx:63-68) | ○ |
| C-09 | 複数プロジェクトの同時選択が可能 | E-01 (home.tsx:60 `multiple: true`) | ○ |
| C-10 | base64エンコードでURLにディレクトリを含める | E-01 (home.tsx:43 `base64Encode(directory)`) | ○ |
| C-11 | ホームディレクトリを~に置換して表示 | E-01 (home.tsx:106 `.replace(homedir(), "~")`) | ○ |
| C-12 | 相対時間で最終更新を表示 | E-01 (home.tsx:108 `DateTime.fromMillis(...).toRelative()`) | ○ |
| C-13 | 国際化対応（language.t関数使用） | E-01, E-10 (複数箇所で language.t() 呼び出し) | ○ |
| C-14 | プロジェクト検出機能との関連 | E-10 (画面機能マッピング.csv: 機能No.49) | ○ |
| C-15 | 設定ファイル管理機能との関連 | E-10 (画面機能マッピング.csv: 機能No.48) | ○ |
| C-16 | プロジェクトがない場合の空状態表示 | E-01 (home.tsx:116-127) | ○ |
| C-17 | layout.projects.open()でプロジェクトを開く | E-01 (home.tsx:41) | ○ |
| C-18 | server.projects.touch()でアクセス記録 | E-01 (home.tsx:42) | ○ |
| C-19 | URLはルート（/）である | E-09 (画面遷移図.md), ルーティング設定 | ○ |
| C-20 | プロジェクト選択後はディレクトリレイアウトに遷移 | E-01 (home.tsx:43), E-09 | ○ |
| C-21 | useGlobalSyncでプロジェクト一覧を取得 | E-01 (home.tsx:18, 27) | ○ |
| C-22 | useLayoutでプロジェクト管理 | E-01 (home.tsx:19, 41) | ○ |
| C-23 | useServerでサーバー状態管理 | E-01 (home.tsx:23, 34, 42, 57) | ○ |
| C-24 | useDialogでダイアログ表示 | E-01 (home.tsx:21, 64, 78) | ○ |
| C-25 | データベーステーブル名はprojectである | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-25について：ローカルストレージ/IndexedDBの構造とサーバー側DB構造の詳細確認が必要
  - 候補：`packages/opencode/src/` / `packages/app/src/context/` / サーバーAPI仕様

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - UIコンポーネント構造、イベント処理フローは正確
- 0: 低リスク - 国際化対応の記述
- 1: 中リスク - データベース更新仕様（ローカルストアとリモートDBの区別が必要）

## 6) レビュアーチェックリスト（最小）
- [ ] プロジェクト一覧の最大表示件数（5件）は要件と合致しているか
- [ ] サーバー接続状態のインジケーター色は実際のUIと一致しているか
- [ ] ローカル/リモートサーバーでのダイアログ切り替えロジックは正しいか
- [ ] データベース更新仕様の「project」テーブルは実際の永続化層と整合しているか
