TOOL_REQUEST_OR_WORKFLOW_STEP

We introduced tool requests “/Users/jxc755/projects/repositories/galaxy-brain/vault/research/Component - Tool State Specification.md” in large part to capture the concept that a single tool form submit in Galaxy could map to many jobs (which is all we captured before) but the abstract description of that execution is essential for reproducibility and traceability. We’re working on two applications that leverage this:

A big problem we immediately encountered is that workflow executions do not setup these ToolRequests. In some ways - you can imagine they don’t really need to - the workflow step invocation maps back to the workflow step that captures very similar information.

I have a research question - I assume either way answer is viable but we need to pick one - should workflow invocations produce ToolRequests that mirror some of the work WorkflowInvocationStep does now or should we build abstractions that provide a layer that works across ToolRequests and WorkflowInvocationSteps. Both paths have some obvious design questions.

Some things to consider:

Before I have you write up a whitepaper - can you do the research and assess the viability of both approaches. What are the big blockers, landmines we’re going to hit in going both directions - if any.