Skip to content

IR seam inventory: surfaces protected from #1567 (IR/verifier) future reassignment #1580

Description

@lmeyerov

Parent/meta: #1058
Corrective restoration reference: #1572
Paused lane reference: #1567

This issue is a coordinator-facing precondition for any future reassignment of #1567 (IR/verifier). It records the protected IR seams that should not be removed or refactored as deletion/shrink work without an explicit migration plan and replacement tests.

Context:

Do-not-touch seam inventory:

  • graphistry/compute/gfql/ir/metadata.py: stable type/nullability metadata compatibility seam. Preserve is_nullable, with_nullable, widen_to_nullable, column_logical_type, column_is_nullable, merge_types, bound_variable_type, bound_variable_is_nullable.
  • graphistry/compute/gfql/ir/__init__.py: package-level re-exports are compatibility surface. Do not remove IR metadata exports or core IR dataclass exports without a coordinated migration.
  • graphistry/compute/gfql/ir/types.py: logical type dataclasses (ScalarType, NodeRef, EdgeRef, PathType, ListType, BoundPredicate, PatternGraph) are schema/type-system contracts.
  • graphistry/compute/gfql/ir/bound_ir.py: BoundVariable.nullable, null_extended_from, entity_kind, ScopeFrame.schema, and BoundIR.scope_stack are binder-to-planner contracts.
  • graphistry/compute/gfql/ir/logical_plan.py: CHILD_SLOTS, iter_children(), RowSchema, operator dataclasses, optional arm fields, and ProcedureCall output metadata are pass/verifier/physical-planner contracts.
  • graphistry/compute/gfql/ir/compilation.py: GraphSchemaCatalog, PlanContext, CompilerError, PhysicalPlan.route, PhysicalPlan.metadata, and scope/catalog/index/backend/config fields are planning and route-selection contracts.
  • graphistry/compute/gfql/ir/verifier.py: verify() and its structural invariants are verifier extension points and safety gates. Keep optional-arm/nullability/type-continuity checks unless a replacement proof lands first.
  • graphistry/compute/gfql/ir/arrow_bridge.py: Arrow/schema bridge, coercion modes, confidence metadata, and logical type serialization are typed-schema / Arrow-boundary surfaces.
  • graphistry/compute/gfql/ir/query_graph.py: QueryGraph, ConnectedComponent, OptionalArm, and extract_query_graph() are join-ordering / optional-arm scaffolding. Preserve nullable/join alias semantics.
  • graphistry/compute/gfql/ir/capabilities.py: capability flags are pass/planner scheduling contracts.
  • graphistry/compute/gfql/ir/pushdown_safety.py: null-rejecting/null-safe predicate classification and WITH-barrier checks are protected pass-manager/predicate-pushdown safety seams. GFQL implementation shrink: pass manager and pushdown residue #1565 remains reopened/protected; do not assign deletion work here.

Acceptance for future #1567 reassignment:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions