Expand description
Semantic analysis pass over the parsed AST.
The parser produces a syntactic AST and catches structural errors. This module walks the AST to find semantic issues: undefined references, unused bindings, state-machine gaps, and migration hints.