Repository navigation
Meta: GFQL compiler/planner post-M4 execution DAG (active wave) #1259
Description
Activity
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.
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.
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.
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.
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.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:
#1423Merge 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.#1412 pyg-bench closeout receipt
- No new issue was filed; work is continuing directly under [POST-RERUN] #880 residual: reply-author row-shaping bucket #1412.
- Draft implementation PR: graphistry/pyg-bench#9 https://github.com/graphistry/pyg-bench/pull/9
- Commit:
216b11370f132581e340cbef1c740de30a136cb9 - Scope: remove the IC8 adapter-local reply-author join and move IC8/IS7 reply-author projection to native GFQL
rows()so these lanes stop being#880-attributed reply-author adapter-workaround partials after merge.
Validation:
- pyg-bench full tests:
103 passed - focused pyg-bench SNB runner tests:
28 passed - pygraphistry [POST-RERUN] #880 residual: reply-author row-shaping bucket #1412 native row-shaping regressions:
2 passed - YAML parse check: ok
git diff --check: clean
Rerun attempt:
- IC8 run id
snb-interactive-0691677af8:adapter_missing, no probes; missing pinned upstream Cypher query path and SF1 dataset in this fresh pyg-bench checkout. - IS7 run id
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
#1460 planner/execution-DAG lane landed via #1463
Merge commit:
945777177ee502c67f839a89645092ea562210d0Compiler/planner impact:
LogicalPlannernow admits the simple input-free first-clauseOPTIONAL MATCHshape.- Planned form is
PatternMatch(optional=True, arm_id="top_level_optional_0"). - Physical planning routes it through
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:
- Local targeted + broad pandas GFQL passed.
- DGX RAPIDS 25.02/26.02 full GFQL GPU/cuDF passed.
- GitHub CI green, including
tck-gfql. - Review skill loop converged with no carried findings.
#1461 execution-DAG closeout
- Merge commit:
061326273ad2ad137273d0c006851984cf461649 - Optional reentry native route is landed and covered.
- Final PR head:
ef8951a642563d7d8fcd2a594febd349108166c2 - Validation: local focused optional-reentry suite green, DGX RAPIDS 25.02/26.02 exact cuDF amplification green, PR CI green including
tck-gfql.
Execution-DAG body updated:
- D7 deletion prep: native route for OPTIONAL MATCH reentry fallback #1461 marked complete under [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419.
- D1-D7 deletion-prep children are all closed.
- Next dispatch should not be another deletion worker until a [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 coordinator pass re-audits compat-executor reachability and decides final deletion/shrink vs 2K target revision/de-scope.
- Merge commit:
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.Coordinator sync: refreshed body to current #1353 and #1419 state.
- Meta: Prioritized direct-Cypher wrong-row bugfix tranches (92 cases) #1353 residual debt is now 2 after Reconcile Match5 direct-Cypher fixtures tck-gfql#124.
- Direct-Cypher residual: reconcile match5-25/26 fixture or contract tck-gfql#114 is complete; Direct-Cypher residual: reconcile with2-1 setup/join contract tck-gfql#115 remains support-only.
- D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 is now the main [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 deletion-wave dispatch item.
- feat(gfql): add public declarative schema model #1457/GFQL type system follow-on A: public declarative schema model + stable exports #1337 remains already active in
/home/lmeyerov/Work/pygraphistry5for review/merge only.
Execution-DAG sync after #1466 / PR #1467 merged:
- D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 closed via GFQL compat-executor reachability shrink #1467
- Merge commit:
bccf9f4789625854446811db8c57b15c1796999e - Final head:
9e64f337 _execute_compiled_query_compat_non_union()is deleted.- Projection-level
WITH/RETURN DISTINCTnow has native logical planning throughDistinct. - Runtime route tests now assert native physical planner routes directly.
Validation:
- Local targeted GFQL planner/runtime:
38 passed - Local broad non-cuDF GFQL selection:
983 passed, 12 skipped, 112 deselected - DGX RAPIDS 25.02 GFQL/cuDF:
2377 passed, 22 skipped, 15 xfailed - DGX RAPIDS 26.02 GFQL/cuDF:
2377 passed, 22 skipped, 15 xfailed - GitHub CI green, including both
tck-gfqlruns - Review skill converged after 2 clean waves
Execution-DAG implication:
- [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 D1-D8 deletion wave is complete and revised/de-scoped.
- Final D8 source delta was net
-24, so the original >=2K LOC target should not remain an active dispatch target. - 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 further; file a new concrete issue if a future reachable deletion surface appears.
Execution-DAG catch-up after #1467:
- D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 / D8 is complete via merged PR GFQL compat-executor reachability shrink #1467 (
bccf9f4789625854446811db8c57b15c1796999e). - Do not dispatch another worker to D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466.
- [META] GFQL deletion wave: remove 2K+ LOC of obsolete compatibility paths #1419 now needs final coordinator closeout/accounting: aggregate LOC receipt or explicit >=2K target revision/de-scope.
- No open pyg-bench or tck-gfql PR is blocking the pygraphistry wave.
- feat(gfql): add public declarative schema model #1457/GFQL type system follow-on A: public declarative schema model + stable exports #1337 remains the only active GFQL pygraphistry PR and is already claimed in
/home/lmeyerov/Work/pygraphistry5; the next implementation issues are the typed-schema stack after that PR is reviewed/merged.
- D8 final GFQL compat-executor reachability audit and deletion/shrink decision #1466 / D8 is complete via merged PR GFQL compat-executor reachability shrink #1467 (
New deletion-focused pygraphistry dispatch set:
- GFQL deletion: retire residual unplanned Cypher chain-execution fallback #1468 — residual unplanned Cypher chain-execution fallback.
- GFQL deletion: shrink row-pipeline string-expression fallback for map/list AST values #1469 — row-pipeline map/list AST fallback shrink.
- GFQL deletion: carry spans on primitive Cypher literals and remove boolean text fallback #1470 — Cypher primitive literal span fallback deletion.
- GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471 — reentry compiletime lowering-symbol shim deletion.
- GFQL deletion: remove obsolete M1 differential scaffold legacy-baseline tests #1472 — M1 differential scaffold legacy-baseline deletion.
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.Meta sync for #1471:
- GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471 is closed by merged PR Remove Cypher reentry compiletime lowering shim #1474.
- Merge commit:
423a586e04e03e3bef4e528838e0816d0a8318af. - Receipt: reentry compiletime broad lowering-symbol shim removed; explicit imports added; split/entrypoint guards added; local, DGX RAPIDS 25.02/26.02, review-skill, and CI validation all green.
- Dispatch state: no further GFQL deletion: remove Cypher reentry compiletime lowering-symbol shim #1471 worker needed.
Fresh #1353 sync:
- pygraphistry
origin/master:592e34a66e40b79f79029d1620911f63158c99ed - tck-gfql
main:0fbaa42eb36c047370b6d8dd0337c8a5996c6f32 python -m tests.cypher_tck.report: tracked non-validation debt 1;success_matches_expected1 (match5-8);success_wrong_rows0;unexpected_success_expected_error0- focused report/contract tests:
13 passed in 2.55s - broader direct-Cypher xfail contract found
with5-2now returns expected rows while contract expectsGFQLValidationError
No 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.- pygraphistry
Execution DAG sync for #1478 / PR #1487:
- GFQL deletion: native-plan non-top-level OPTIONAL MATCH fallback bucket #1478 closed via merged PR fix(gfql): plan non-top-level optional match #1487: fix(gfql): plan non-top-level optional match #1487
- Merge commit:
c7d73c762ba9a26c1266ecb93c100e0fa242b785 - The
non_top_level_optional_matchfallback bucket is retired and removed from the approved chain-fallback set. - TCK dependency was already resolved on
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. - Validation: local focused GFQL tests,
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.
tck-gfql#129 follow-up is open and green:
- PR: Promote direct-Cypher bookkeeping for match5-8 and with5-2 tck-gfql#134
- Branch:
fix/direct-cypher-bookkeeping-129 - Commit:
8f8aaca Promote direct-Cypher bookkeeping for issue 129 - GitHub CI:
testspassed in 4m50s: https://github.com/graphistry/tck-gfql/actions/runs/25998264571/job/76416567973
Scope/result:
- Promoted
match5-8andwith5-2from direct-Cyphersuccess_matches_expectednon-validation debt into row support bookkeeping. - Moved both keys into promoted-from-xfail history.
- Removed
with5-2from the row-pipeline tranche-2 xfail lane. - No pygraphistry runtime changes were needed.
- No pygraphistry#1490 blocker was found.
PR-head receipts:
- promoted-only direct-Cypher:
928 (rows 789, errors 139) - direct-Cypher total:
2888 / 3627 - status accounting:
supported 2905,xfail 722 - tracked non-validation debt:
0 - non-validation sweep:
shown: 0 / 0 - local full CI:
4011 passed, 722 xfailed
Because 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.
tck-gfql#129 has landed via graphistry/tck-gfql#134.
- Merge commit:
b78ffd4aa90dced98796bf231717683c27fae749 - Merged at:
2026-05-17T18:49:05Z - GitHub CI before merge:
testspassed in 4m50s: https://github.com/graphistry/tck-gfql/actions/runs/25998264571/job/76416567973
Final result:
- Promoted
match5-8andwith5-2from direct-Cyphersuccess_matches_expectednon-validation debt into row support bookkeeping. - Direct-Cypher non-validation debt is now zero: report tracked debt
0; sweepshown: 0 / 0. - No pygraphistry runtime change was needed.
- No pygraphistry#1490 blocker was found.
- pygraphistry#1353 was closed from the direct-Cypher non-validation/wrong-row tracking perspective after the tck-gfql PR landed.
- Merge commit:
#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.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.
Summary
Post-M4 GFQL compiler/planner execution DAG meta-tracker.
Completed Active Lanes
Direct-Cypher Residual Cleanup (#1353)
Fresh #1353 snapshot after graphistry/tck-gfql#125, against pygraphistry
592e34a6+ tck-gfql0fbaa42e:success_matches_expected: 1 (match5-8bookkeeping)success_wrong_rows: 0unexpected_success_expected_error: 0with5-2now returns expected rows while its direct-Cypher xfail contract still expectsGFQLValidationErrorCompleted:
Remaining support:
match5-8+with5-2Closed Large Deletion Wave
Post-#1419 concrete deletion follow-up:
Final deletion-wave receipt:
_execute_compiled_query_compat_non_union()is deleted.WITH/RETURN DISTINCTnow plans natively through logicalDistinct.-24.Next Dispatch
/home/lmeyerov/Work/pygraphistry5; review/merge only.match5-8/with5-2promotion bookkeeping only.Coordination Metas