Skip to content

GFQL monolith shrinkdown S2: extract bounded reentry glue from lowering.py #1295

Closed

Description

@lmeyerov

Summary

Execution slice S2 under #1260.

Extract bounded reentry planning/runtime glue out of lowering.py into focused module(s), preserving behavior and test parity.

Scope

In scope:

  • Move bounded reentry planning helpers to dedicated module(s)
  • Reduce lowering.py surface for reentry-specific logic
  • Keep public behavior and contracts unchanged

Out of scope:

  • Full lowering.py concern split (S3)
  • Feature additions

Acceptance

  1. Reentry glue extracted to focused module(s) with clear ownership boundaries.
  2. lowering.py LOC reduced materially (report delta in Meta: GFQL monolith shrinkdown (lowering.py + CompiledCypher cleanup) #1260).
  3. Reentry and cypher lowering tests remain green.
  4. No regressions in #1263/#1275/#1285 landed behaviors.

Related

Activity

  1. lmeyerov commented on May 5, 2026

    @lmeyerov
    ContributorAuthor

    Closure-ready.

    Landed: #1299 squash-merged at master 373b55fd8 (2026-05-05).

    Acceptance check:

    1. ✅ Reentry glue extracted to focused module(s) — new graphistry/compute/gfql/cypher/reentry/ subpackage with naming.py / scope.py / carry.py / rewrite.py, with __all__ declared in each.
    2. ✅ lowering.py LOC reduced materially — 17 helpers (16 public + carry-internal _literal_limit_value, ~470 LOC) moved out. Combined with Refactor #1294: retire dual-contract reentry extras path #1297 (GFQL monolith shrinkdown S1: retire dual-contract reentry extras path #1294 S1) the file shrunk from 10,192 → 9,659 LOC (−533) by the time both landed.
    3. ✅ Reentry + Cypher lowering tests remain green — tests/compute/gfql/cypher/ + tests/compute/test_gfql.py: 1244 passed, 92 skipped, 15 xfailed, 0 failed post-merge.
    4. ✅ No regressions in Cypher/GFQL: free-form intermediate MATCH after WITH (LDBC SNB IC3 endpoint) #1263 / Cypher/GFQL: free-form trailing WHERE bridge refs across carried + fresh aliases #1275 / Cypher/GFQL: admit multi-prefix-row free-form intermediate MATCH runtime path #1285 landed behaviors — all positive execution tests for those lanes (free-form simple, multi-row, carried-property bridge) continued to pass through both the pre-rebase and post-rebase wave checks.

    Out of scope (deferred to a follow-on slice under #1260):

    External imports preserved: gfql_unified.py:35 and tests/test_gfql.py:8 continue to import _reentry_hidden_column_name from cypher.lowering via re-export — no caller changes needed.

    OK to close at coordinator's discretion.

  2. lmeyerov commented on May 5, 2026

    @lmeyerov
    ContributorAuthor

    Closing as completed via PR #1299 (squash merge 373b55f). Coordinator receipt: #1260 S2 complete; follow-on slices S3/S4/S5 remain under #1260.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions