Git diffs are great for humans scanning line noise. But agents need to understand changes: "added function X", "renamed symbol Y", "moved block Z".
sem computes semantic diffs on top of your Git repo—no repo rewrite needed.
Repo: https://github.com/Ataraxy-Labs/sem
Key ideas:
Parses code to AST, computes tree‑edit ops (add/remove/move/change).
Outputs human‑/agent‑readable patches: "diff_sem" shows intent, not whitespace churn.
Applies deterministically via git apply --sem—survives formatting shifts or unrelated edits.
Use cases popping up:
Agent codemods: output semantic patches instead of brittle hunks.
Review tools: "explain this PR as semantic changes".
Stacked diffs / Graphite: semantic base for stacks.
Bulk refactors: apply "rename all X to Y" across noisy repos.