Skip to content

RFC 041: Prism plan ingress and external client frontends #75

@dannymeijer

Description

@dannymeijer

Use this issue to track InQL RFC 041, proposed in PR #60 at docs/rfcs/041_prism_plan_ingress_frontends.md.

Area

  • Specification (RFCs)
  • Documentation

Summary

RFC 041 defines Prism plan ingress for external client frontends such as Spark Connect or SQL-shaped clients.

Motivation

External clients should be able to feed plans into InQL, but they should not make Spark, SQL text, Substrait, or a backend adapter the semantic owner. The correct boundary is an unresolved ingress representation that Prism analyzes into InQL semantics.

Proposal sketch

  • Define external frontend ingress into unresolved Prism plan shapes.
  • Preserve client session, origin, semantic profile, and coverage context.
  • Let Prism perform name resolution, typing, and semantic analysis.
  • Keep Substrait IR downstream of InQL semantics rather than as a direct external-client bypass.

Alternatives considered

  • Treat Spark as the planner.
  • Translate Spark Connect directly to Substrait.
  • Model external clients as backend adapters.
  • Support only native InQL authoring surfaces.

Impact / compatibility

This is additive and architectural. Future implementations should expand supported frontends without changing the existing authoring path.

Implementation notes (optional)

Review PR #60 for the draft. This work belongs at the external-client-to-Prism boundary.

Checklist

  • I checked for an existing RFC or issue covering this.
  • I can describe how this impacts existing code and how to migrate (if needed).

Metadata

Metadata

Assignees

No one assigned

    Labels

    RFCRFC design and planningdocumentationImprovements or additions to documentationspecificationdocs/rfcs/ normative RFCs

    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