Skip to content

fix(title_gen): honor auxiliary.title_generation.timeout config setting (#41812) - #41841

Closed
Elshayib wants to merge 1 commit into
NousResearch:mainfrom
Elshayib:fix/title-generation-timeout-config
Closed

fix(title_gen): honor auxiliary.title_generation.timeout config setting (#41812)#41841
Elshayib wants to merge 1 commit into
NousResearch:mainfrom
Elshayib:fix/title-generation-timeout-config

Conversation

@Elshayib

@Elshayib Elshayib commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Title generation ignored the auxiliary.title_generation.timeout config value, always using a hardcoded 30s default. Users with slow local models (e.g. Ollama on CPU) who set auxiliary.title_generation.timeout: 300 still saw timeouts at 30s.

Root Cause

The call chain maybe_auto_title()auto_title_session()generate_title(timeout=30.0)call_llm(timeout=30.0) never read the config value. call_llm() already supports timeout=None_get_task_timeout(task) which reads auxiliary.<task>.timeout, but the hardcoded 30.0 default overrode it.

Changes

  • agent/title_generator.py: Changed generate_title() default from timeout: float = 30.0 to timeout: Optional[float] = None. Thread timeout through maybe_auto_title() and auto_title_session().
  • gateway/run.py: Read auxiliary.title_generation.timeout via _get_task_timeout("title_generation") and pass it as timeout to maybe_auto_title().
  • tests/agent/test_title_generator.py: 5 new tests covering default-None behavior, explicit timeout forwarding through all three layers.

Validation

  • 25/25 title generator tests pass
  • 209/209 auxiliary client tests pass

Fixes #41812

The title generation path hardcoded a 30s timeout, ignoring the
auxiliary.title_generation.timeout config value. Thread the timeout
parameter through maybe_auto_title -> auto_title_session ->
generate_title, and read the config value in gateway/run.py via
_get_task_timeout('title_generation') so user-configured values
(e.g. 300s for slow local models) are respected.

Fixes #41812
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/gateway Gateway runner, session dispatch, delivery labels Jun 8, 2026
@Elshayib

Elshayib commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

CI failure is a pre-existing flaky test (test_concurrent_handles_tool_error — race condition in concurrent tool execution under CI load). Passes locally. Not related to this change. Requesting re-run or review override.

@kshitijk4poor

Copy link
Copy Markdown
Collaborator

Closing as superseded by #56322 (salvage of #41844) for #32729. Both fix the hardcoded title-generation timeout, but #41841 threads a timeout kwarg through auto_title_session/maybe_auto_title and re-computes _get_task_timeout('title_generation') in gateway/run.py — which duplicates the resolution call_llm already does internally when timeout=None. #41844 achieves the same result with the one-line default change and no gateway plumbing. Credit for the correct fix. Feel free to push back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Regression, auxillary title generation timeout ignores config.yaml settings

3 participants