feat: implement Hungarian algorithm for optimal instance pairing in reconciler

- Replaced the previous greedy matching approach with the Hungarian (Kuhn-Munkres) algorithm for improved accuracy in instance pairing, especially in ambiguous groups with multiple same-named instances.
- Introduced a new Hungarian.lua module to encapsulate the algorithm's logic.
- Updated the reconciler to utilize the new optimal assignment function, enhancing overall matching performance.
- Documented changes in the CHANGELOG for clarity on the new implementation.
This commit is contained in:
Joe 2026-03-07 18:13:19 -06:00
parent 3f469d615b
commit 372e6bc739
7 changed files with 234 additions and 287 deletions

View file

@ -31,6 +31,7 @@ Making a new release? Simply add the new header with the version and date undern
## Unreleased
* Replace greedy matching with optimal Hungarian (Kuhn-Munkres) algorithm in forward sync, syncback, and plugin reconciler for correct instance pairing when multiple same-named instances exist in ambiguous groups
* Optimize syncback performance for large projects (~42% faster): skip hash computation in clean mode, reuse prefetch walkdir for orphan detection, rewrite collect_all_paths as O(n) top-down BFS, add file-size-first comparison in write phase, scope git index queries to project directory ([#10])
[#10]: https://github.com/UserGeneratedLLC/rojo/pull/10