Repository navigation
Meta: benchmark coverage unlock plan for GFQL and GFQL/Cypher #992
Copy link
Copy link
Open
Description
Summary
Meta-tracker for benchmark-impacting GFQL/Cypher compiler/planner gaps.
Closed Residual / Benchmark Wave
- [FEA] GFQL bindings_table (row bindings) from chain using Yannakakis prune #880 closed after graphistry/pyg-bench#19 final residual closeout.
- graphistry/pyg-bench#11/edge colors can't be set #12/make def height 600 to prevent modal window sizing issues #14/better error when NaN in src/dst/node #15/When ETLing without key, error message should state that key is needed #16/Bind call required before most others #19/print out current set of bindings #20/Update documentation #22/encoding issues #24 completed benchmark-side cleanup and receipts.
- Test hardening: replace direct cuDF .to_pandas().to_dict() conversions in GFQL lowering tests #1439 cuDF
.to_pandas().to_dict()test-hardening via Harden cuDF to_pandas to_dict lowering tests #1444. - GFQL row-pipeline: anonymous-source MATCH projects boolean reachability, not bound node/edge — blocks tck-gfql with-skip-limit{1-2,2-4} #1438 closed as not-a-pygraphistry runtime bug; harness-side tracking moved to [META] tck-gfql harness gaps: ~120 xfails are harness-side, not pygraphistry (evidence-based re-audit) tck-gfql#108.
Direct-Cypher Residual Cleanup (#1353)
Fresh #1353 snapshot after graphistry/tck-gfql#125, against pygraphistry 592e34a6 + tck-gfql 0fbaa42e:
- tracked non-validation debt: 1
success_matches_expected: 1 (match5-8bookkeeping)success_wrong_rows: 0unexpected_success_expected_error: 0- additional fastfail drift:
with5-2now returns expected rows while its direct-Cypher xfail contract still expectsGFQLValidationError
Completed:
- [META-split] Direct-Cypher wrong-rows tranche A: comparator + ORDER BY semantics #1405, [META-split] Direct-Cypher wrong-rows tranche B: temporal comparison/canonicalization #1406, [META-split] Direct-Cypher wrong-rows tranche C: tri-valued list/map/null semantics #1407, [META-split] Direct-Cypher wrong-rows tranche D: string/type-conversion cleanup #1429, GFQL/Cypher: temporal wrong-row follow-up (11 remaining, #1353 item #2) #1374, Tranche: Comparison/list/null wrong-row semantics (14 cases) under #1353 #1367, Tranche: mixed wrong-row tail cleanup under #1353 #1369, Tranche: Literals/string/type-conversion wrong-row semantics under #1353 #1368, Direct-Cypher residual: pattern predicate wrong rows under #1369 #1449, Direct-Cypher residual: string list-index expected-error drift under #1369 #1450, GFQL/Cypher: audit and broaden cuDF coverage for temporal comparisons #1446
- Direct-Cypher residual: reconcile return2-9 map row cardinality tck-gfql#113 via demos(csv upload miniapp): icij medical implant files #121
- Direct-Cypher residual: reconcile match5-25/26 fixture or contract tck-gfql#114 via docs(v1 of zeek hunting masterclass) #124
- Direct-Cypher residual: reconcile with2-1 setup/join contract tck-gfql#115 via docs(finale corelight notebook) #125
Remaining support only:
- Direct-Cypher promotion bookkeeping for match5-8 and with5-2 tck-gfql#129 — final promotion/accounting sidecar for
match5-8+with5-2
GFQL Deletion Wave (#1419)
- [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 — deletion wave closed as revised/de-scoped after final D8 D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 / PR GFQL compat-executor reachability shrink #1467.
- [DEL] D1 remove obsolete row-join fallback branches after #880 post-rerun fixes #1418 D1 row-join fallback deletion via [codex] Remove connected-match row-join compat fallback #1431 + Remove connected optional compat fallback #1435
- [DEL] D2 remove pre-strict binder compatibility guards after #1357 #1420 D2 pre-strict binder guard deletion via Remove pre-strict Cypher binder guards #1432
- [DEL] D3 remove stale reentry failfast scaffolding #1421 D3 reentry failfast scaffolding deletion via [codex] Remove stale reentry failfast scaffolding #1433
- D4 prep: native physical dispatch coverage needed to retire GFQL compat executor #1441 D4 native physical-dispatch enabler via Add native physical dispatch for planned GFQL routes #1448
- GFQL deprecated validation API removal policy and release gate #1440 deprecated validation API removal policy gate: removal not approved for this wave
- D5 prep: inventory remaining compat executor fallbacks and CALL route decision #1455 D5 CALL route decision via Route Cypher CALL through physical dispatch #1458
- D6 deletion prep: native route for simple top-level OPTIONAL MATCH fallback #1460 D6 simple top-level
OPTIONAL MATCHnative route via Route simple OPTIONAL MATCH through native physical dispatch #1463 - D7 deletion prep: native route for OPTIONAL MATCH reentry fallback #1461 D7 optional reentry native route via Route optional reentry through native planning #1462
- D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 D8 final compat-executor reachability audit and deletion/shrink decision via GFQL compat-executor reachability shrink #1467
Post-#1419 concrete deletion follow-up:
- GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471 reentry compiletime lowering-symbol shim deletion via Remove Cypher reentry compiletime lowering shim #1474.
Final #1419 receipt:
- PR GFQL compat-executor reachability shrink #1467 removed
_execute_compiled_query_compat_non_union()after D1-D7 eliminated the known generic compat-executor blockers. - The observed residual
WITH/RETURN DISTINCTdefer now plans natively through logicalDistinct. - Final D8 LOC receipt: GFQL source net
-24; full PR net-24. - Decision: the original >=2K LOC target is revised/de-scoped. Do not assign more workers to [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 solely to chase the original LOC number.
Dispatch Guidance
Priority pygraphistry lanes
- feat(gfql): add public declarative schema model #1457/GFQL type system follow-on A: public declarative schema model + stable exports #1337: existing active PR in
/home/lmeyerov/Work/pygraphistry5; review/merge only, do not duplicate.
Typed schema stack
- GFQL type system follow-on B: schema inference API + typed topology extraction #1338 -> GFQL type system follow-on C: public schema-Arrow APIs + plottable boundary enforcement #1339 -> GFQL remote: send bound typed GraphSchema with gfql_remote requests #1465 -> GFQL schema tutorial: infer, refine, bind, and validate Cypher #1464 after feat(gfql): add public declarative schema model #1457 lands or as an explicitly stacked branch.
Support sidecars
- Direct-Cypher promotion bookkeeping for match5-8 and with5-2 tck-gfql#129 for
match5-8/with5-2promotion bookkeeping only.
Do not assign
- Tranche: Literals/string/type-conversion wrong-row semantics under #1353 #1368, Direct-Cypher residual: pattern predicate wrong rows under #1369 #1449, Direct-Cypher residual: string list-index expected-error drift under #1369 #1450, D4 prep: native physical dispatch coverage needed to retire GFQL compat executor #1441, GFQL deprecated validation API removal policy and release gate #1440, Test hardening: replace direct cuDF .to_pandas().to_dict() conversions in GFQL lowering tests #1439, GFQL row-pipeline: anonymous-source MATCH projects boolean reachability, not bound node/edge — blocks tck-gfql with-skip-limit{1-2,2-4} #1438, GFQL/Cypher: temporal wrong-row follow-up (11 remaining, #1353 item #2) #1374, Tranche: mixed wrong-row tail cleanup under #1353 #1369, Tranche: Comparison/list/null wrong-row semantics (14 cases) under #1353 #1367, Compiler policy MVP: expose one structured Cypher compile/projection summary hook #1454, D5 prep: inventory remaining compat executor fallbacks and CALL route decision #1455, D6 deletion prep: native route for simple top-level OPTIONAL MATCH fallback #1460, D7 deletion prep: native route for OPTIONAL MATCH reentry fallback #1461, D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466, GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471: closed.
- [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419: closed/revised; open a new concrete deletion issue if a new reachable surface appears.
- Direct-Cypher residual: reconcile return2-9 map row cardinality tck-gfql#113/demos(csv upload miniapp): icij medical implant files #121, Aggregate security logs with cudf and pandas for graphing #114/docs(v1 of zeek hunting masterclass) #124, and Avoid setting variables in %%time blocks, and fix link at end #115/docs(finale corelight notebook) #125: merged/closed.
- [DEL] D1 remove obsolete row-join fallback branches after #880 post-rerun fixes #1418/[DEL] D2 remove pre-strict binder compatibility guards after #1357 #1420/[DEL] D3 remove stale reentry failfast scaffolding #1421 child deletion slices: closed.
- GFQL policy: add compiler semantic hooks for parse/bind/projection/aggregate summaries #1453 parent: design tracker only.
Reactions are currently unavailable
Activity
lmeyerov commentedon Mar 31, 2026
New measured benchmark state from
pyg-benchas of March 31, 2026:7(interactive-short-1/2/3/4/5/6+interactive-complex-2)GFQL:ok=2,supported_with_workaround=5Cypher:ok=3,blocked=3,semantic_mismatch=1New issue from that floor:
#994direct Cypher undirected peer binding mismatch on incoming edgesinteractive-short-3correctness even though the query now executesCurrent local next queue from the translation analyzer:
interactive-complex-8interactive-short-7interactive-complex-13interactive-complex-4lmeyerov commentedon Mar 31, 2026
Priority recommendation from the current measured SNB benchmark floor (
8official queries measured on March 31, 2026):Coverage unlock order:
#981+#880together13official SNB queriesinteractive-complex-2blocked on direct Cypher multi-binding projectioninteractive-complex-8semantic corruption on direct Cypher row lowering#973interactive-short-2/interactive-short-6family#982interactive-short-3Run in parallel as a correctness fix:
#994interactive-short-3returns the seed node as the peer alias on incoming undirectedKNOWSedgesSo the benchmark recommendation is:
#981/#880->#973->#982#994in parallellmeyerov commentedon Mar 31, 2026
New measured benchmark state from
pyg-benchas of March 31, 2026 after addinginteractive-short-7:9interactive-short-1/2/3/4/5/6/7interactive-complex-2/8GFQL:ok=2,supported_with_workaround=7Cypher:ok=3,blocked=4,semantic_mismatch=2Important change:
interactive-short-7is the first measured query that clearly opens a new post-row-shaping feature lane.Measured result:
partialprimitive_gapvia new issue#996MATCH ... OPTIONAL MATCH ... RETURN CASE ...Only node-only pre-binding MATCH clauses are supported before the final connected MATCH in this phaseUpdated benchmark priority recommendation:
#981+#880#973#982#996as the first clearly new feature-lowering lane beyond row shaping#994in parallel as the narrower wrong-answer bugCurrent next translation queue:
interactive-complex-13interactive-complex-4interactive-complex-7interactive-complex-11lmeyerov commentedon Mar 31, 2026
Updated benchmark coverage status from
pyg-benchon March 31, 2026 using explicitpygraphistry mastersnapshot7095102df:2912interactive-short-1/2/3/4/5/6/7plusinteractive-complex-2/4/8/11/13ok=2,supported_with_workaround=10ok=3,blocked=7,semantic_mismatch=2Newly added measured queries in this pass:
interactive-complex-4/ new-topics: GFQL workaround passes; direct Cypher blocked by#981interactive-complex-11/ job-referral: GFQL workaround passes; direct Cypher blocked by#981Updated next translation queue from the analyzer:
interactive-complex-3interactive-complex-7interactive-complex-5interactive-complex-1interactive-complex-10Priority order still holds:
#981/#880, then#973, then#982, with#996,#997, and#994as the next measured side lanes.lmeyerov commentedon Mar 31, 2026
Updated measured benchmark state from
pyg-benchon March 31, 2026 after addinginteractive-complex-3and reproducing the expanded floor ondgx-sparkCPU:2914interactive-short-1/2/3/4/5/6/7interactive-complex-2/3/4/7/8/11/13ok=2,supported_with_workaround=12ok=3,blocked=9,semantic_mismatch=2dgx-sparkCPU runsnb-interactive-358480dd77ok=5,partial=12,planner_gap=3,primitive_gap=4,result_mismatch=2,parser_gap=2New measured query in this pass:
interactive-complex-3/ cross-country-messagespartial#999MATCH ... WITH ... MATCH ... WITH ... MATCHread-query reentryCypher WITH after post-WITH MATCH is not yet supported in the current GFQL Cypher compilerUpdated benchmark unlock order from the current floor:
#981+#880#999#973#982#996#997#998#994in parallel as the narrower wrong-answer fixUpdated next translation queue from the analyzer:
interactive-complex-1interactive-complex-10interactive-complex-12interactive-complex-5interactive-complex-9interactive-complex-6lmeyerov commentedon Mar 31, 2026
Benchmark update from
pyg-benchon 2026-03-31:15/29official queries.dgx-sparkCPU:results/runs/dgx-spark-snb-interactive-master-7095102df-v11/15-query floor:ok=5,partial=13,planner_gap=3,primitive_gap=5,result_mismatch=2,parser_gap=2.New measured blocker from
interactive-complex-9(Recent messages by friends or friends of friends):WITH collect(...) -> UNWIND -> MATCHcontinuation after graph aliases are introduced#1000#880The current measured unlock order is now:
#981+#880#1000+#999#973#982#996/#997/#998#994lmeyerov commentedon Mar 31, 2026
Another benchmark update from
pyg-benchon 2026-03-31:16/29official queries.dgx-sparkCPU:results/runs/dgx-spark-snb-interactive-master-7095102df-v12/16-query floor:ok=5,partial=14,planner_gap=3,primitive_gap=5,result_mismatch=2,parser_gap=3.New measured query added:
interactive-complex-6(Tag co-occurrence)partialvia 1..2-hop friend plus local tag co-occurrence aggregation workaround under#880parser_gapunder#1000Analyzer state after adding
complex-6andcomplex-9:#1000now affects6official queries with2already measuredinteractive-complex-12,interactive-complex-5,interactive-complex-1,interactive-complex-10lmeyerov commentedon Mar 31, 2026
Benchmark update from
pyg-benchon 2026-03-31:17/29official queries.dgx-sparkCPU:results/runs/dgx-spark-snb-interactive-master-7095102df-v13/17-query floor:ok=5,partial=15,planner_gap=3,primitive_gap=5,result_mismatch=2,parser_gap=4.New measured query added:
interactive-complex-12(Expert search)partialvia direct-friend plus local tag-class-expanded reply aggregation workaround under#880parser_gapunder#983Important correction:
#984improved the earlierREPLY_OF*0..manifestation, but#983remains active for relationship-alternation zero-hop forms such as[:HAS_TYPE|IS_SUBCLASS_OF*0..].Next queue from the analyzer is now:
interactive-complex-5interactive-complex-1interactive-complex-10interactive-complex-14lmeyerov commentedon Mar 31, 2026
Benchmark coverage update from
pyg-benchon March 31, 2026:2918ok=2,supported_with_workaround=16ok=3,blocked=13,semantic_mismatch=2dgx-spark-snb-interactive-master-7095102df-v14ok=5,partial=16,planner_gap=3,primitive_gap=6,result_mismatch=2,parser_gap=4New measured query this pass:
interactive-complex-5/new-groupspartialvia friend-membership + forum-post-count workaround#999lane, no new issue family neededCurrent read-side next queue from the translation analyzer:
interactive-complex-1interactive-complex-10interactive-complex-14lmeyerov commentedon Mar 31, 2026
Benchmark coverage update from
pyg-benchon March 31, 2026:2919ok=2,supported_with_workaround=17ok=3,blocked=14,semantic_mismatch=2dgx-spark-snb-interactive-master-7095102df-v15ok=5,partial=17,planner_gap=3,primitive_gap=6,result_mismatch=2,parser_gap=5New measured query this pass:
interactive-complex-1/named-shortest-friendspartialvia bounded-shortest-path + profile-history join workaround#997shortestPath(...)parser/front-end laneCurrent read-side next queue from the translation analyzer:
interactive-complex-10interactive-complex-14lmeyerov commentedon Apr 1, 2026
Benchmark status update from
pyg-benchafter rerunning the measured#1000lane against isolated ambientgraphistry v0.53.11.Artifact:
results/runs/local-snb-interactive-v05311-rerun/Outcome split:
interactive-complex-9/recent-network-messagesnow clears the oldWITH collect(distinct friend) -> UNWIND -> MATCHblocker and fails later at#981interactive-complex-6/tag-cooccurrencestill reproduces#1000, but on a narrower carried-scalar shape:WITH knownTagId, collect(distinct friend) AS friendsUNWIND friends AS fMATCH ...Practical priority implication for benchmark coverage:
#981/#880stay the main unlocks#999remains the broaderMATCH/WITH/MATCHcontinuation family#1000is now a narrower residual benchmark blocker, not a blanket blocker for every measuredWITH -> UNWIND -> MATCHquerylmeyerov commentedon Apr 1, 2026
Benchmark-driven priority update from
pyg-benchas of 2026-03-31.Measured state:
sf1core slice is still badly behind current baselines:13037.569 ms6081.106 ms38.894 ms342.673 msseed-lookup:221.807 ms612.941 ms565.969 msone-hop-expandmismatches andexpand-order-limitstill lands on#973What the language/runtime team should prioritize first:
#880+#981#994interactive-short-3/one-hop-expand; until this is fixed, the core comparison slice is semantically dirty.#973interactive-short-2/expand-order-limiton the direct Cypher path.#982interactive-short-3.Important nuance: not all current slowness is a PyGraphistry issue.
pyg-benchis still doing too much CPU-side fixture prep before queries.So the short version is:
#880/#981, then#994, then#973, then#982pyg-bench, we will keep reducing adapter/harness overhead so runtime numbers are less polluted by bench-side workaroundslmeyerov commentedon Apr 1, 2026
Warmup-aware DGX
sf1core slice update frompyg-bench.Methodology:
1official-query-grounded custom adaptercustom reduced baselineCurrent steady-state query-only numbers on the reduced 3-intent slice:
9350.831 ms2252.492 ms0.193 ms7098.146 ms530.804 ms178.301 ms4.293 ms348.209 ms32.996 ms41.937 msImportant read:
expand-order-limitlane.#880,#981,#982, plus correctness gap#994. The benchmark harness is cleaner now, so the remaining gap is harder to dismiss as measurement noise.Latest artifacts in
pyg-bench:results/runs/dgx-spark-snb-interactive-core-sf1-timing-v5/results/runs/dgx-spark-snb-interactive-core-sf1-gpu-timing-v9/results/runs/dgx-spark-kuzu-snb-conformance-sf1-timing-v4/results/runs/dgx-spark-neo4j-snb-conformance-sf1-timing-v4/lmeyerov commentedon Apr 1, 2026
Update: v0.53.15 shipped (#994, #997, #998)
PR #1009 merged and tagged
v0.53.15.Resolved
orient_edgesnow correctly doubles undirected edges in both directions for connected bindings.shortestPath()/allShortestPaths()now parse and fail-fast with clear validation error. Execution tracked in feat(cypher): implement shortestPath execution with igraph/cugraph backends #1010.not((a)-[:R]-(b)),exists { ... }) now detected and fail-fast with clear validation error.Test coverage added
Impact on measured floor
interactive-short-3(Cypher undirected MATCH can bind the seed node as the peer alias on incoming edges #994) should now return correct rows on direct Cypher pathinteractive-complex-13(Cypher parser rejects shortestPath((a)-[:REL*]-(b)) official shortest-path syntax #997) now fails with clear message instead of generic syntax errorinteractive-complex-7(Cypher parser rejects boolean pattern existence expressions in RETURN #998) now fails with clear message instead of generic syntax errorRemaining top blockers (unchanged)
lmeyerov commentedon Apr 1, 2026
Update: re-measurement needed after v0.53.13–v0.53.15
Since the last measured floor (March 31), several features shipped that likely change the benchmark status:
WITH...MATCHreentryWITH...MATCH...WITH...MATCH...RETURNreentryQueries that may have graduated
The measured floor had
GFQL/Cypher: ok=2, blocked=4across IS1–IS6. With the above features:Queries still known-blocked
Recommended unlock order after re-measurement
Action needed
Benchmarking team: please re-run IS1–IS6 on
v0.53.15and update the measured floor. Several queries that wereblockedmay now beok. This will clarify where to focus next.56 remaining items
lmeyerov commentedon May 16, 2026
Coordinator dispatch update: filed #1466 for the final #1419 compat-executor reachability audit and deletion/shrink decision.
Updated priority:
lmeyerov commentedon May 16, 2026
Coordinator sync: refreshed body to remove stale #1353 debt-4 / #114-open state.
Current dispatch guidance now points to #1466 as the main deletion lane, keeps #1457/#1337 as an already-active review/merge PR, and leaves only graphistry/tck-gfql#115 plus
match5-8bookkeeping as support sidecars.lmeyerov commentedon May 17, 2026
Queue-meta sync after #1466 / PR #1467 merged:
bccf9f4789625854446811db8c57b15c1796999e_execute_compiled_query_compat_non_union()is deleted.WITH/RETURN DISTINCTnow plans natively through logicalDistinct.2377 passed, 22 skipped, 15 xfailedon both versions.tck-gfqlruns.#1419 queue implication:
-24, confirming the remaining safe deletion surface was far below the original >=2K LOC target.Current queue remains:
match5-8bookkeeping.lmeyerov commentedon May 17, 2026
Coordinator catch-up after #1467:
bccf9f4789625854446811db8c57b15c1796999e)./home/lmeyerov/Work/pygraphistry5; review/merge only, do not duplicate.lmeyerov commentedon May 17, 2026
Deletion-wave closeout update:
#1419 is closed/de-scoped after #1466/#1467. Do not assign more workers to #1419/#1466 to chase the old >=2K LOC target. New deletion work must be issue-backed from concrete reachable surfaces identified on current
origin/master.lmeyerov commentedon May 17, 2026
New issue-backed pygraphistry deletion lanes filed from current
origin/mastersurfaces:logical_plan is Noneunplanned Cypher chain-execution fallback._cypher_literal_fallback_text().Dispatch note: #1457/#1337 remains active separately in
/home/lmeyerov/Work/pygraphistry5. These five are deletion-focused pygraphistry worker issues and should be assigned from fresh/recycled checkouts on currentorigin/master.lmeyerov commentedon May 17, 2026
Meta sync for #1471:
423a586e04e03e3bef4e528838e0816d0a8318af.lmeyerov commentedon May 17, 2026
Fresh #1353 sync:
origin/master:592e34a66e40b79f79029d1620911f63158c99edmain:0fbaa42eb36c047370b6d8dd0337c8a5996c6f32python -m tests.cypher_tck.report: tracked non-validation debt 1;success_matches_expected1 (match5-8);success_wrong_rows0;unexpected_success_expected_error013 passed in 2.55swith5-2now returns expected rows while contract expectsGFQLValidationErrorNo pygraphistry wrong-row runtime bug found. #1353 remains open pending graphistry/tck-gfql#129, the narrow tck-gfql promotion/accounting child for
match5-8+with5-2.lmeyerov commentedon May 17, 2026
Meta sync for #1073:
Validation receipts:
Queue implication: no further #1073 worker needed. This was cleanup/LOC reduction only and does not change #1353 or benchmark residual accounting.
lmeyerov commentedon May 17, 2026
tck-gfql#129 follow-up is open and green:
fix/direct-cypher-bookkeeping-1298f8aaca Promote direct-Cypher bookkeeping for issue 129testspassed in 4m50s: https://github.com/graphistry/tck-gfql/actions/runs/25998264571/job/76416567973Scope/result:
match5-8andwith5-2from direct-Cyphersuccess_matches_expectednon-validation debt into row support bookkeeping.with5-2from the row-pipeline tranche-2 xfail lane.PR-head receipts:
928 (rows 789, errors 139)2888 / 3627supported 2905,xfail 7220shown: 0 / 04011 passed, 722 xfailedBecause the tck-gfql change is not merged yet, leaving this metaissue open for now. After PR #134 lands, pygraphistry#1353 should be closable from the direct-Cypher non-validation/wrong-row tracking perspective.
lmeyerov commentedon May 17, 2026
tck-gfql#129 has landed via graphistry/tck-gfql#134.
b78ffd4aa90dced98796bf231717683c27fae7492026-05-17T18:49:05Ztestspassed in 4m50s: https://github.com/graphistry/tck-gfql/actions/runs/25998264571/job/76416567973Final result:
match5-8andwith5-2from direct-Cyphersuccess_matches_expectednon-validation debt into row support bookkeeping.0; sweepshown: 0 / 0.lmeyerov commentedon May 17, 2026
#1490 is complete.
5ddf66f9a947a184009bad1c0c23b7744ec66dca.fccb5a46627f888802423a21600e434ecba8f4d8.idproperty with internal graph node identity for the fixed lowering paths.Any remaining metaissue planning should refresh from current
master/TCKmain; the old pre-#1490 drift snapshot is stale.lmeyerov commentedon May 17, 2026
Closeout update for IC4 direct-Cypher residual: pygraphistry#1502 merged at 3c5af8e and closed #1496.
Receipts: local pandas/regression subset, ruff/typecheck/diff-check, DGX RAPIDS 25.02 + 26.02 targeted cuDF regression, and full PR CI are green. tck-gfql initially failed due stale match7-24 xfail contract; graphistry/tck-gfql#135 landed on main and duplicate graphistry/tck-gfql#136 was closed as superseded, after which tck-gfql CI passed.
Remaining benchmark gate: graphistry/pyg-bench#4 needs a fresh IC4/new-topics rerun on latest pygraphistry master to confirm direct-Cypher ok / expected tag rows / cleared #1496 issue refs.
lmeyerov commentedon May 18, 2026
Coverage/deletion support update:
961be820b41ef6585a9d3265ba57f82ee5a6f9b0.bin/coverage_audit.py --profile gfqlrunner provides CPU CI artifacts and DGX RAPIDS 25.02 / 26.02 coverage lock-in support for GFQL cleanup triage.Current follow-up split:
Baseline receipts from #1518:
11984/15136 = 79.18%.6209/15136 = 41.02%.6218/15136 = 41.08%.lmeyerov commentedon May 19, 2026
Meta sync for #1533 / PR #1535:
4cfda5d968546595937e29c44116e9dbbcd0f024.8121232c16dcdd36b8b25e8bacfb598b56e1439b.master.test-minimal-pythonstays at 5 minutes and uninstrumented,test-core-python (3.14)emits the general coverage artifact, GFQL py3.12 emits the GFQL artifact, andchanged-line-coverageis a 5-minute combiner/gate.Queue implication: #1533 should move from follow-up split/open work to completed infrastructure. Continue to treat #1522 as the deletion lane and #1534 as the GFQL audited-target coverage uplift lane; #1533 adds changed-line PR hygiene only.