Conversation
Tracebacks from LLM API errors (e.g. litellm) were printed to console via logging.error(exc_info=True), often spanning 50+ lines with chained exceptions. This buried useful info (env var hints, warnings) above the traceback where users couldn't see it. Now tracebacks are logged at debug level (visible with -v flag) and only the clean error message is shown by default. A tip about -v is shown in interactive mode. https://claude.ai/code/session_01W597xJtLq8XHce8i6F9LKg Signed-off-by: Claude <noreply@anthropic.com>
✅ Deploy Preview for holmes-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
✅ Docker image ready for
Use this tag to pull the image for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:c13ed42
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:c13ed42 me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:c13ed42
docker push me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:c13ed42Patch Helm values in one line (choose the chart you use): HolmesGPT chart: helm upgrade --install holmesgpt ./helm/holmes \
--set registry=me-west1-docker.pkg.dev/robusta-development/development \
--set image=holmes-dev:c13ed42Robusta wrapper chart: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set holmes.registry=me-west1-docker.pkg.dev/robusta-development/development \
--set holmes.image=holmes-dev:c13ed42 |
✅ Results of HolmesGPT evalsAutomatically triggered by commit deaf601 on branch Results of HolmesGPT evals
📖 Legend
🔄 Re-run evals manually
Option 1: Comment on this PR with Or with more options (one per line): Run evals on a different branch (e.g., master) for comparison:
Quick re-run: Use Option 2: Trigger via GitHub Actions UI → "Run workflow" 🏷️ Valid markers
Commands: CLI: |
WalkthroughReorganizes error logging across multiple modules to move tracebacks from ERROR level to DEBUG level while explicitly including exception messages in error-level logs. Control flow and user-facing error messages remain unchanged. Adds exception chaining in some paths and user-guidance tips in interactive mode. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔬 CLI Performance Benchmark🟡 Startup Time (no LLM)Measures
🟡 Full CLI with LLMMeasures
PR: |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@holmes/interactive.py`:
- Line 1438: The console.print call uses an unnecessary f-string prefix for a
plain literal; locate the console.print call that currently reads
console.print(f"[dim]Tip: Use -v for more details[/dim]") and remove the leading
"f" so it becomes a normal string literal; update the call in the interactive.py
function/method where console.print is used and re-run the linter (Ruff) to
ensure the F541 warning is resolved.
🧹 Nitpick comments (2)
holmes/interactive.py (1)
1079-1081: Inconsistentexc_info=evsexc_info=Trueacross the PR.This file passes the exception instance (
exc_info=e), whiletools.pyandtool_calling_llm.pyuseexc_info=True. Both work in Python 3, but within anexceptblockexc_info=Trueis idiomatic and consistent. Same applies to line 1436.Suggested fix for consistency
- logging.debug("Full traceback:", exc_info=e) + logging.debug("Full traceback:", exc_info=True)holmes/main.py (1)
475-476: Sameexc_info=evsexc_info=Trueinconsistency noted here.All six debug-traceback call sites in this file use
exc_info=e. Consider usingexc_info=Truefor consistency withtools.pyandtool_calling_llm.py. Both are valid, but uniformity across the codebase aids readability.
| console.print(f"[bold {ERROR_COLOR}]Error: {e}[/bold {ERROR_COLOR}]") | ||
| logging.debug("Full traceback for interactive mode error:", exc_info=e) | ||
| console.print(f"\n[bold {ERROR_COLOR}]Error: {e}[/bold {ERROR_COLOR}]") | ||
| console.print(f"[dim]Tip: Use -v for more details[/dim]") |
There was a problem hiding this comment.
Remove extraneous f prefix — no placeholders in this string.
Ruff F541 flags this correctly. The string has no interpolation.
Proposed fix
- console.print(f"[dim]Tip: Use -v for more details[/dim]")
+ console.print("[dim]Tip: Use -v for more details[/dim]")🧰 Tools
🪛 Ruff (0.15.0)
[error] 1438-1438: f-string without any placeholders
Remove extraneous f prefix
(F541)
🤖 Prompt for AI Agents
In `@holmes/interactive.py` at line 1438, The console.print call uses an
unnecessary f-string prefix for a plain literal; locate the console.print call
that currently reads console.print(f"[dim]Tip: Use -v for more details[/dim]")
and remove the leading "f" so it becomes a normal string literal; update the
call in the interactive.py function/method where console.print is used and
re-run the linter (Ruff) to ensure the F541 warning is resolved.
Tracebacks from LLM API errors (e.g. litellm) were printed to console
via logging.error(exc_info=True), often spanning 50+ lines with chained
exceptions. This buried useful info (env var hints, warnings) above the
traceback where users couldn't see it. Now tracebacks are logged at
debug level (visible with -v flag) and only the clean error message is
shown by default. A tip about -v is shown in interactive mode.
https://claude.ai/code/session_01W597xJtLq8XHce8i6F9LKg
Signed-off-by: Claude noreply@anthropic.com
Summary by CodeRabbit
Release Notes