Skip to content

fix(gfql): preflight remote engine requests - #2005

Open
lmeyerov wants to merge 7 commits into
masterfrom
fix/gfql-1957-remote-engine-preflight
Open

fix(gfql): preflight remote engine requests#2005
lmeyerov wants to merge 7 commits into
masterfrom
fix/gfql-1957-remote-engine-preflight

Conversation

@lmeyerov

@lmeyerov lmeyerov commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • share remote-engine preflight between gfql_remote() and python_remote()
  • preserve explicit pandas/cuDF requests unchanged in the request body
  • reject unsupported explicit engines with typed E405 before auth refresh, upload, or POST, with an accurate engine-specific diagnostic

This fixes the remaining #1957 explicit-engine honesty and side-effect contract. AUTO remains a permitted mode switch under the campaign ruling, and #1974 already handled unsupported Polars-backed frames before transport.

Validation

  • six focused mocked remote modules: 116 passed, 2 expected local skips
  • explicit-engine contract matrix: 8 passed
  • Ruff clean
  • mypy clean across 334 source files
  • no live remote service, Docker, DGX, or GPU was used

Closes #1957

Reviewer handoff

Queue position: 7 of 7. Reviews are nonblocking; no campaign PR will be merged by the branch-development agent.

Exact state: finalized stacked head 6852c5a0c087ee0ef4458a15f5e19037114fc78b; authoritative CI state is the GitHub Checks panel.

Reviewer decisions:

  1. Confirm both public remote APIs resolve unsupported explicit engines before auth refresh, upload, or POST.
  2. Confirm explicit pandas and cuDF values reach the request body unchanged.
  3. Confirm AUTO behavior is intentionally unchanged and remains governed by the campaign ruling.
  4. Confirm E405 carries accurate API, field, value, and suggestion context.

Dependencies and overlap: contains finalized predecessor #2004 and is the stack tip. Prior changed-file overlaps are already merged conflict-free in the stack.

Safe local reproduction:

python -m pytest -q graphistry/tests/compute/test_remote_engine_contract.py graphistry/tests/compute/test_remote_csv_fidelity.py graphistry/tests/compute/test_remote_error_surface.py graphistry/tests/compute/test_chain_remote_v2.py graphistry/tests/compute/test_python_remote_code_normalization.py graphistry/tests/test_chain_remote_auth.py
./bin/ruff.sh
./bin/typecheck.sh

Stack / landing

Position: 7 of 7. Predecessor: #2004. Successor: none (stack tip).

Landing rule: keep the PR base as master and land #1999#2000#2001#2002#2003#2004#2005 using GitHub Create a merge commit only. Do not squash or rebase: each later head contains its predecessor's ancestry. The branch-development agent will not merge.

Review model: review this PR's incremental change against its predecessor out of band; review does not block preparation of the remaining queue.

Final validation: two consecutive no-advance review waves; clean incremental diffs; Ruff and added-code typing/comment ratchets green; 1,361 selected local CPU tests passed. Guarded DGX validation passed 164 whole-entity/multiplicity tests, 8 binding-seed tests, and 69 aggregate-selector tests (425 deselected), with exact-source, cuDF 26.02, NVRTC, and Polars-GPU canaries. Direct review found no added prohibited typing, dynamic-attribute, or hygiene escapes.

Comment thread graphistry/compute/chain_remote.py
Comment thread graphistry/compute/python_remote.py
Comment thread graphistry/compute/remote_df_io.py

@lmeyerov lmeyerov left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should enable polars, polars-gpu engines on backend

This pr feels a bit bigger than expected...

@lmeyerov
lmeyerov force-pushed the fix/gfql-1937-cross-kind-with-rebind branch 2 times, most recently from 6605296 to dd044ea Compare August 28, 2026 15:38
@lmeyerov
lmeyerov force-pushed the fix/gfql-1957-remote-engine-preflight branch from 6852c5a to 55161a1 Compare August 29, 2026 09:01
@lmeyerov
lmeyerov changed the base branch from fix/gfql-1937-cross-kind-with-rebind to master August 29, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant