Add production dependency validation via validate_needs()#109
Draft
Copilot wants to merge 2 commits intov0.8-previewfrom
Draft
Add production dependency validation via validate_needs()#109Copilot wants to merge 2 commits intov0.8-previewfrom
Copilot wants to merge 2 commits intov0.8-previewfrom
Conversation
…eline Co-authored-by: transientlunatic <4365778+transientlunatic@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add production dependency validation to Analysis class
Add production dependency validation via validate_needs()
Feb 19, 2026
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.
Catch misconfigured
needschains before job submission by validating that each declared dependency will actually produce the data products required by the downstream analysis.Pipeline metadata (
pipeline.py)available_outputsandrequired_inputsclass-level list attributes toPipeline— declare what a pipeline produces/consumesget_actual_outputs(production)andget_actual_inputs(production)methods returning those lists by default; subclasses can override for conditional logic based on production configurationDependency validation (
analysis.py)validate_needs()to theAnalysisbase class — resolves dependency names to analysis objects, then checks each required input against the outputs advertised by every dependency, issuing aUserWarningper unsatisfied requirementThe method is a no-op when the pipeline declares no
required_inputs, preserving backward compatibility with all existing pipelines.Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.