You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Concrete tranche from meta-issue #1353 item #2 — Temporal comparison / canonicalization. Drives down 14 `success_wrong_rows` cases under `expressions/temporal` to `success_matches_expected` without growing `unexpected_success_expected_error`.
Targets:
`expr-temporal2-6-5`
`expr-temporal6-6-2`, `expr-temporal6-6-8`
`expr-temporal7-1-1`, `expr-temporal7-1-2`
`expr-temporal7-2-1`, `expr-temporal7-2-2`
`expr-temporal7-3-1`, `expr-temporal7-3-2`
`expr-temporal7-4-1`, `expr-temporal7-4-2`
`expr-temporal7-5-1`, `expr-temporal7-5-2`
`expr-temporal7-6-8`
Approach
Triage first — for each scenario, capture: actual rows, expected rows, root-cause hypothesis (compile vs. row-pipeline temporal comparator vs. fixture-parser limitation), candidate fix locus. Findings live under `plans/1361-temporal-wrong-rows/findings/` (gitignored).
Decide ordering after triage. Prefer one issue / one branch / one or two clean commits over a PR stack to limit management overhead.
Implement fixes with behavioral tests under `graphistry/tests/compute/gfql/...` and contract update in tck-gfql `tests/cypher_tck/direct_cypher_xfail_contract.py`.
Use repo-local review skill (`agents/skills/review/SKILL.md`); iterate until convergence.
cuDF dual-version validation on `dgx-spark` (RAPIDS 25.02 + 26.02) only if changes touch row-pipeline runtime path; skip for compile-time-only.
Item #1's 14 wrong-row cases all bottomed out as tck-gfql repo bugs (parser stored list literals as strings; `_rows_ordered` ignored "in any order"). Tracked in tck-gfql#36. Temporal values survive `_parse_properties` cleanly (string literal in CREATE → string in df, which GFQL handles natively), so this tranche is more likely to contain real pygraphistry semantic bugs.
The `_rows_ordered` fix in tck-gfql#36 will likely incidentally clear some of these scenarios too — re-snapshot after that lands.
Acceptance criteria
14 listed scenarios move from `success_wrong_rows` → `success_matches_expected`.
`unexpected_success_expected_error` does not increase.
`tck-gfql` focused contract checks remain green.
Existing `graphistry/tests/compute/gfql/...` suite remains green.
10 <gt> placeholder cases via tck-gfql#38 work: expr-temporal7-{1..5}-{1,2}
1 of 14 deferred: expr-temporal2-6-5 — historical timezone offset for Stockholm 1818 (pygraphistry IANA tzdata says +01:12:12; openCypher TCK expects +00:53:28). Niche pre-1879 LMT case; not worth a fix here. If needed, file a fresh pygraphistry issue at that point.
Activity
fix(gfql/cypher): preserve openCypher Duration components through toS…
lmeyerov commentedon May 9, 2026
Closed by pygraphistry #1364 (squash
f7767a3e) + tck-gfql#39 (squashc31a9a6) + tck-gfql#38 follow-up.Outcome of the 14-case tranche under #1353 item #2:
success_matches_expectedin tck-gfql contract:expr-temporal6-6-2,expr-temporal6-6-8,expr-temporal7-6-8<gt>placeholder cases via tck-gfql#38 work:expr-temporal7-{1..5}-{1,2}expr-temporal2-6-5— historical timezone offset for Stockholm 1818 (pygraphistry IANA tzdata says+01:12:12; openCypher TCK expects+00:53:28). Niche pre-1879 LMT case; not worth a fix here. If needed, file a fresh pygraphistry issue at that point.Closing this tracker.