Compute semantic diff for a single file by comparing symbols between two versions and checking which symbols overlap with changed hunks.
(
base_content: Option<&str>,
head_content: Option<&str>,
file_path: &str,
language: &str,
hunks: &[(usize, usize)], // (start_line, line_count) of changed regions in head
)
source not stored for this graph (policy: none)