Summary
The Cypher reentry extraction still preserves behavior through a broad compatibility shim: graphistry/compute/gfql/cypher/reentry/compiletime.py imports cypher.lowering and runs globals().update(vars(_lowering)) so extracted functions can keep using lowering-private symbols.
That was useful during the S3/#1260 split, but it is now a concrete deletion/refactor surface.
Current evidence
On current origin/master:
graphistry/compute/gfql/cypher/reentry/compiletime.py says it preserves behavior and compatibility via lowering-level shims.
- The module does
from graphistry.compute.gfql.cypher import lowering as _lowering and globals().update(vars(_lowering)).
graphistry/compute/gfql/cypher/lowering.py still comments that reentry helpers are re-exported there for compatibility.
Goal
Make reentry compiletime explicit and self-contained enough to delete the broad symbol-table shim and any stale lowering-level reexports that are no longer needed.
Scope
- Identify all symbols from
lowering that reentry/compiletime.py really uses.
- Replace
globals().update(vars(_lowering)) with explicit imports or local helpers.
- Remove stale reexports/import compatibility comments where tests show no public need.
- Keep behavior identical for bounded reentry compilation.
- Update split-guard tests so future broad symbol-table shims are caught.
Out of scope
Acceptance
- No
globals().update(vars(_lowering)) shim remains in reentry compiletime.
- Any remaining lowering-level compatibility reexports are justified by tests or removed.
- Focused reentry/lowering tests pass.
- Broad GFQL and
tck-gfql CI pass; run DGX GFQL/cuDF if changed code reaches runtime.
Related
Summary
The Cypher reentry extraction still preserves behavior through a broad compatibility shim:
graphistry/compute/gfql/cypher/reentry/compiletime.pyimportscypher.loweringand runsglobals().update(vars(_lowering))so extracted functions can keep using lowering-private symbols.That was useful during the S3/#1260 split, but it is now a concrete deletion/refactor surface.
Current evidence
On current
origin/master:graphistry/compute/gfql/cypher/reentry/compiletime.pysays it preserves behavior and compatibility via lowering-level shims.from graphistry.compute.gfql.cypher import lowering as _loweringandglobals().update(vars(_lowering)).graphistry/compute/gfql/cypher/lowering.pystill comments that reentry helpers are re-exported there for compatibility.Goal
Make reentry compiletime explicit and self-contained enough to delete the broad symbol-table shim and any stale lowering-level reexports that are no longer needed.
Scope
loweringthatreentry/compiletime.pyreally uses.globals().update(vars(_lowering))with explicit imports or local helpers.Out of scope
Acceptance
globals().update(vars(_lowering))shim remains in reentry compiletime.tck-gfqlCI pass; run DGX GFQL/cuDF if changed code reaches runtime.Related