Repository navigation
[FEA] Cypher binder: enable strict-name-resolution to centralize alias-scope enforcement #1357
Description
Activity
Status update: merged #1384 (
c9eedc47) delivered #1371 P1 (post-WITH UNWIND strict binder traversal-order gap).Landed:
- strict binder now orders MATCH/WITH/UNWIND by source position in strict mode, fixing the false unresolved-alias failure for post-WITH UNWIND references.
- strict-only scope preserved loose/runtime behavior while [META] Cypher binder coverage gaps blocking #1357 strict_name_resolution rollout #1371 remaining slices are still open.
- amplified tests added for sequencing + alias-kind boundaries.
PR: #1384
#1357 remains open pending the remaining #1371 slices (P2/P3/P4) before the runtime strict flip.
Progress update (2026-05-09): merged PR #1386 for strict binder comprehension-local scope handling.
- PR: Fix #1371 P2 strict binder comprehension-local scope #1386
- Merge commit: 4e6a186
- Landed slice: closes [META] Cypher binder coverage gaps blocking #1357 strict_name_resolution rollout #1371 P2 (quantifier/list-comprehension scope false positives in strict unresolved-name checks)
- CI: green at merge
- Changelog: Development/Internal entry added for this slice
#1357 remains open for remaining strict-name-resolution rollout slices.
Progress update after merge of #1387 (P3):\n\n- Merged: https://github.com/graphistry/pygraphistry/pull/1387\n- Merge commit: cb5eaef\n- CI: green after rebase on top of #1386 + changelog update\n\nStrict-rollout coverage status under the #1371 family is now advanced by landing CALL/YIELD scope propagation through strict row-sequence binding in (P3).\n\nNet effect from this PR:\n- strict now resolves yielded aliases correctly\n- strict regression coverage added for both direct and aliased YIELD names\n- changelog entry added\n\nKeeping #1357 open remains appropriate until the remaining strict-runtime flip prerequisites are fully closed.
Progress update after merge of #1387 (P3):
- Merged: fix(gfql): preserve CALL/YIELD scope through strict row bind (#1371 P3) #1387
- Merge commit: cb5eaef
- CI: green after rebase on top of Fix #1371 P2 strict binder comprehension-local scope #1386 + changelog update
Strict-rollout coverage status under the #1371 family is now advanced by landing CALL/YIELD scope propagation through strict row-sequence binding in
FrontendBinder(P3).Net effect from this PR:
- strict
CALL ... YIELD ... RETURN ...now resolves yielded aliases correctly - strict regression coverage added for both direct and aliased YIELD names
- changelog entry added
Keeping #1357 open remains appropriate until the remaining strict-runtime flip prerequisites are fully closed.
#1472 follow-up merged via #1491.
- Merge commit:
adc2912c80d7284dc5aeb62acea1c8082fb629ce - Removed the obsolete M1 differential scaffold test file while preserving the one unique current-semantics case as direct lowering coverage.
- Net LOC delta:
-240(+42 / -282). - This was a test-scaffold deletion only; no runtime/compiler behavior changed.
- Merge commit:
- added a commit that references this issue
on Aug 18, 2026
Summary
Enable strict binder name-resolution by default in runtime compile so alias-scope enforcement is centralized at binder time.
Final Status
Closure Receipt
0afaa23df024635f0d619cbcdb6416e7f8e1bbdaDefense-in-depth notes
Related