Skip to content

Fix empty post-aggregate list projection#1445

Merged
lmeyerov merged 2 commits into
masterfrom
codex/issue-1367-comparison-list-null
May 15, 2026
Merged

Fix empty post-aggregate list projection#1445
lmeyerov merged 2 commits into
masterfrom
codex/issue-1367-comparison-list-null

Conversation

@lmeyerov

@lmeyerov lmeyerov commented May 15, 2026

Copy link
Copy Markdown
Contributor

Fixes #1367
Refs #1353

Summary

  • Fix empty MATCH aggregate synthesis for post-aggregate projections by evaluating the public projection before seeding empty_result_row.
  • Consolidate synthetic empty-row graph shims so the Cypher surface guard remains under baseline.
  • Add amplified Tranche: Comparison/list/null wrong-row semantics (14 cases) under #1353 #1367 regressions for empty/global aggregate rows, grouped-empty negative behavior, optional-null extension, real relationship counting, and cuDF paths.
  • Update the changelog.

TCK sidecar

Validation

  • python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "issue_1367 and not cudf"
    • 5 passed
  • python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "(issue_1367 or post_aggregate_size_collect_projection) and not cudf"
    • 7 passed
  • python3 bin/ci_cypher_surface_guard.py
    • pass, lowering.py lines 8966 <= 8977
  • ./bin/ruff.sh graphistry/compute/gfql/cypher/lowering.py graphistry/tests/compute/gfql/cypher/test_lowering.py
    • pass
  • ./bin/typecheck.sh graphistry/compute/gfql/cypher/lowering.py
    • pass
  • tck-gfql sidecar direct-Cypher contract
    • 764 passed, 3705 deselected
  • tck-gfql sidecar post-fix full suite
    • 3935 passed, 763 xfailed
  • GitHub CI

DGX / cuDF

  • Ran on dgx-spark via docker/test-rapids-official-local.sh, narrow selector:
    • test_issue_1367_empty_optional_match_post_aggregate_list_comprehension_size_on_cudf
    • test_issue_1367_post_aggregate_list_projection_counts_existing_relationships_on_cudf
  • RAPIDS 25.02 official image: 2 passed
  • RAPIDS 26.02 official image: 2 passed
  • Used narrow selector because dgx-spark is shared; GPU was visible as NVIDIA GB10, utilization 0 %, memory fields N/A.

Review

  • Used agents/skills/review/SKILL.md in findings mode through convergence.
  • Original review converged after 4 waves.
  • Follow-up review after rebase/test amplification/DGX evidence converged after 2 clean waves.
  • Follow-up final report: plans/issue-1367-comparison-list-null/review/followup-2026-05-15/final-report.md.

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@lmeyerov
lmeyerov marked this pull request as ready for review May 15, 2026 07:17
@lmeyerov
lmeyerov force-pushed the codex/issue-1367-comparison-list-null branch from d645c1e to c73b75c Compare May 15, 2026 15:26
@lmeyerov
lmeyerov merged commit 79d62aa into master May 15, 2026
269 of 271 checks passed
@lmeyerov
lmeyerov deleted the codex/issue-1367-comparison-list-null branch May 15, 2026 16:11
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.

Tranche: Comparison/list/null wrong-row semantics (14 cases) under #1353

1 participant