Add workflow_engine and workflow_target; deprecate recipes - #64
Open
petebachant wants to merge 1 commit into
Open
Add workflow_engine and workflow_target; deprecate recipes#64petebachant wants to merge 1 commit into
workflow_engine and workflow_target; deprecate recipes#64petebachant wants to merge 1 commit into
Conversation
Implements RFC 0003. An analysis names the workflow engine that builds it and each output names its rule within that engine's own workflow definition; ASTRA says nothing else about execution. Schema: - WorkflowEngine enum (calkit, cwl, dvc, make, nextflow, snakemake, targets, wdl, other), listed alphabetically with the ordering carrying no recommendation. Membership criterion is staleness tracking. - Analysis.workflow_engine, inherited by descendants and overridable on a sub-analysis. - Output.workflow_target, naming a rule/stage/target. - Deprecates the execution surface as a unit: Recipe and its command, container, and resources, plus Resources and Analysis.container. A spec that declares a container is a spec that has started implementing, and it still has no answer on staleness. - Two Output rules: a re-export may not name a target, and a target forbids a recipe outright — there is no half-migrated state where the engine builds the artifact but ASTRA still declares its environment. Additive plus deprecation. Nothing is removed, and no document that validates today stops validating: the new prohibition can only fire on documents using a field that did not previously exist. Docs, both examples, and test fixtures updated; Analysis-001 deliberately retains the deprecated recipe path as back-compatibility coverage. Still owed by astra-tools: the semantic check that every workflow_target has a workflow_engine in scope, and an `astra init` scaffold that emits the new fields. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Implements RFC 0003 (#62, #63). An analysis names the workflow engine that builds it and each output names its rule within that engine's own workflow definition; ASTRA says nothing else about execution.
Schema:
Additive plus deprecation. Nothing is removed, and no document that validates today stops validating: the new prohibition can only fire on documents using a field that did not previously exist.
Docs, both examples, and test fixtures updated; Analysis-001 deliberately retains the deprecated recipe path as back-compatibility coverage.
Still owed by astra-tools: the semantic check that every workflow_target has a workflow_engine in scope, and an
astra initscaffold that emits the new fields.