Skip to content

Public expression-AST field-reference introspection + ibis literal-first '+' compile bug (from pointbreak Phase 4b) #226

Description

@discreteds

Two gaps surfaced by pointbreak Phase 4b's AST-driven rule engine. Details + deletion triggers in the mountainash-central backlog entry:

01.principles/mountainash/h.backlog/active/expression-ast-introspection-and-literal-add.md (item 226)

  1. Public expression-AST field-reference introspection — pointbreak needs the set of source-column names an expression references; only the private validation/checks.py::_iter_child_nodes walker exists. pointbreak re-implemented it locally (collect_field_references, shim). Proposed public API: mountainash.expressions.introspect.collect_field_references(expr) -> set[str].
  2. NEW ibis compile bugma.lit(str) + col(...) (literal-first) crashes at ibis-compile (ibis.literal(...).__add__(Deferred) validation failure); the reverse col(...) + ma.lit(...) compiles fine. pointbreak worked around it with a synthetic prefix column (shim). Fix __radd__/left-literal handling so lit + Deferred compiles symmetrically.

Refs pointbreak P4B-D5 (B-1) + B-5.

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