Skip to content

fix(gfql): strict binder post-WITH UNWIND traversal order (#1371 P1) - #1384

Merged
lmeyerov merged 2 commits into
masterfrom
issue-1371-post-with-unwind-binder-gap
May 9, 2026
Merged

lmeyerov merged 2 commits into
masterfrom
issue-1371-post-with-unwind-binder-gap

Conversation

@lmeyerov

@lmeyerov lmeyerov commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • fix FrontendBinder._bind_graph_sequence traversal for strict binder mode so post-WITH UNWIND resolves aliases from preceding WITH clauses in source order
  • preserve existing loose-mode traversal behavior to avoid runtime regressions while strict rollout remains staged
  • add strict regression coverage and remove obsolete parity/baseline cases for the resolved P1 gap
  • add changelog development note

Scope

Validation

  • python -m pytest -q graphistry/tests/compute/gfql/cypher/test_binder.py graphistry/tests/compute/gfql/cypher/test_binder_strict_compile_baseline.py graphistry/tests/compute/gfql/cypher/test_validator_runtime_strict_parity.py
  • python -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "unwind_after_with_into_post_with_match or unwind_with_carried_scalar_into_post_with_match or unwind_with_multiple_carried_scalars or distinct_unwind_with_carried_scalar or with_unwind_reentry_progresses_past_parser"
  • ./bin/ruff.sh graphistry/compute/gfql/frontends/cypher/binder.py graphistry/tests/compute/gfql/cypher/test_binder.py graphistry/tests/compute/gfql/cypher/test_binder_strict_compile_baseline.py graphistry/tests/compute/gfql/cypher/test_validator_runtime_strict_parity.py
  • ./bin/mypy.sh graphistry/compute/gfql/frontends/cypher/binder.py graphistry/tests/compute/gfql/cypher/test_binder.py

@lmeyerov
lmeyerov marked this pull request as ready for review May 9, 2026 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant