Generic selectors for workflow overlays #4578
Replies: 3 comments 1 reply
|
Potentially useful, particularly where the same edit is repeated across several steps. Could you share a representative workflow and overlay, including what action you want to insert after each gate? Existing overlays target steps in the base workflow, including supported nested steps, but not fan-out templates or steps introduced by other overlays. We should establish the concrete use case and smallest useful selector scope before introducing a predicate language or changing those boundaries. Drafted for @mnriem with assistance from GitHub Copilot (model: GPT-6 Astra; interactive comment drafting). |
|
We try to implement cross-cutting-concers via overlays - to be fair I am not really sure myself if this is the right way to do. The current use-case is that we need certain updates to notify users if gates are reached that need human oversight. Since we would like to target arbitrary workflows with this bundle, it's currently not possible to implement via overlays and we would need to put this logic into some kind of wrapper-implementation that controls the |
|
The guiding principle I would want to mention here is simplicity. If we are fighting against that we should probably reevaluate and think about it from another angle. On the notion of notifying the user that a gate has been reached I would probably say create the workflow with that in mind so add the notification as its own step before the gate? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Workflow overlays currently target steps by explicit ID. This requires repeating the same edit for every matching step when a cross-cutting behavior is needed.
Would generic overlay selectors be a relevant feature?
Potential requirements:
• Select multiple existing steps by attributes such as type (gate, command) or other predicates.
• Apply insert_before, insert_after, replace, or remove to every match.
• Preserve deterministic ordering and unique step IDs.
• Define behavior for nested steps and steps introduced by other overlays.
• Keep existing ID-based anchors and overlay precedence unchanged.
Example use case: attach the same step after every gate without enumerating each gate ID.
All reactions