feat: add Pipeline grouping and PipeInterface#9
Closed
DerManoMann wants to merge 3 commits into
Closed
Conversation
e2d1b10 to
e051743
Compare
Enhance Pipeline with ordered group execution for staged processing: - PipeInterface: optional contract for pipes that declare their group - Constructor accepts groups (ordered execution buckets) and defaultGroup - process() executes pipes in group order when groups are configured - get() retrieves a pipe by class-string for typed configuration access - LoggerAwareInterface support: logger injected into pipes during process() - BackedEnum support for group keys Backwards compatible: without groups, insertion order is preserved. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
e051743 to
3858ff0
Compare
Owner
Author
|
Moved to zircote#2056 (base branch updated to master now that spec-dto is merged) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Enhances the existing
Pipelineutility with ordered group execution, enabling staged processing pipelines (e.g. resolve → reduce → augment). AddsPipeInterfaceas an optional contract forpipes that declare their group.
Depends on zircote#2054.
Design
Grouped execution
When constructed with a
groupsarray, the pipeline executes pipes in group order rather than insertion order. This enables multi-stage processing where pipes from different groups can beregistered in any order but always execute in the correct sequence.