Three-Bullet PR Summary
Summarizes a pasted diff in exactly three bullets for a reviewer who has never seen this codebase: what changed, why it changed, and what could go wrong. It's built to name real classes, functions, and file paths rather than describe changes abstractly, and it doubles as a scope check — if the diff can't be summarized in three concrete bullets, the PR is probably too big.
Summarize this PR in exactly 3 bullet points for a reviewer who has never seen this codebase. Each bullet should answer one of: (1) what changed, (2) why it changed, (3) what could go wrong. Be concrete — reference actual class names, function names, and file paths where relevant. No marketing language.
{{diff}}