Skip to content

Fix #1413 IC3 carried-row reentry - #1428

Merged
lmeyerov merged 5 commits into
masterfrom
issue-1413-ic3-carried-row-reentry
May 14, 2026
Merged

lmeyerov merged 5 commits into
masterfrom
issue-1413-ic3-carried-row-reentry

Conversation

@lmeyerov

@lmeyerov lmeyerov commented May 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Fixes [POST-RERUN] #880 residual: joined row aggregation bucket #1413 IC3/cross-country carried-row reentry shape: WITH person, collect(city) AS cities MATCH ...
  • Admits multiple post-reentry WITH stages for the single-reentry IC3 suffix
  • Carries collected node-entity lists through whole-row reentry and evaluates both friendCity IN cities and NOT friendCity IN cities
  • Keeps optional-match collect(x) whole-row null cases in the validation-failure bucket for both direct RETURN and downstream WITH
  • Adds adversarial regressions for collect(city), collect(DISTINCT city), CASE aggregation, post-aggregate filtering, TCK optional aggregate boundaries, positive same-city membership, direct collected-entity rendering, and cuDF reentry smoke
  • Fixes a CI mypy 2.0 blocker in graphistry/_version.py by annotating the Versioneer handler registry

Validation

  • PYTHONPATH=/home/lmeyerov/Work/clients/diana/varsity/.venv/lib/python3.12/site-packages python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1413_ic3_cross_country_carried_row_collect_list_reentry_case_sum graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1413_ic3_collect_distinct_entity_membership_with_post_aggregate_where graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1413_ic3_entity_membership_positive_same_city_friend_only graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1413_ic3_collect_whole_row_entities_render_after_binding_grouping graphistry/tests/compute/gfql/cypher/test_lowering.py::test_string_cypher_failfast_optional_match_collect_null_whole_row_return_boundary graphistry/tests/compute/gfql/cypher/test_lowering.py::test_string_cypher_failfast_optional_match_collect_null_whole_row_with_boundary graphistry/tests/compute/gfql/cypher/test_lowering.py::test_string_cypher_failfast_relationship_whole_row_grouped_count_star_boundary -> 7 passed
  • PYTHONPATH=/home/lmeyerov/Work/clients/diana/varsity/.venv/lib/python3.12/site-packages python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k '(issue_1413 or optional_match_collect_null_whole_row or failfast_relationship_whole_row_grouped_count_star_boundary) and not cudf' -> 11 passed
  • PYTHONPATH=/home/lmeyerov/Work/clients/diana/varsity/.venv/lib/python3.12/site-packages python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k 'not cudf' -> 911 passed, 88 deselected
  • python3 -m ruff check graphistry/tests/compute/gfql/cypher/test_lowering.py -> passed
  • PYTHONPATH=/home/lmeyerov/Work/clients/diana/varsity/.venv/lib/python3.12/site-packages python3 -m py_compile graphistry/tests/compute/gfql/cypher/test_lowering.py -> passed
  • PYTHONPATH=/home/lmeyerov/Work/clients/diana/varsity/.venv/lib/python3.12/site-packages python3 bin/ci_cypher_surface_guard.py -> passed
  • python3 -m py_compile graphistry/_version.py -> passed
  • python3 -m ruff check graphistry/_version.py graphistry/tests/compute/gfql/cypher/test_lowering.py -> passed
  • python3 -m mypy graphistry/_version.py -> passed
  • git diff --check -> passed
  • DGX Spark RAPIDS matrix via ssh dgx-spark: MATRIX_CELLS="25.02:gfql 26.02:gfql" WITH_IMAGE_BUILD=0 WITH_GPU=1 WITH_LINT=0 WITH_TYPECHECK=0 WITH_TEST=1 PROFILE=gfql TEST_FILES="..." ./test-rapids-official-matrix.sh -> 25.02/gfql PASS, 26.02/gfql PASS on 8 focused tests
  • GitHub PR checks on f2b79d1b -> green, including tck-gfql, Cypher gates, Python lint/type matrix, docs, core, pandas/polars, Spark, Neo4j, and full-ai jobs

Notes

  • Surface guard baseline line-count update is intentional for this compiler slice; dataclass/API surface counts are unchanged.
  • origin/master last checked at 1520a728424fdc0c54fa507f912e3e24aa7953f7; merge-base with PR head is unchanged, so no rebase is needed.

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.

[POST-RERUN] #880 residual: joined row aggregation bucket

1 participant