Skip to content

fix(gfql): preserve boolean sum zero on polars gpu - #2002

Merged
lmeyerov merged 5 commits into
masterfrom
fix/gfql-1997-polars-gpu-bool-sum
Aug 28, 2026
Merged

fix(gfql): preserve boolean sum zero on polars gpu#2002
lmeyerov merged 5 commits into
masterfrom
fix/gfql-1997-polars-gpu-bool-sum

Conversation

@lmeyerov

@lmeyerov lmeyerov commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Normalize the cuDF-Polars 26.02 all-null Boolean sum result to the GFQL/Cypher zero contract.
  • Scope the repair to exactly Boolean sum before the existing Int64 result cast.
  • Add direct positive and negative boundary tests.
  • Record the fix under [Development] in CHANGELOG.md.

Final linear state

  • Head: d3573735040d7f65d00a24f2e08fa5b8a9d83e77
  • Base: master at merged fix(gfql): treat binding seed ids as identities #2001 commit d627fac2e7e55168f0ba43b8b1f4e3311b4e2f52
  • Topology: five linear, one-parent commits; zero merge commits
  • Incremental diff: three files, +24/-0

The four previously reviewed code/test patches are range-diff exact after the final rebase. The fifth commit adds only the requested changelog entry.

Semantics boundary

polars_conform_agg_dtype() fills null only when both conditions hold: the aggregate is sum and the input dtype is Boolean.

The focused test pins:

  • Positive: Boolean sum null → Int64 zero.
  • Negative function side: Boolean count null → Int64 null.
  • Negative dtype side: non-Boolean sum null → unchanged null.

Validation

  • Focused CPU boundary selection: 52 passed, 18 expected skips, 425 deselected.
  • ./bin/lint.sh: clean, including type-hygiene, comment-density, and import guards.
  • ./bin/typecheck.sh: mypy 2.3.1, 336 source files, zero issues.
  • No Docker, local GPU, DGX, or broad local suite was used for the final rebase.

Review resolution

Landing

Review the master-relative range d627fac2e...d35737350.

After this exact-head CI generation is green, the authorized landing method is GitHub Create a merge commit with admin override. Retain the source branch.

@lmeyerov

Copy link
Copy Markdown
Contributor Author

Stacked incorrectly

@lmeyerov
lmeyerov changed the base branch from master to fix/gfql-1996-binding-seed-identity August 21, 2026 20:12
Comment thread graphistry/compute/gfql/agg_types.py
@lmeyerov
lmeyerov force-pushed the fix/gfql-1996-binding-seed-identity branch from 01b0c66 to a888c33 Compare August 27, 2026 09:52
@lmeyerov
lmeyerov force-pushed the fix/gfql-1997-polars-gpu-bool-sum branch from e216bcd to 712e2d1 Compare August 27, 2026 10:31
@lmeyerov

Copy link
Copy Markdown
Contributor Author

Resolved on exact head 712e2d121f6441b4cef320469a6c6162ea4a63bd: #2002 is now four one-parent commits directly on exact #2001 head a888c33f2d42f626bb0754fb1186b2d1c1bf6561, with zero integration merges. The incremental diff is exactly two files (+23/-0), and all four patches are range-diff equivalent to their reviewed versions. The PR remains based on the #2001 branch for incremental review; after #2001 lands, the maintainer can retarget #2002 to master, wait for the refreshed exact-head checks, and merge out of band.

@lmeyerov
lmeyerov force-pushed the fix/gfql-1997-polars-gpu-bool-sum branch from 712e2d1 to d357373 Compare August 28, 2026 13:55
@lmeyerov
lmeyerov changed the base branch from fix/gfql-1996-binding-seed-identity to master August 28, 2026 13:57
@lmeyerov
lmeyerov merged commit fcf369f into master Aug 28, 2026
110 of 111 checks passed
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