Skip to content

fix(tools): tolerate description=null in real KeeperHub catalogue#2

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1777805230-null-description-fix
Open

fix(tools): tolerate description=null in real KeeperHub catalogue#2
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1777805230-null-description-fix

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

After PR #1 landed and the production server was restarted from main,
the auto-generated tool catalogue collapsed to just the 5 static tools
(it had been 23 — 5 static + 18 from the live KeeperHub catalogue).

Root cause: a real KeeperHub workflow entry now has description: null
in its listing. build_workflow_tools() was calling .strip() on that
None, the entire builder threw, and the server's exception-fallback in
_build_tool_specs() quietly swallowed it.

Fix: coerce description / name through str() with the slug as the
final fallback. Added a regression test using a synthetic mock
catalogue with description: null and name: null.

Review & Testing Checklist for Human

Risk: green — 6-line bug fix in one function plus a new test.

Notes

The exception-swallowing fallback was working as designed (the server
stays up with degraded tool surface even when discovery breaks), but
silently — there's no current log line warning that we fell back. If
you'd like, a follow-up could add a logger.warning("catalogue discovery failed: %s — falling back to static tools", exc) call in
_build_tool_specs() so this kind of issue surfaces in journalctl.

Link to Devin session: https://app.devin.ai/sessions/4c74607caacb488d803b3a14a74ee6df
Requested by: @danilaverbena

…ogue

Real KeeperHub catalogues sometimes return workflow entries with
description: null. The auto-generated tool builder was calling .strip()
on that None, crashing build_workflow_tools() and silently falling back
to just the 5 static tools at server startup.

Coerce description/name through str() with slug as final fallback, and
add a regression test.

Co-Authored-By: Данила Вербина <danila.verbina@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

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