Project structure
The module chain from the two crate roots to the registered functions, where the SQL-facing types live, and the naming rules that keep the extension loadable.
Design notes
Why the function groups by symbol itself, how the benchmark pairing works, why the options type is all-Option, and how the reports are persisted and opened.
Dependencies
Which crate carries which part of the extension, and why each one was chosen.