Repository navigation
Meta: GFQL compiler/planner post-M4 execution DAG (active wave) #1259
Copy link
Copy link
Open
Labels
Description
Summary
Post-M4 GFQL compiler/planner execution DAG meta-tracker.
Completed Active Lanes
- [FEA] GFQL bindings_table (row bindings) from chain using Yannakakis prune #880 residual split and benchmark closeouts are complete.
- graphistry/pyg-bench#11/edge colors can't be set #12/Bind call required before most others #19/print out current set of bindings #20/Cannot bind nodes/edges in Plotter #18 and associated PRs are complete.
- Test hardening: replace direct cuDF .to_pandas().to_dict() conversions in GFQL lowering tests #1439, D4 prep: native physical dispatch coverage needed to retire GFQL compat executor #1441, GFQL deprecated validation API removal policy and release gate #1440, 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 row pipeline: cuDF host-bridge gap in order_by + test placement debt for compute/gfql/row/ (follow-ups from #1362/#1359) #1373, [FEA] Cypher binder: enable strict-name-resolution to centralize alias-scope enforcement #1357 are complete.
- [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 deletion wave is closed as revised/de-scoped after D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 / GFQL compat-executor reachability shrink #1467.
- GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471 reentry compiletime lowering-symbol shim deletion is complete via Remove Cypher reentry compiletime lowering shim #1474.
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 via fix(cypher): temporal historical canonicalization/comparison tranche #1409
- [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 via Reject invalid Direct-Cypher toString list items #1434 + Update direct Cypher string/typeconversion contract tck-gfql#104
- GFQL/Cypher: temporal wrong-row follow-up (11 remaining, #1353 item #2) #1374 via Add Temporal7 temporal comparison regressions #1442 + Promote expr-literals6-5 direct Cypher contract tck-gfql#110
- Tranche: Comparison/list/null wrong-row semantics (14 cases) under #1353 #1367 via Fix empty post-aggregate list projection #1445 + Promote empty aggregate direct Cypher rows tck-gfql#109
- Tranche: mixed wrong-row tail cleanup under #1353 #1369 via [codex] Fix Cypher zero-hop and empty post-aggregate rows #1443 + Promote match5-8 direct Cypher contract tck-gfql#112
- Tranche: Literals/string/type-conversion wrong-row semantics under #1353 #1368 issue-only closeout
- Direct-Cypher residual: pattern predicate wrong rows under #1369 #1449 via Fix Cypher pattern predicate row expansion #1451 + Rebaseline pattern predicate direct-Cypher contract tck-gfql#117
- Direct-Cypher residual: string list-index expected-error drift under #1369 #1450 via fix(gfql): reject scalar string integer subscripts #1452 + Rebaseline string index expected-error drift tck-gfql#116
- 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
- GFQL/Cypher: audit and broaden cuDF coverage for temporal comparisons #1446 via Broaden cuDF temporal comparison coverage #1447
Remaining support:
- Direct-Cypher promotion bookkeeping for match5-8 and with5-2 tck-gfql#129 — final promotion/accounting sidecar for
match5-8+with5-2
Closed Large Deletion Wave
- [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 closed/revised 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 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 via Remove pre-strict Cypher binder guards #1432
- [DEL] D3 remove stale reentry failfast scaffolding #1421 via [codex] Remove stale reentry failfast scaffolding #1433
- D4 prep: native physical dispatch coverage needed to retire GFQL compat executor #1441 via Add native physical dispatch for planned GFQL routes #1448
- GFQL deprecated validation API removal policy and release gate #1440 deprecated validation API policy gate
- D5 prep: inventory remaining compat executor fallbacks and CALL route decision #1455 via Route Cypher CALL through physical dispatch #1458
- D6 deletion prep: native route for simple top-level OPTIONAL MATCH fallback #1460 via Route simple OPTIONAL MATCH through native physical dispatch #1463
- D7 deletion prep: native route for OPTIONAL MATCH reentry fallback #1461 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 via Remove Cypher reentry compiletime lowering shim #1474 removed the reentry compiletime lowering-symbol shim and added guards against broad shim reintroduction.
Final deletion-wave receipt:
_execute_compiled_query_compat_non_union()is deleted.- Projection-level
WITH/RETURN DISTINCTnow plans natively through logicalDistinct. - Remaining safe deletion surface did not approach the original >=2K LOC target; D8 source delta was net
-24. - Coordinator decision: treat the original [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 LOC target as revised/de-scoped. New deletion work needs a new concrete target.
Next Dispatch
- feat(gfql): add public declarative schema model #1457/GFQL type system follow-on A: public declarative schema model + stable exports #1337 is already active in
/home/lmeyerov/Work/pygraphistry5; review/merge only. - Typed schema follow-ons (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) are a separate stack.
- Direct-Cypher promotion bookkeeping for match5-8 and with5-2 tck-gfql#129 for
match5-8/with5-2promotion bookkeeping only. - Do not assign [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419/D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466/GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471 further; all are closed for this wave.
Coordination Metas
Reactions are currently unavailable
Activity
lmeyerov commentedon May 5, 2026
Status update for active #1262 lane: T1 slice #1296 is implemented in PR #1298 (https://github.com/graphistry/pygraphistry/pull/1298).\n\nChecks are green (including tck-gfql/docs). Pending merge.
lmeyerov commentedon May 5, 2026
Execution lane update: #1296 is now merged via PR #1298\nhttps://github.com//pull/1298\n\nMerge commit: 559bdc7\n\nStatus: T1 schema-contract/canonical-naming lane complete; downstream lanes can build on the stabilized schema surface.
lmeyerov commentedon May 5, 2026
Lane update: #1302 (T2 under #1262) has landed via PR #1308.\n\nMerge receipt:\n- merged to master on 2026-05-05\n- merge commit: a23c34c\n- checks green at merge time (including tck-gfql + ReadTheDocs)\n\nActive type-system lane now shifts to #1300 (T3) under #1262.
lmeyerov commentedon May 6, 2026
Landed update: #1320 completed via #1321 (master cd1f3c8). Active children under #1262 should now be T4 (#1312) then T5 (#1311).
lmeyerov commentedon May 7, 2026
Coordination note: opened #1046 follow-on child slices for remaining public-surface work:\n- #1337 (public declarative schema model)\n- #1338 (schema inference + typed topology)\n- #1339 (public schema↔Arrow/plottable APIs)\n\nThese are scoped as post-#1262 lanes and can be scheduled in this DAG as independent execution slices.
lmeyerov commentedon May 7, 2026
Coordination update: PR #1340 was closed as no-op (empty net diff after removing a throwaway scoping file).\n\nNo code/docs contract changes landed from that PR. Execution planning for #1046 follow-on remains tracked in child issues:\n- #1337\n- #1338\n- #1339
lmeyerov commentedon May 7, 2026
Status update: #989 has landed via merged PR #1344 () on 2026-05-07.\n\nIn this execution DAG, can be moved from active lanes to completed/recently-landed.\n\nPR #1344 checks are green (including and docs/readthedocs).
lmeyerov commentedon May 7, 2026
Correction/update (clean formatting):
Issue #989 has landed via merged PR #1344 (commit a8c9397) on 2026-05-07.
In this execution DAG, #989 can move from active lanes to completed/recently-landed.
PR #1344 checks are green, including tck-gfql and docs/readthedocs.
lmeyerov commentedon May 7, 2026
Execution DAG sync for #1046 follow-on work: added lane D #1345 (API contract alignment matrix + compatibility policy).\n\nScheduling intent:\n- A/B/C (#1337/#1338/#1339) are executable independently with local tests.\n- D is parallel/non-blocking and focuses on cross-lane contract drift + compatibility policy.
lmeyerov commentedon May 7, 2026
Coordination update: PR #1347 is green and lands the #1046 post-#1262 narrowing map (A/B/C + parallel non-blocking D #1345) in GFQL maintainer docs for execution clarity.
lmeyerov commentedon May 7, 2026
Status update: PR #1346 (child #1342 under umbrella #880) is green. Scope admits bounded ordered top-k MATCH re-entry (
WITH ORDER BY ... LIMIT <literal>) with tests/changelog; guard remains for unbounded ORDER and parameterized LIMIT. No additional residual split needed from this slice.lmeyerov commentedon May 11, 2026
Execution DAG update for #1412: PR #1425 merged on 2026-05-11 UTC with pygraphistry-side native GFQL row-shaping coverage for the IC8
recent-repliesand IS7message-repliesreply-author shapes: #1425Leaving #1412 open in the active #880 lane until
pyg-benchremoves the adapter-local joins and a fresh residual report confirms these lanes no longer emitgfql partialundergraphistry/pygraphistry#880.lmeyerov commentedon May 11, 2026
Execution DAG update for #1416: PR #1423 merged on 2026-05-11 UTC with pygraphistry-side native GFQL regression coverage for the IS6 /
message-forumrecursive ancestor row-join lane:#1423
Merge commit:
fdd0f84bc8c0c03a59cb164514a96784cbe1c76dThe covered case is the zero-hop
Postinput throughREPLY_OF*0.., where the post ancestor must bind before joining forum/moderator rows.Leaving #1416 open in the active #880 lane until
pyg-benchremoves or bypasses the adapter-local recursive ancestor join fallback and a fresh residual report confirms this bucket no longer emitsgfql partialundergraphistry/pygraphistry#880.lmeyerov commentedon May 11, 2026
#1412 pyg-bench closeout receipt
216b11370f132581e340cbef1c740de30a136cb9rows()so these lanes stop being#880-attributed reply-author adapter-workaround partials after merge.Validation:
103 passed28 passed2 passedgit diff --check: cleanRerun attempt:
snb-interactive-0691677af8:adapter_missing, no probes; missing pinned upstream Cypher query path and SF1 dataset in this fresh pyg-bench checkout.snb-interactive-9645ae5af8:adapter_missing, no probes; same missing upstream/SF1 dataset blocker.Remaining gate: merge graphistry/pyg-bench#9 and rerun residuals on a fully staged benchmark environment before closing #1412 or clearing the #880 umbrella.
21 remaining items
lmeyerov commentedon May 16, 2026
#1460 planner/execution-DAG lane landed via #1463
Merge commit:
945777177ee502c67f839a89645092ea562210d0Compiler/planner impact:
LogicalPlannernow admits the simple input-free first-clauseOPTIONAL MATCHshape.PatternMatch(optional=True, arm_id="top_level_optional_0").same_path; runtime uses the existing chain path and no longer uses generic compat for this shape._attach_logical_plan_route()keeps optional reentry deferred, so broader optional planning remains a future lane.Validation:
tck-gfql.lmeyerov commentedon May 16, 2026
#1461 execution-DAG closeout
PR #1462 merged: #1462
061326273ad2ad137273d0c006851984cf461649ef8951a642563d7d8fcd2a594febd349108166c2tck-gfql.Execution-DAG body updated:
lmeyerov commentedon May 16, 2026
Coordinator dispatch update: filed #1466 as D8 for #1419 final deletion/shrink closeout.
The execution-DAG/deletion priority is now #1466: re-audit
_execute_compiled_query_compat_non_union()reachability after #1448/#1458/#1463/#1462, then delete/shrink or revise the 2K LOC target. Treat typed schema (#1337/#1338/#1339/#1465/#1464) as a separate PR stack unless explicitly reprioritized.lmeyerov commentedon May 16, 2026
Coordinator sync: refreshed body to current #1353 and #1419 state.
/home/lmeyerov/Work/pygraphistry5for review/merge only.lmeyerov commentedon May 17, 2026
Execution-DAG sync after #1466 / PR #1467 merged:
bccf9f4789625854446811db8c57b15c1796999e9e64f337_execute_compiled_query_compat_non_union()is deleted.WITH/RETURN DISTINCTnow has native logical planning throughDistinct.Validation:
38 passed983 passed, 12 skipped, 112 deselected2377 passed, 22 skipped, 15 xfailed2377 passed, 22 skipped, 15 xfailedtck-gfqlrunsExecution-DAG implication:
-24, so the original >=2K LOC target should not remain an active dispatch target.lmeyerov commentedon May 17, 2026
Execution-DAG catch-up after #1467:
bccf9f4789625854446811db8c57b15c1796999e)./home/lmeyerov/Work/pygraphistry5; the next implementation issues are the typed-schema stack after that PR is reviewed/merged.lmeyerov commentedon May 17, 2026
Deletion-wave closeout update:
#1419 is closed/de-scoped after #1466/#1467. The compat-executor wrapper deletion is done; future code-deletion workers should target new concrete surfaces, not #1419/#1466.
lmeyerov commentedon May 17, 2026
New deletion-focused pygraphistry dispatch set:
These are concrete successor surfaces after #1419/#1466 closure. They are not replacements for #1457/#1337, which is already active in
/home/lmeyerov/Work/pygraphistry5.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
Execution DAG sync for #1478 / PR #1487:
c7d73c762ba9a26c1266ecb93c100e0fa242b785non_top_level_optional_matchfallback bucket is retired and removed from the approved chain-fallback set.tck-gfql/mainby Align direct-Cypher contract for pygraphistry #1489 tck-gfql#133; Promote with5-2 direct cypher xfail tck-gfql#128 rebased empty/closed.ruff/typecheck, DGX RAPIDS 25.02/26.02 focused GFQL, and PR CI all green.Tracker implication: #1486 is now blocked by the remaining #1495 path-alias carry residual and any #1469 decision; #1478 needs no further worker.
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 / #1504 has landed, with paired TCK accounting merged in graphistry/tck-gfql#135.
Coordinator note for this metaissue: the direct-Cypher hardcoded-node-identity blocker is no longer open. Future direct-Cypher cleanup should use the post-merge pygraphistry
master+ tck-gfqlmainsnapshot, because #129 promotions (match5-8,with5-2) and #1490 residual drift are both now represented in TCK.lmeyerov commentedon May 17, 2026
Closeout update for IC4 direct-Cypher residual: pygraphistry#1502 merged at 3c5af8e and closed #1496.
Validation is complete: local targeted/regression subset, ruff/typecheck/diff-check, DGX RAPIDS 25.02 + 26.02 targeted cuDF regression, and full PR CI green. tck-gfql was reconciled via graphistry/tck-gfql#135; duplicate/conflicting graphistry/tck-gfql#136 was closed.
Next action remains benchmark-side only: graphistry/pyg-bench#4 rerun against latest pygraphistry master to prove IC4/new-topics direct-Cypher conformance clears.