pub fn normalize_ast(ast: ContractNode) -> ContractNodeExpand description
Normalize a parsed AST to canonical form (sorted, expanded, hashed)
Steps per CORE-SPECIFICATION.md ยง6.1:
- Sort state fields alphabetically
- Sort operation parameters alphabetically
- Sort operations by name
- Sort string lists alphabetically
- Expand defaults (already in AST)
- Compute SHA-256 semantic hash