[WIP] Implement Tool Request API #18745
Closed
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.
I've extracted the client pieces out of the structured state work (#17393). I think I would want to extract the workflow validation stuff out also before pulling this PR out of WIP. Some of this work is getting old - so I also need to update some of the SA idioms and break the migration out into its own commit.
Once polished, the immediate gain here is that sometimes the tool form submission can take several minutes to process. Think large collection map over jobs and such. We're creating 1000s of job objects in a web request and this is untenable. This API will allow us to just register a validated tool request in the database and let the job creation process happen within a Celery task. That will be a user experience improvement in the short term but in the long term these validated tool states will allow us to correct many technical issues with workflow extraction, job rerunning, etc.. We will always be able to recover what the user requested and how we processed the parameters - two things we just make guesses about right now (something something reproducibility).
See https://docs.google.com/document/d/1HQOLpLN54CjrB-wbD463XqzvUm-dNB8vTXUFBExh_2o/edit?usp=sharing.
How to test the changes?
(Select all options that apply)
License