` command list per theme — Frank uses this for his review pass.
4. Changes by category: Added/Changed/Fixed/Removed/Security; omit empty categories; cite commit hashes per item. Fixed = old behavior was a bug; Changed = intentional.
5. 4-6 notable code excerpts: read real files, pick load-bearing/instructive code, note file:lines + commits + why it matters. HTML-escape everything (`html.escape`).
6. Verification evidence table (what / how / result).
7. Incidents & open risks.
8. Actions required from Frank (numbered, effort hints).
## HTML requirements
- Self-contained: inline CSS only, NO CDNs (must work from file:// offline). Dark theme CSS vars (#1a1b26 bg family works).
- Sticky top nav, section anchors, `` blocks, commit hashes as `.tag` chips.
- Build via python (eval kernel): subprocess for git data, string concat for CSS (avoid f-string brace pain), f-strings for rows.
## Delivery + verification
- Write to `/home/dank/Reports/--.html` (outside repo, tree stays clean).
- Validate: python HTMLParser feed (parse errors) + open in headless browser (`write` JSON to xd://browser: open → run with `document.querySelectorAll` counts + fullPage screenshot) → close tab.
- Open for Frank: `nohup firefox --new-tab file:/// >/dev/null 2>&1 & disown`.