Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a spike aiming to reduce the complexity around the existing flows in our codebase
From a design perspective, we have quite a simple concept of having different pipelines read from different sources, and delivering results to different destinations. From a code perspective, we implement this concept in a needlessly complex way, across too many components.
In its current state, I think our implementation is needlessly complex because:
In this spike:
The overall goal here is to reduce the complexity and number of dependencies among different entiities, and have a much more procedural approach to workflows, with a reasonable amount of code reuse (i.e. the workflow pipeline is shared among the workflow providers, in that each workflow provider creates an instance of the worklow pipline, passing themselves as workflow providers for the pipeline to use)