# Verification Report & Testing Guide

**Date:** {{date}}
**Plan:** {{source_plan}}
**Verified by:** {{agent_name}}

## What Was Built

For each completed plan item, summarize:
- **Item ID:** what it implements
- **Key changes:** files modified, features added, behaviors changed
- **PR:** link to the individual PR

## Verification Results

### Build Status

| Project | Worktree Path | Build | Tests | Notes |
|---------|--------------|-------|-------|-------|
| name | path | PASS/FAIL | X pass, Y fail, Z skip | error details if any |

### Automated Test Results
- Total: X passed, Y failed, Z skipped
- Notable failures: (list any, with error messages)
- Test coverage notes: (are the new features covered by tests?)

### What Was Verified
For each plan item, state what you actually checked:
- Did the build pass with this change included?
- Did existing tests pass?
- Were there new tests for the new functionality?
- Any runtime errors observed?

### What Could NOT Be Verified Automatically
List anything that requires human judgment:
- UI/UX changes that need visual inspection
- Behaviors that depend on external services
- Performance characteristics
- Edge cases not covered by tests

## Manual Testing Guide

**How to run:** (server URL, emulator command, APK path, or N/A)
**Detached PID / Log:** (PID and durable log path, or N/A)
**Restart Command:** `cd <absolute-worktree-path> && <command>` (if applicable)
**Stop Command:** (exact command to stop a detached process, or N/A)

### <Feature Name> (Plan Item ID)
**What changed:** brief description
**How to test:**
1. Step-by-step instructions
2. With concrete actions (URLs, buttons, inputs)
3. And expected outcomes

**Acceptance criteria check:**
- [ ] (from plan item acceptance criteria)
- [ ] (from plan item acceptance criteria)

### <Next Feature> ...

## Integration Points

Cross-project or cross-feature interactions to verify:
- e.g., "Service A calls Service B — verify the API contract"

## Cross-PR Compatibility Audit

Per-pair verdicts (one line per pair, format: `PR-A vs PR-B: independent | A supersedes B | B supersedes A | conflict <description> | order: B before A`). Cite `path:line` for every conflict claim.

- PR-#### vs PR-####: <verdict>
- ...

## Semantic Regression Audit

Per-PR verdict for each engine-touching PR (anything under `engine/`, `engine.js`, `dashboard.js`, `bin/`, `dashboard/**`). Format: `PR-####: <safe | risk: <description with path:line citation> | needs human review: <question>>`. Cite call sites, not just the diff.

- PR-####: <verdict>
- ...

## Merge Decisions

Required. Read by a human deciding what to merge in what order.

### Recommended merge order
1. PR-#### — <reason or `independent`>
2. ...

### PRs to close as superseded
- PR-#### — superseded by PR-####; merging both would <regression description>
- (or: `none`)

### PRs requiring human decision
- PR-#### — blocked on <contradiction with PR-#### at file:line>, or <missing CI / other>
- (or: `none`)

If the audit found nothing to decide, replace the three subsections above with the single line:

```
Merge Decisions: clean — all <N> PRs are pairwise independent and may merge in any order
```

## Known Issues
- Build warnings, test failures, merge conflicts, unimplemented items

## Quick Smoke Test
A minimal 5-step checklist to verify the core functionality:
1. ...
2. ...
3. ...
4. ...
5. ...
