Skip to content

DF Helper Objects and Provenance#2388

Merged
EagleoutIce merged 16 commits intomainfrom
2386-get-a-transformation-sub-graph-for-a-given-variable
Mar 13, 2026
Merged

DF Helper Objects and Provenance#2388
EagleoutIce merged 16 commits intomainfrom
2386-get-a-transformation-sub-graph-for-a-given-variable

Conversation

@EagleoutIce
Copy link
Copy Markdown
Member

@EagleoutIce EagleoutIce commented Mar 12, 2026

Helper Objects:

  • Dataflow, GraphHelper, CallGraph,
  • Mermaid
  • SingleSlicingCriterion, SlicingCriteria
  • DataflowInformation

More helper methods for RNode friends, SourcePosition, ...

New provenance calculation and query

@EagleoutIce EagleoutIce linked an issue Mar 12, 2026 that may be closed by this pull request
@EagleoutIce EagleoutIce marked this pull request as ready for review March 13, 2026 09:28
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors several dataflow-related utilities into centralized “helper objects” (notably Dataflow, CallGraph, and Mermaid) and introduces a new provenance query to extract a transformation subgraph for a given variable/criterion.

Changes:

  • Add Dataflow / GraphHelper abstractions and migrate visualization/diff/invert/resolve helpers to them.
  • Introduce provenance query (format + executor) and add a system test for provenance behavior.
  • Refactor slicing criterion parsing helpers and migrate slice-direction enum to src/util/slice-direction.ts.

Reviewed changes

Copilot reviewed 164 out of 165 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/util/mermaid/cfg.ts Refactors mermaid escaping/URL plumbing (but currently returns escaped source instead of URL).
src/slicing/criterion/parse.ts Introduces SingleSlicingCriterion / SlicingCriteria helper objects (but convertAll has an unsafe/incorrect fallback).
src/queries/catalog/provenance-query/* Adds provenance query parsing + execution (but criterion resolution + restrictFdef handling need fixes).
src/queries/catalog/static-slice-query/static-slice-query-executor.ts Updates slice execution to use new criteria helpers (but now risks silently accepting invalid criteria).
src/r-bridge/roxygen2/documentation-provider.ts Changes to use RNode.documentation (introduces an avoidable circular runtime dependency).
src/documentation/wiki-dataflow-graph.ts Documentation update referencing Dataflow helper object (contains a typo).
test/**/* Broad test updates to use new helpers (Dataflow.visualize..., SingleSlicingCriterion.parse, etc.) and adds provenance tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/documentation/wiki-dataflow-graph.ts Outdated
Comment thread src/util/mermaid/cfg.ts
Comment thread src/slicing/criterion/parse.ts
Comment thread src/queries/catalog/provenance-query/provenance-query-executor.ts
Comment thread src/queries/catalog/origin-query/origin-query-executor.ts Outdated
Comment thread src/r-bridge/roxygen2/documentation-provider.ts
@EagleoutIce EagleoutIce changed the title DF helper objects, get a transformation sub graph for a given variable DF Helper Objects and Provenance Mar 13, 2026
@EagleoutIce EagleoutIce merged commit 5f00696 into main Mar 13, 2026
19 checks passed
@EagleoutIce EagleoutIce deleted the 2386-get-a-transformation-sub-graph-for-a-given-variable branch March 13, 2026 10:04
@EagleoutIce
Copy link
Copy Markdown
Member Author

This pull request is included in v2.9.14 (see Release v2.9.14 (Stop-Call Linter Rule, Dataflow Object-Helper Redesign)).

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.

Get a transformation sub-graph for a given variable

2 participants