Skip to content

Remove residual Cypher chain fallback - #1508

Merged
lmeyerov merged 1 commit into
masterfrom
issue-1486-final-fallback-deletion
May 18, 2026
Merged

lmeyerov merged 1 commit into
masterfrom
issue-1486-final-fallback-deletion

Conversation

@lmeyerov

@lmeyerov lmeyerov commented May 17, 2026 •

Copy link
Copy Markdown
Contributor

Closes #1486.

Summary

  • reran the post-Plan path-alias carry matches natively #1503 residual fallback inventory on latest master and confirmed no approved-chain defer-code hits remain
  • removed the final non-union logical_plan is None approved chain-execution branch and its runtime allowlist/helper
  • added stable logical-plan defer-code symbols and fail-fast coverage proving multiple_match_stages, optional_match_reentry, and unknown defer codes no longer silently chain-execute
  • changed missing-logical-plan runtime errors to expose structured logical_plan_defer_code / logical_plan_defer_reason context keys instead of a nested value payload
  • updated CHANGELOG.md

Inventory

Base after rebase: origin/master @ f1831304

candidate_literals=2386
unique_candidate_literals=1847
compiled=1009
compile_errors=838
logical_plan_none_without_code=11
defer_codes=none

The remaining logical_plan_none_without_code examples are UNION programs; _execute_compiled_query() dispatches CompiledCypherUnionQuery before non-union execution, so they do not reach _execute_compiled_query_non_union().

Validation

  • python3 -m pytest -q graphistry/tests/compute/gfql/test_runtime_physical_cutover.py -k 'not cudf' graphistry/tests/compute/gfql/test_logical_planner.py graphistry/tests/compute/gfql/cypher/test_lowering.py::test_string_cypher_executes_seeded_multihop_then_with_optional_match_reentry_shape
    57 passed, 1 deselected
  • python3 -m pytest -q graphistry/tests/compute/gfql/test_runtime_physical_cutover.py::test_non_union_execution_requires_logical_plan graphistry/tests/compute/gfql/test_runtime_physical_cutover.py::test_deferred_logical_plan_reason_rejected_before_chain_execution graphistry/tests/compute/gfql/test_runtime_physical_cutover.py::test_deferred_logical_plan_code_rejected_before_chain_execution
    5 passed
  • python3 -m pytest -q graphistry/tests/compute/gfql/test_runtime_physical_cutover.py -k 'not cudf'
    30 passed, 1 deselected
  • python3 -m pytest -q graphistry/tests/compute/gfql -k 'not cudf'
    2167 passed, 29 skipped, 134 deselected, 15 xfailed
  • python3 -m ruff check graphistry/compute/gfql/defer_codes.py graphistry/compute/gfql/logical_planner.py graphistry/compute/gfql/cypher/lowering.py graphistry/compute/gfql_unified.py graphistry/tests/compute/gfql/test_runtime_physical_cutover.py
    passed
  • ./bin/typecheck.sh
    Success: no issues found in 273 source files
  • local full test_runtime_physical_cutover.py cuDF case fails on this host before assertions with cudaErrorNoDevice; covered on DGX
  • dgx-spark RAPIDS 25.02 focused GFQL/cuDF runtime cutover file
    31 passed, 1 warning, log /tmp/issue-1486-rapids-25.02.log
  • dgx-spark RAPIDS 26.02 focused GFQL/cuDF runtime cutover file
    31 passed, log /tmp/issue-1486-rapids-26.02.log

Merge

Auto-merge after DGX validation, review-skill convergence, CI green, and final master freshness check.

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.

GFQL deletion: remove residual unplanned Cypher chain fallback after bucket closeout

1 participant