## Summary
<!-- 1-3 sentences describing what this PR does and why. -->

## Linked Issues
<!-- Closes #123, Fixes #456 -->

## Changes
<!-- Bulleted list of what changed. Be specific about files and components. -->

- 

## Type
<!-- Check one -->
- [ ] `type:feature` -- New capability
- [ ] `type:bug` -- Bug fix
- [ ] `type:chore` -- CI, deps, refactor, tooling
- [ ] `type:docs` -- Documentation only
- [ ] `type:test` -- Test coverage
- [ ] `type:security` -- Security patch

## Test Plan
<!-- How was this tested? Include commands, screenshots, or test output. -->

- [ ] Unit tests pass (`pytest`)
- [ ] Linter clean (`ruff check`)
- [ ] Type check clean (`mypy`)
- [ ] Docker build succeeds
- [ ] Manual verification: <!-- describe -->

## Breaking Changes
<!-- Does this PR break any existing behavior? If yes, describe migration steps. -->

None.

## Agent Metadata
<!-- For AI agent PRs: which agent, which issue, model used -->
- Agent: <!-- cursor / copilot / human -->
- Model: <!-- e.g. claude-4.6-opus -->
- Confidence: <!-- high / medium / low -->
