Skip to content

refactor: simplify row compute execution facade - #38

Draft
cursor[bot] wants to merge 9 commits into
mainfrom
cursor/code-structure-quality-893e
Draft

refactor: simplify row compute execution facade#38
cursor[bot] wants to merge 9 commits into
mainfrom
cursor/code-structure-quality-893e

Conversation

@cursor

@cursor cursor Bot commented Aug 20, 2026

Copy link
Copy Markdown

Summary

  • Share the row-compute plan-apply/collect path between eval_compute_ops and PolarsAdapter to remove dual-path drift.
  • Centralize FrameState output-column bookkeeping behind small invariant helpers.
  • Deduplicate predicate comparison expression construction and restore a runtime multi-digit numeric sort regression test.
  • Update stale full-materialization documentation/comments after the Polars cutover.

Tests

  • rustfmt --edition 2021 --check crates/plasm-runtime/src/row_compute/eval.rs crates/plasm-runtime/src/row_compute/adapter.rs crates/plasm-runtime/src/row_compute/json_frame.rs crates/plasm-agent-core/src/plasm_plan_run/step_materialize.rs crates/plasm-e2e/tests/plasm_language_matrix.rs
  • cargo test -p plasm-runtime row_compute --lib
  • cargo test -p plasm-agent-core compute_eval --lib
Open in Web View Automation 

ryan-s-roberts and others added 9 commits August 20, 2026 15:04
Fold postfix chains into a fused RowPlan executed in plasm-runtime, replace the JSON walker, and ship .with{k: expr} with now, len, when, arith (/ and string +), and temporal day diffs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…RowPlan

Document the new .with{col: expr} postfix in the canonical language definition
(EBNF, invariants, pitfalls) and expand plasm-row-compute with expression
semantics, chaining order, disambiguation, and RowPlan/Polars execution notes.
Add glossary entries for .with and RowPlan.

Co-authored-by: Ryan Roberts <ryan-s-roberts@users.noreply.github.com>
Co-authored-by: Ryan Roberts <ryan-s-roberts@users.noreply.github.com>
Remove unused sort/compare helpers and FieldPath accessors; keep graph stream APIs test-only so lib clippy stays clean.

Co-authored-by: Cursor <cursoragent@cursor.com>
Polars owns numeric sort; keep json_scalar_display for template interpolation.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Ryan Roberts <ryan-s-roberts@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants