Skip to content

GFQL deprecated validation API removal policy and release gate #1440

Description

@lmeyerov

Summary

Follow-up from #1419 audit: decide whether and when to remove the deprecated public GFQL validation API surface.

This is a public API / compatibility decision, not a narrow deletion worker lane.

Audit finding

Current pygraphistry master inspected at 8b83f8db:

  • graphistry/compute/gfql/validate.py is deprecated but still ~684 LOC.
  • It is re-exported from:
    • graphistry.compute.gfql
    • graphistry.compute.gfql_validation
  • Tests still import and pin it:
    • graphistry/tests/compute/test_validate.py
    • graphistry/tests/compute/test_gfql_validation.py
  • Removing it would be a user-facing API break, not just internal cleanup.

Scope

  1. Decide policy:
    • keep indefinitely,
    • warn harder and schedule removal,
    • move behind compatibility package,
    • or delete in next major release.
  2. If removal is approved, define the release/version gate and migration note.
  3. Only then file a code deletion PR.

Done when

Related

Activity

  1. lmeyerov commented on May 15, 2026

    @lmeyerov
    ContributorAuthor

    #1440 policy decision / closeout receipt

    Decision: removal is not approved for this deletion wave.

    Rationale:

    • Current master at f8d02053 still exposes this as public compatibility API:
      • graphistry/compute/gfql/validate.py remains a deprecated public module.
      • graphistry.compute.gfql re-exports its symbols.
      • graphistry.compute.gfql_validation remains a deprecated compatibility import package.
    • Tests still pin both import surfaces:
      • graphistry/tests/compute/test_validate.py
      • graphistry/tests/compute/test_gfql_validation.py
    • Removing it would be a user-facing import/API break, not cleanup-only deletion.

    Policy outcome:

    Validation/review receipts:

    • Branch based on latest origin/master: f8d02053d5501565bef65befb469d2f7ddd85afb.
    • Focused compatibility tests: python3 -m pytest -q graphistry/tests/compute/test_validate.py graphistry/tests/compute/test_gfql_validation.py → 37 passed.
    • git diff --check: clean.
    • Review-skill loop: converged after 2 local waves, 0 blocker / 0 important findings.
    • DGX/RAPIDS: not applicable; no code or cuDF/GPU path changed.

    Meta trackers to sync: #1419, #1259, #992.

  2. lmeyerov commented on May 15, 2026

    @lmeyerov
    ContributorAuthor

    Closed per policy decision receipt above: removal is not approved for this deletion wave, no code deletion PR, and the deprecated public validation surface is excluded from #1419 deletion math unless future release-gated approval lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions