test(gfql): viz-filter-pipeline acceptance suite + regression benchmark (L3)#1681
Closed
lmeyerov wants to merge 0 commit into
Closed
test(gfql): viz-filter-pipeline acceptance suite + regression benchmark (L3)#1681lmeyerov wants to merge 0 commit into
lmeyerov wants to merge 0 commit into
Conversation
dc9983b to
b246e72
Compare
4b4501f to
9e79849
Compare
ec19d78 to
c0634f1
Compare
9e79849 to
a8bb8dd
Compare
c0634f1 to
9af5808
Compare
a8bb8dd to
87b94da
Compare
9af5808 to
dbf67ae
Compare
87b94da to
db96812
Compare
dbf67ae to
5b692fe
Compare
db96812 to
5b692fe
Compare
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The viz-filter-pipeline ACCEPTANCE SUITE + REGRESSION BENCHMARK (viz-filter L3) — the proveout layer over the whole stack (#1675 → #1677 → #1679 → #1680). Frozen semantics:
plans/viz-filter-pipeline/research/panel-algebra.md(v1-FINAL). Stacked on #1680.graphistry/tests/compute/gfql/test_viz_pipeline_conformance.pyassert_parity_or_nieacross pandas/cuDF/polars/polars-gpu): node+edge filters, exclusion-dominates composition (AND NOT (...)with three-valued null semantics pinned),(pred OR IS NULL)keep-null leaves, both EXISTS prune-isolated flavors, searchAny composed with filters, deterministicORDER BY/SKIP/LIMITpaging ascending AND descending — the fixture's row order is deterministically shuffled so an engine that silently drops the sort fails on membership, and the ASC+DESC pins are jointly seed-independent (review wave-3 proof).GRAPH { MATCH (a)-[e]-(b) }(keep-self: self-loop-only node kept with its edge, mutual pair keeps both directed edges, isolated dropped) + the drop-self variant, on a formula-derived fixture (self-loops, parallel edges, isolated + self-loop-only discriminator nodes, unicode/metachar/null name cells, a Categorical column).(?i)vs case-sensitive=~, ß/İ full-case-mapping pins, literal-vs-regex metachars through searchAny, anchored=~vs CONTAINS, null cells, Categorical (decline ok, silent-wrong not).benchmarks/gfql/viz_filter_pipeline.pySix streamgl-viz panel scenarios (filters+excludes+ORDER/LIMIT, keep-self GRAPH prune, EXISTS prune, node search, edge search, combined) ×
--scale {100k,1m,10m}× engines with native-frame-per-engine fairness (one-time conversion excluded from timing; both result frames touched inside the clock), warmup+timed medians, an NIE-tolerant never-crash matrix,--estfor safe-run budgeting, upfront output-path validation, and JSON receipts. The ~350ms@800K interactive reference is printed as a comparison column, not asserted.Review + verification
4 adversarial findings-mode waves to convergence (waves 3+4 consecutive clean; artifacts
plans/viz-filter-pipeline/waves/pr1681/) — every curated pin and all 17 trick rows independently recomputed by hand in review; oracle-independence and bench fairness adversarially confirmed. dgx GB10 (--gpus all): suite 31 passed at the converged tip on the final stack; CI green.Receipts (dgx GB10 —
plans/viz-filter-pipeline/receipts/)combined(1.55×).search_nodes36ms).receipts/(25M edges; run under the memory-safety harness).Findings surfaced by this layer (pinned + tracked, exactly its job)
searchAny(e, ...)declines on polars (honest NIE) — gap tracked; explicit non-string/int/bool searchAny columns decline on polars + cuDF (float repr divergence, dgx-probed in feat(gfql/cypher): searchAny cross-column search predicate — inspector semantics, native on 4 engines #1680).row_pre_filtersunwired in the graph compiler).🤖 Generated with Claude Code