- Refactored build_field_handler_ast to use pattern-matching function heads
instead of a large cond block, reducing cyclomatic complexity from 30 to ≤9
- Extracted classify_type_spec and per-type AST builder helpers into separate
private functions for maintainability
- Removed :previous_interface_stats initialization from show.ex (only
polling.ex reads it); prev_stats now passed explicitly as a parameter
to polling functions instead of reaching through socket.assigns
- Updated Polling.poll_sensors, poll_traffic, and poll_traffic_with_state
to accept prev_stats as an explicit argument