Skip to content

feat: add execution flow parser#138

Merged
mattiamanzati merged 8 commits intomainfrom
feat/execution-flow-parser
Apr 7, 2026
Merged

feat: add execution flow parser#138
mattiamanzati merged 8 commits intomainfrom
feat/execution-flow-parser

Conversation

@mattiamanzati
Copy link
Copy Markdown
Contributor

Summary

  • add a new execution-flow parser that models value flow more directly than the current piping-flow parser, including data-first, data-last, pipe, pipeable, and function-pipe relationships
  • add Mermaid flow baselines for Effect fixtures so execution graphs can be inspected and evolved alongside diagnostics
  • refactor pipe-call type extraction into ParsePipeCall and extend the internal graph helpers needed by the new flow representation

Why

The new execution-flow engine preserves richer information about how values move through code, which makes it a better foundation for future diagnostics than the existing linear piping-flow parser. It is intended to gradually replace piping-flow parsing as diagnostics move to the more expressive graph model.

Validation

  • pnpm setup-repo
  • pnpm lint
  • pnpm check
  • pnpm test

Support custom Mermaid node and edge shapes and write execution flow baselines per source file so multi-file tests produce readable, stable artifacts.
Read the return type from the Effect.fn body function signature so execution-flow merge nodes carry the same effect type as the wrapped function. Update flow baselines to match the new return edges and typed function nodes.
@mattiamanzati mattiamanzati marked this pull request as ready for review April 7, 2026 09:38
@mattiamanzati mattiamanzati merged commit 57c1b81 into main Apr 7, 2026
4 checks passed
@mattiamanzati mattiamanzati deleted the feat/execution-flow-parser branch April 7, 2026 10:23
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.

1 participant