Skip to content

RFC 0003: Delegate execution to workflow engines; deprecate recipes - #63

Open
petebachant wants to merge 1 commit into
LightconeResearch:mainfrom
petebachant:rfc-0003-workflow-engines
Open

RFC 0003: Delegate execution to workflow engines; deprecate recipes#63
petebachant wants to merge 1 commit into
LightconeResearch:mainfrom
petebachant:rfc-0003-workflow-engines

Conversation

@petebachant

Copy link
Copy Markdown

Resolves #62

There seems to be a bit too much workflow implementation detail leaking into the ASTRA spec, which actually hurts reproducibility. This is a way to make the boundary a little more solid and make the workflow engine a bit more modular.

If humans want to read the script that produces an output, for example, they can get there via the pipeline, rather than needing to use the recipe command. This makes the ASTRA spec a bit more high level and declarative.

Proposes that an ASTRA analysis name the workflow engine that builds it
(Analysis.workflow_engine) and that each output name its rule within that
engine's own workflow definition (Output.workflow_target), deprecating the
Recipe surface — command, container, and resources — as a unit.

The argument: a bare command describes neither its environment nor whether
it needs to run. The second failure is not fixable by adding fields, since
staleness is a property of a dependency graph rather than of a command
string. Underneath both is a layering rule the spec had never stated —
ASTRA declares desired state; a workflow engine implements it.

Additive plus deprecation; nothing is removed and every existing document
remains valid. Implementation follows on branch workflow-engine.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RFC proposal: Leave more implementation details to a workflow engine and reference that in the spec

1 participant