Central, language-agnostic complexity pass. Given a structural graph whose
file nodes carry their absolute path as id, this reads each file, picks a
rust-code-analysis parser by extension, and writes the metrics into the
node's attrs as flat keys. It is the single place that knows
rust-code-analysis; plugins emit structure only.
The metric attribute dictionary it can produce is exposed via
[metric_specs] so the orchestrator can declare it in the snapshot.