# Understanding Document Template

调试理解演变文档的标准模板。

## Template Structure

```markdown
# Understanding Document

**Session ID**: {{session_id}}
**Bug Description**: {{bug_description}}
**Started**: {{started_at}}

---

## Exploration Timeline

{{#each iterations}}
### Iteration {{number}} - {{title}} ({{timestamp}})

{{#if is_exploration}}
#### Current Understanding

Based on bug description and initial code search:

- Error pattern: {{error_pattern}}
- Affected areas: {{affected_areas}}
- Initial hypothesis: {{initial_thoughts}}

#### Evidence from Code Search

{{#each search_results}}
**Keyword: "{{keyword}}"**
- Found in: {{files}}
- Key findings: {{insights}}
{{/each}}
{{/if}}

{{#if has_hypotheses}}
#### Hypotheses Generated (Gemini-Assisted)

{{#each hypotheses}}
**{{id}}** (Likelihood: {{likelihood}}): {{description}}
- Logging at: {{logging_point}}
- Testing: {{testable_condition}}
- Evidence to confirm: {{confirm_criteria}}
- Evidence to reject: {{reject_criteria}}
{{/each}}

**Gemini Insights**: {{gemini_insights}}
{{/if}}

{{#if is_analysis}}
#### Log Analysis Results

{{#each results}}
**{{id}}**: {{verdict}}
- Evidence: {{evidence}}
- Reasoning: {{reason}}
{{/each}}

#### Corrected Understanding

Previous misunderstandings identified and corrected:

{{#each corrections}}
- ~~{{wrong}}~~ → {{corrected}}
  - Why wrong: {{reason}}
  - Evidence: {{evidence}}
{{/each}}

#### New Insights

{{#each insights}}
- {{this}}
{{/each}}

#### Gemini Analysis

{{gemini_analysis}}
{{/if}}

{{#if root_cause_found}}
#### Root Cause Identified

**{{hypothesis_id}}**: {{description}}

Evidence supporting this conclusion:
{{supporting_evidence}}
{{else}}
#### Next Steps

{{next_steps}}
{{/if}}

---
{{/each}}

## Current Consolidated Understanding

### What We Know

{{#each valid_understandings}}
- {{this}}
{{/each}}

### What Was Disproven

{{#each disproven}}
- ~~{{assumption}}~~ (Evidence: {{evidence}})
{{/each}}

### Current Investigation Focus

{{current_focus}}

### Remaining Questions

{{#each questions}}
- {{this}}
{{/each}}
```

## Template Variables

| Variable | Type | Source | Description |
|----------|------|--------|-------------|
| `session_id` | string | state.session_id | 会话 ID |
| `bug_description` | string | state.debug.current_bug | Bug 描述 |
| `iterations` | array | 从文件解析 | 迭代历史 |
| `hypotheses` | array | state.debug.hypotheses | 假设列表 |
| `valid_understandings` | array | 从 Gemini 分析 | 有效理解 |
| `disproven` | array | 从假设状态 | 被否定的假设 |

## Section Templates

### Exploration Section

```markdown
### Iteration {{N}} - Initial Exploration ({{timestamp}})

#### Current Understanding

Based on bug description and initial code search:

- Error pattern: {{pattern}}
- Affected areas: {{areas}}
- Initial hypothesis: {{thoughts}}

#### Evidence from Code Search

{{#each search_results}}
**Keyword: "{{keyword}}"**
- Found in: {{files}}
- Key findings: {{insights}}
{{/each}}

#### Next Steps

- Generate testable hypotheses
- Add instrumentation
- Await reproduction
```

### Hypothesis Section

```markdown
#### Hypotheses Generated (Gemini-Assisted)

| ID | Description | Likelihood | Status |
|----|-------------|------------|--------|
{{#each hypotheses}}
| {{id}} | {{description}} | {{likelihood}} | {{status}} |
{{/each}}

**Details:**

{{#each hypotheses}}
**{{id}}**: {{description}}
- Logging at: `{{logging_point}}`
- Testing: {{testable_condition}}
- Confirm: {{evidence_criteria.confirm}}
- Reject: {{evidence_criteria.reject}}
{{/each}}
```

### Analysis Section

```markdown
### Iteration {{N}} - Evidence Analysis ({{timestamp}})

#### Log Analysis Results

{{#each results}}
**{{id}}**: **{{verdict}}**
- Evidence: \`{{evidence}}\`
- Reasoning: {{reason}}
{{/each}}

#### Corrected Understanding

| Previous Assumption | Corrected To | Reason |
|---------------------|--------------|--------|
{{#each corrections}}
| ~~{{wrong}}~~ | {{corrected}} | {{reason}} |
{{/each}}

#### Gemini Analysis

{{gemini_analysis}}
```

### Consolidated Understanding Section

```markdown
## Current Consolidated Understanding

### What We Know

{{#each valid}}
- {{this}}
{{/each}}

### What Was Disproven

{{#each disproven}}
- ~~{{this.assumption}}~~ (Evidence: {{this.evidence}})
{{/each}}

### Current Investigation Focus

{{focus}}

### Remaining Questions

{{#each questions}}
- {{this}}
{{/each}}
```

### Resolution Section

```markdown
### Resolution ({{timestamp}})

#### Fix Applied

- Modified files: {{files}}
- Fix description: {{description}}
- Root cause addressed: {{root_cause}}

#### Verification Results

{{verification}}

#### Lessons Learned

{{#each lessons}}
{{@index}}. {{this}}
{{/each}}

#### Key Insights for Future

{{#each insights}}
- {{this}}
{{/each}}
```

## Consolidation Rules

更新 "Current Consolidated Understanding" 时遵循以下规则:

1. **简化被否定项**: 移到 "What Was Disproven"，只保留单行摘要
2. **保留有效见解**: 将确认的发现提升到 "What We Know"
3. **避免重复**: 不在合并部分重复时间线细节
4. **关注当前状态**: 描述现在知道什么，而不是过程
5. **保留关键纠正**: 保留重要的 wrong→right 转换供学习

## Anti-Patterns

**错误示例 (冗余)**:
```markdown
## Current Consolidated Understanding

In iteration 1 we thought X, but in iteration 2 we found Y, then in iteration 3...
Also we checked A and found B, and then we checked C...
```

**正确示例 (精简)**:
```markdown
## Current Consolidated Understanding

### What We Know
- Error occurs during runtime update, not initialization
- Config value is None (not missing key)

### What Was Disproven
- ~~Initialization error~~ (Timing evidence)
- ~~Missing key hypothesis~~ (Key exists)

### Current Investigation Focus
Why is config value None during update?
```
