---
name: cross-source-fact-verification
description: "Use when fact-checking drafts containing dates, quantities, or causal claims against multiple independent sources."
license: MIT
metadata:
  author: shimo4228
  version: "1.0"
  extracted: "2026-02-14"
---
# Cross-Source Fact Verification

**Extracted:** 2026-02-14
**Context:** 記事執筆前のドラフトに含まれる事実主張を、複数の独立ソースで検証するパターン

## Problem

ドラフトやコンテキストファイルには、記憶ベースの不正確な記述が混入しやすい。
- 日付の誤り（1月31日を2月8日と記憶違い）
- 回数の欠落（棚卸し3回を1回と記述）
- 数値の不正確さ（スキル数の過不足）

単一ソースの確認では検出できない誤りが、複数ソースのクロスリファレンスで発覚する。

## Method

### Step 1: 検証対象の特定

ドラフトから検証可能な事実主張を抽出する：
- **日付**: 「X月Y日に〜した」
- **数量**: 「Nスキルを〜」「N回実施」
- **順序**: 「Aの後にBを行った」
- **因果**: 「Aが原因でBが起きた」

### Step 2: エビデンスソースのマッピング

各主張に対して、検証に使える独立ソースを特定する：

| ソース種別 | 所在 | 得意な検証 |
|-----------|------|-----------|
| デバッグログ | `~/.claude/projects/*/` | 正確な日時、ツール呼び出し、エラー |
| MEMORY.md | `~/.claude/projects/*/memory/` | 棚卸し結果、意思決定、数値 |
| git履歴 | `git log --oneline` | コミット日時、変更内容 |
| ファイルタイムスタンプ | `ls -la`, `stat` | 作成・更新日時 |
| 既存記事 | `articles/*.md` | 過去に公開した記述との整合性 |
| リサーチドラフト | `drafts/*.md` | 調査時点の生データ |
| スキルファイル | `~/.claude/skills/learned/` | Extracted日付、内容 |

### Step 3: 並列探索

独立したソースは**並列サブエージェントで同時探索**する：

```
並列で起動:
  Agent 1: デバッグログから日付・操作を抽出
  Agent 2: MEMORY.md（全プロジェクト）から記録を収集
  Agent 3: git履歴とファイルタイムスタンプを調査
  Agent 4: 既存記事・ドラフトとの整合性確認
```

### Step 4: クロスリファレンス

複数ソースの結果を突き合わせる：

- **一致** → 事実として採用
- **矛盾** → より信頼性の高いソースを優先（デバッグログ > 記憶ベースのMEMORY > ドラフト）
- **片方のみ** → 裏付けを追加調査、なければ注記付きで採用

信頼性の優先順位:
1. デバッグログ・git履歴（機械記録、改竄困難）
2. ファイルタイムスタンプ（OSレベルの記録）
3. MEMORY.md（セッション終了時の記録、記憶バイアスあり）
4. 既存記事（公開済みだが執筆時のバイアスあり）
5. ドラフト・口述（最も記憶バイアスが大きい）

### Step 5: 検証済みタイムラインの構築

確認された事実のみでタイムラインを再構成し、
元のドラフトとの差分を明示する。

## When to Use

- 記事執筆前のコンテキストファイルにファクトチェックが必要な時
- 「いつ・何回・いくつ」という数値的主張がドラフトに含まれる時
- 複数プロジェクトにまたがる出来事を時系列で整理する時
- ユーザーの記憶と実際の記録に食い違いがある可能性がある時

## Anti-Patterns

- **単一ソース依存**: MEMORY.mdだけで事実確認を済ませる
- **記憶の鵜呑み**: ユーザーの口述をそのまま採用する
- **逐次探索**: 独立ソースを1つずつ順番に調べる（並列化すべき）
- **矛盾の無視**: ソース間の不一致を解消せず放置する
