Skip to content

feat(tools): execution overrides tool - #140

Open
yjouini wants to merge 2 commits into
mainfrom
codex/per-recipe-container-override
Open

yjouini wants to merge 2 commits into
mainfrom
codex/per-recipe-container-override

Conversation

@yjouini

@yjouini yjouini commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • new toolset_container_exec_config taking an object_type
  • support INHERIT, NONE, and EXPLICIT_CONTAINER on recipes, ML tasks, saved-model retrain, WebApp backends, Knowledge Banks, and agent tools
  • refuse a recipe that exposes a container selection in more than one location rather than writing to one Dataiku may not read
  • document the exception once as placement-only, and route to it from a new references/container-execution.md
object_type object_id Settings path written
recipe recipe name params.containerSelection, params.engineParams, or the visual payload's engineParams
ml_task analysis id (single-task analysis) mltask containerSelection
saved_model saved model id miniTask.containerSelection (retrain placement)
webapp WebApp id params.infra.containerSelection (backend placement)
knowledge_bank Knowledge Bank id containerExecSelection
agent_tool agent tool id params.containerExecSelection

Objects that run no code of their own — an MLflow-imported saved model, a built-in agent tool — expose no selection, and the tool fails without saving rather than inventing one. Same for an analysis that does not hold exactly one ML task.

The exception stays placement-only: it does not open Knowledge Banks or agent tools to any other direct write. Agents and Retrieval-Augmented LLMs are deliberately out of scope — their placement sits per version under a flavor-specific settings block, so a write needs a rule for which version and which flavor is live.

@yjouini
yjouini marked this pull request as draft September 9, 2026 09:03
@yjouini
yjouini force-pushed the codex/per-recipe-container-override branch from 9257f79 to 17f6996 Compare September 9, 2026 14:44
@yjouini yjouini changed the title feat(recipes): add container execution overrides feat(tools): generalize container execution overrides by object type Sep 9, 2026
Replace the recipe-only `set_recipe_container_exec_config` with a single
`set_container_exec_config` taking an `object_type`, and move it to its own
module since it now spans several object families.

Supported types and the settings path each one writes:

- recipe: params.containerSelection, params.engineParams, or the visual
  payload's engineParams, refusing a recipe that exposes more than one
- ml_task: the mltask settings of a single-task analysis
- saved_model: miniTask.containerSelection, the retrain placement
- webapp: params.infra.containerSelection, the backend placement
- knowledge_bank and agent_tool: containerExecSelection

Verified against DSS 15.0.0: 20 objects resolved read-only, and each type
round-tripped through EXPLICIT_CONTAINER and NONE back to its original value.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@yjouini
yjouini force-pushed the codex/per-recipe-container-override branch from 17f6996 to 73f6520 Compare September 9, 2026 14:45
@yjouini yjouini changed the title feat(tools): generalize container execution overrides by object type feat(tools): execution overrides tool Sep 9, 2026
@yjouini
yjouini marked this pull request as ready for review September 9, 2026 15:19
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.

1 participant