v0.50.1 - Chain Optimizations and Bugfixes
Performance
- GFQL / chain: Optimized backward pass for simple single-hop edges by skipping full
hop()call and using vectorized merge filtering instead (~50% faster on small graphs). Addedis_simple_single_hop()method onASTEdgefor optimization eligibility checks.
Fixed
- GFQL / chain: Fixed
output_min_hops/output_max_hopssemantics to correctly slice output nodes/edges matching oracle behavior. - GFQL / chain: Fixed multi-hop detection in
_is_simple_single_hopto checkto_fixed_pointflag and correctly identify optimization-eligible edges. - GFQL / enumerator: Fixed hop labeling for paths outside
min_hopsrange to use shortest path distance instead of enumeration order. - Compute / hop: Fixed
min_hopsgoal node calculation to use edge endpoints instead of lossy node merge, ensuring correct branch pruning.
Tests
- GFQL / chain: Added 78 tests for backward pass and combine_steps optimizations covering edge cases, direction semantics, hop labels, and multi-step chains.
Full Changelog: v0.50.0...v0.50.1