---
id: {{ID}}
title: {{TITLE}}
date: {{DATE}}
author: {{AUTHOR}}
type: {{TYPE}}
scope: {{SCOPE}}
status: in-progress
breaking: false
patterns: []
files: []
gui_routes: []
api_endpoints: []
parity_exception: ""
api_doc_updated: n/a
security_impact: ""
tests: []
---

## What
One paragraph: what changed, from the user's point of view.

## Why
The problem or requirement. For a bugfix: **Problem** (symptom + root cause) and **Fix**.

## How
Design decisions: which layer, which pattern and why it fits, alternatives rejected.
If a pattern is named in `patterns:`, this section must show where it is applied.

## API impact
Which endpoints were added/changed, request/response fields, error codes.
If a GUI feature changed and no API changed, `parity_exception` must say why.

## Security review
Answer explicitly, even when the answer is "not affected":
- Input validated? (types, length, allow-lists, file names/paths)
- Auth guard present on every new route? Correct one (`@login_required` / `@api_key_required`)?
- State change on GET? (must be POST/PUT/PATCH/DELETE)
- Secrets, tokens or personal data touched, logged or returned?
- New dependency? (`pip-audit` clean?)

## Verification
Commands run and their result (tests, checker, manual steps).
