Skip to content

Update AI Catalog generated flow config to latest

What does this MR do and why?

This updates the AI Catalog generated flow config to the latest version so that AI Catalog flows will run. This keeps to the same Claude 4.0 hard-coded LLM as before.

#569786 (closed)

How to set up and validate locally

  1. Enable global_ai_catalog flag
  2. Go to http://gdk.test:3000/explore/ai-catalog/agents
  3. Create a new agent
  4. Go back to http://gdk.test:3000/explore/ai-catalog/agents and select the ... next to its name, select Test run
  5. Run a test
  6. Visit the test session (linked in the alert), you should see session details appear

On master no session details appear, and instead the duo-workflow-service encounters an error like:

{"event": "2 validation errors for ModelConfig\nparams\n  Unable to extract tag using discriminator 'model_class_provider' [type=union_tag_not_found, input_value={'max_tokens': 8192.0}, input_type=dict]\n    For further information visit https://errors.pydantic.dev/2.11/v/union_tag_not_found\nconfig_file\n  Extra inputs are not permitted [type=extra_forbidden, input_value='claude_4_0', input_type=str]\n    For further information visit https://errors.pydantic.dev/2.11/v/extra_forbidden", "logger": "exceptions", "level": "error", "correlation_id": "01K4XBY1VH043PP8505X1E3F8A", "gitlab_global_user_id": "eB87YnMeACA/5dKav+tKGZPEblni99xfDVy+5nvdGtE=", "workflow_id": "224", "status_code": null, "exception_class": "ValidationError", "additional_details": {"workflow_id": "224", "source": "duo_workflow_service.checkpointer.gitlab_workflow"}, "timestamp": "2025-09-11T21:47:03.778813Z", "exception": "Traceback (most recent call last):\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/duo_workflow_service/workflows/abstract_workflow.py\", line 277, in _compile_and_run_graph\n    compiled_graph = self._compile(goal, tools_registry, checkpointer)\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/duo_workflow_service/agent_platform/experimental/flows/base.py\", line 264, in _compile\n    self._build_routers(components, graph)\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/duo_workflow_service/agent_platform/experimental/flows/base.py\", line 254, in _build_routers\n    router.attach(graph)\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/duo_workflow_service/agent_platform/experimental/routers/router.py\", line 32, in attach\n    self.from_component.attach(graph, self)\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/duo_workflow_service/agent_platform/experimental/components/agent/component.py\", line 112, in attach\n    prompt = self.prompt_registry.get(\n             ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/ai_gateway/prompts/in_memory_registry.py\", line 109, in get\n    return self._get_in_memory_prompt(\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/ai_gateway/prompts/in_memory_registry.py\", line 73, in _get_in_memory_prompt\n    model=ModelConfig(**raw_data[\"model\"]),\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/luke/Sites/gdk/gitlab-ai-gateway/.venv/lib/python3.12/site-packages/pydantic/main.py\", line 253, in __init__\n    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\npydantic_core._pydantic_core.ValidationError: 2 validation errors for ModelConfig\nparams\n  Unable to extract tag using discriminator 'model_class_provider' [type=union_tag_not_found, input_value={'max_tokens': 8192.0}, input_type=dict]\n    For further information visit https://errors.pydantic.dev/2.11/v/union_tag_not_found\nconfig_file\n  Extra inputs are not permitted [type=extra_forbidden, input_value='claude_4_0', input_type=str]\n    For further information visit https://errors.pydantic.dev/2.11/v/extra_forbidden"}

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #569786 (closed)

Merge request reports

Loading