Semantic Diff Engine
NeoArc analyses changes as architectural decisions, not line-level diffs. Every change is classified as structural or cosmetic, giving architects a meaningful view of what actually matters.
Standard Git diffs show line-level changes in JSON files. For architecture documentation, this creates noise: a node repositioned on a diagram canvas produces dozens of changed lines that are structurally irrelevant. NeoArc's Semantic Diff Engine analyses changes at the architectural level, classifying each modification by its significance.
How It Works
Structural vs Cosmetic Changes
The engine distinguishes between changes that affect architectural meaning and those that affect presentation only:
Change Classification
At the resource level, each change is classified into one of four categories:
UUID-Based Resource Matching
Every resource in NeoArc has a stable UUID that persists across renames, moves, and restructuring. The semantic diff engine matches resources by UUID, not by file path or display name. This means:
Integration with Git Workflow
The semantic diff engine powers several features across NeoArc:
NeoArc wraps Git with architecture-first concepts: checkpoints instead of commits, tracks instead of branches, baselines instead of tags. Semantic diff, conflict resolution, drift analytics, and shelving provide a complete governance workflow.
Monitor how far your architecture has drifted from a governance-approved baseline. Visual gauges, hotspot detection, change frequency heatmaps, and a chronological change feed give architects full visibility into architectural evolution.