fix(agent): make title generation timeout configurable via auxiliary.title_generation.timeout - #18129
fix(agent): make title generation timeout configurable via auxiliary.title_generation.timeout#18129Jay4242 wants to merge 4 commits into
Conversation
…eneration.timeout
generate_title() passed a hardcoded timeout=30.0 to call_llm(), which short-circuited the config-backed _get_task_timeout('title_generation') resolution. This made auxiliary.title_generation.timeout in config.yaml a dead key — the value was never consulted. Changed the default from 30.0 to None so call_llm() resolves timeout from config (falling back to _DEFAULT_AUX_TIMEOUT, 30s) when not explicitly overridden. Matches the pattern used by every other auxiliary task (compression, web_extract, session_search, approval).
…title_generation.timeout
veryheavypickle
left a comment
There was a problem hiding this comment.
This is good, it solves the issue and call_llm() defaults to _DEFAULT_AUX_TIMEOUT which is currently 30s anyway. This solves auxiliary title generation config is hardcoded to 30s and ignores config
|
@teknium1 I see you worked on this part of the codebase, would you please be able to review this? I see your preferred username got taken and almost tagged the wrong person. I can confirm that this PR is genuine as I have given it my full review. Thank you for your time. |
|
@Jay4242 could you please merge with main? This branch is compatible |
Merged. Thanks. |
|
@Jay4242 the merge seems stuck, it says in the checker that @veryheavypickle "Approved these changes with read-only permissions" Additionally, the following PRs are duplicates of this one: |
What does this PR do?
I was getting title generation timeouts due to the default being set to 30 seconds and my LLM backend being slow locally hosted hardware, which is often multitasking.
This PR should correct reading the timeout from the
~/.hermes/config.ymlwhich I can now set to absurdly high timeouts to compensate for my slow hardware.Related Issue
None.
Type of Change
Changes Made
/agent/title_generator.py#L31 -
timeout: float = 30.0,changed totimeout: Optional[float] = None,/agent/title_generator.py#L46 - docstring extended with a paragraph about the timeout.
/tests/agent/test_title_generator.py#L116 - Test added.
How to Test
timeout: Optional[float] = None,Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AFor New Skills
hermes --toolsets skills -q "Use the X skill to do Y"Screenshots / Logs