## Summary

<!-- What changed and why. One paragraph max. -->

## Governing Issue

<!-- REQUIRED. Every PR must reference at least one issue. Max 3 issues per PR. -->
<!-- Closes #ISSUENUM -->
<!-- Refs #ISSUENUM -->

## Acceptance Criteria

<!-- List the specific outcomes this PR delivers. Check each only when proven. -->
<!-- Copy these from the governing issue if it has them. -->

- [ ] Criterion 1
- [ ] Criterion 2

## Proof

<!-- No proof = no merge. See CONTRIBUTING.md for the full standard. -->

### Commands / logs / world-state proof

<!-- Paste the exact commands, output, log paths, or world-state artifacts that prove each acceptance criterion was met. -->

```
$ <command you ran>
<relevant output>
```

### Visual proof (if applicable)

<!-- For skin updates, UI changes, dashboard changes: attach screenshot to the PR discussion. -->
<!-- Name what the screenshot proves. Do not commit binary media unless explicitly required. -->

## Risk and Rollback

<!-- What could go wrong? How do we undo it? -->

- **Risk level:** low / medium / high
- **What breaks if this is wrong:**
- **How to rollback:**

## Checklist

<!-- Complete every item before requesting review. -->

- [ ] PR body references at least one issue number (`Closes #N` or `Refs #N`)
- [ ] Changed files are syntactically valid (`python -c "import ast; ast.parse(open(f).read())"`, `node --check`, `bash -n`)
- [ ] Proof meets CONTRIBUTING.md standard (exact commands, output, or artifacts — not "looks right")
- [ ] Branch is up-to-date with base
- [ ] No more than 3 unrelated issues bundled in this PR
- [ ] Shell scripts are executable (`chmod +x`)
