Skip to content

Remove default runbooks from catalog - #1409

Merged
Sheeproid merged 1 commit into
masterfrom
claude/remove-default-runbooks-VUgS1
Jan 22, 2026
Merged

Sheeproid merged 1 commit into
masterfrom
claude/remove-default-runbooks-VUgS1

Conversation

@Sheeproid

@Sheeproid Sheeproid commented Jan 22, 2026 •

Copy link
Copy Markdown
Collaborator

Remove the default DNS and upgrade troubleshooting runbooks so no runbooks are loaded by default. Users can still add custom runbooks via configuration.

  • Empty the default catalog.json
  • Remove networking/dns_troubleshooting_instructions.md
  • Remove upgrade/upgrade_troubleshooting_instructions.md
  • Update tests to work without default runbooks

Summary by CodeRabbit

Release Notes

  • Documentation

    • Removed DNS troubleshooting (Kubernetes) and AKS upgrade troubleshooting runbooks from the default catalog.
  • Tests

    • Updated test suite and fixtures to reflect runbook catalog changes.

✏️ Tip: You can customize this high-level summary in your review settings.

Remove the default DNS and upgrade troubleshooting runbooks so no
runbooks are loaded by default. Users can still add custom runbooks
via configuration.

- Empty the default catalog.json
- Remove networking/dns_troubleshooting_instructions.md
- Remove upgrade/upgrade_troubleshooting_instructions.md
- Update tests to work without default runbooks

Signed-off-by: Claude <noreply@anthropic.com>
@netlify

netlify Bot commented Jan 22, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for holmes-docs ready!

Name Link
🔨 Latest commit b955707
🔍 Latest deploy log https://app.netlify.com/projects/holmes-docs/deploys/69721c886b291400088953e4
😎 Deploy Preview https://deploy-preview-1409--holmes-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@linux-foundation-easycla

Copy link
Copy Markdown

CLA Not Signed

@coderabbitai

coderabbitai Bot commented Jan 22, 2026 •

Copy link
Copy Markdown
Contributor

Walkthrough

The PR removes two runbook documentation files (DNS troubleshooting and AKS upgrade) from the plugins directory, empties the runbook catalog JSON, and updates the test suite to expect an empty default catalog while adding a new test runbook fixture.

Changes

Cohort / File(s) Summary
Catalog and Runbook Documentation Removals
holmes/plugins/runbooks/catalog.json, holmes/plugins/runbooks/networking/dns_troubleshooting_instructions.md, holmes/plugins/runbooks/upgrade/upgrade_troubleshooting_instructions.md
Removed catalog entries and deleted two markdown files containing DNS and AKS upgrade troubleshooting guidance, resulting in an empty catalog.
Runbook Catalog Tests
tests/plugins/runbooks/test_catalog.py
Updated test assertions to expect empty default catalog; removed assertions checking for builtin runbooks and adjusted test logic for custom catalog loading scenarios.
Runbook Fetcher Tests and Fixtures
tests/plugins/toolsets/test_runbook.py, tests/plugins/toolsets/fixtures/runbooks/test_runbook.md
Added TEST_RUNBOOKS_PATH constant, new test runbook fixture, and updated test_RunbookFetcher_with_additional_search_paths to reference the new fixture instead of previous runbook.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • arikalon1
  • aantn
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 57.14% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Remove default runbooks from catalog' directly and clearly describes the main objective of the pull request—removing default runbooks from the catalog and emptying it.

✏️ 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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jan 22, 2026 •

Copy link
Copy Markdown
Contributor

✅ Results of HolmesGPT evals

Automatically triggered by commit b955707 on branch claude/remove-default-runbooks-VUgS1

View workflow logs

Results of HolmesGPT evals

  • ask_holmes: 9/9 test cases were successful, 0 regressions
Status Test case Time Turns Tools Cost
✅ 09_crashpod 23.3s ↓25% 4 7 $0.1683
✅ 101_loki_historical_logs_pod_deleted 53.4s ↓14% 7 14 $0.2880
✅ 111_pod_names_contain_service 30.1s ±0% 5 9 $0.1895
✅ 12_job_crashing 40.6s ±0% 6 14 $0.2521
✅ 162_get_runbooks 37.8s ↓16% 6 11 $0.2518
✅ 176_network_policy_blocking_traffic_no_runbooks 41.3s ±0% 6 16 $0.2731
✅ 24_misconfigured_pvc 28.9s ↓22% 5 11 $0.1953
✅ 43_current_datetime_from_prompt 3.6s ↓29% 1 — $0.0909
✅ 61_exact_match_counting 16.4s ±0% 4 4 $0.1457
Total 30.6s avg 4.9 avg 10.8 avg $1.8548

Time/Cost columns show % change vs historical average (↑slower/costlier, ↓faster/cheaper). Changes under 10% shown as ±0%.

Historical Comparison Details

Filter: excluding branch 'claude/remove-default-runbooks-VUgS1'

Status: Success - 9 test/model combinations loaded

Experiments compared (30):

Comparison indicators:

  • ±0% — diff under 10% (within noise threshold)
  • ↑N%/↓N% — diff 10-25%
  • ↑N%/↓N% — diff over 25% (significant)
📖 Legend
Icon Meaning
✅ The test was successful
➖ The test was skipped
⚠️ The test failed but is known to be flaky or known to fail
🚧 The test had a setup failure (not a code regression)
🔧 The test failed due to mock data issues (not a code regression)
🚫 The test was throttled by API rate limits/overload
❌ The test failed and should be fixed before merging the PR
🔄 Re-run evals manually

⚠️ Warning: /eval comments always run using the workflow from master, not from this PR branch. If you modified the GitHub Action (e.g., added secrets or env vars), those changes won't take effect.

To test workflow changes, use the GitHub CLI or Actions UI instead:

gh workflow run eval-regression.yaml --repo HolmesGPT/holmesgpt --ref claude/remove-default-runbooks-VUgS1 -f markers=regression -f filter=

Option 1: Comment on this PR with /eval:

/eval
markers: regression

Or with more options (one per line):

/eval
model: gpt-4o
markers: regression
filter: 09_crashpod
iterations: 5

Run evals on a different branch (e.g., master) for comparison:

/eval
branch: master
markers: regression
Option Description
model Model(s) to test (default: same as automatic runs)
markers Pytest markers (no default - runs all tests!)
filter Pytest -k filter (use /list to see valid eval names)
iterations Number of runs, max 10
branch Run evals on a different branch (for cross-branch comparison)

Quick re-run: Use /rerun to re-run the most recent /eval on this PR with the same parameters.

Option 2: Trigger via GitHub Actions UI → "Run workflow"

🏷️ Valid markers

benchmark, chain-of-causation, compaction, confluence, context_window, coralogix, counting, database, datadog, datetime, easy, elasticsearch, embeds, frontend, grafana-dashboard, hard, integration, kafka, kubernetes, leaked-information, logs, loki, medium, metrics, network, newrelic, no-cicd, numerical, one-test, port-forward, prometheus, question-answer, regression, runbooks, slackbot, storage, toolset-limitation, traces, transparency


Commands: /eval · /rerun · /list

CLI: gh workflow run eval-regression.yaml --repo HolmesGPT/holmesgpt --ref claude/remove-default-runbooks-VUgS1 -f markers=regression -f filter=

@github-actions

github-actions Bot commented Jan 22, 2026 •

Copy link
Copy Markdown
Contributor

✅ Docker image ready for ecbe36c (built in 5m 18s)

⚠️ Warning: does not support ARM (ARM images are built on release only - not on every PR)

Use this tag to pull the image for testing.

📋 Copy commands

⚠️ Temporary images are deleted after 30 days. Copy to a permanent registry before using them:

gcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:ecbe36c
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:ecbe36c me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:ecbe36c
docker push me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:ecbe36c

Patch 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:ecbe36c

Robusta 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:ecbe36c

@Sheeproid
Sheeproid requested a review from aantn January 22, 2026 12:49
@Sheeproid

Copy link
Copy Markdown
Collaborator Author

/eval

@github-actions

Copy link
Copy Markdown
Contributor

@Sheeproid Your eval run has finished. ✅ Completed successfully


🧪 Manual Eval Results

Parameter Value
Triggered via /eval comment
Branch claude/remove-default-runbooks-VUgS1
Model bedrock/eu.anthropic.claude-opus-4-5-20251101-v1:0
Markers all LLM tests
Iterations 1
Duration N/A
Workflow View logs | Rerun

⚠️ No eval report was generated.

📖 Legend
Icon Meaning
✅ The test was successful
➖ The test was skipped
⚠️ The test failed but is known to be flaky or known to fail
🚧 The test had a setup failure (not a code regression)
🔧 The test failed due to mock data issues (not a code regression)
🚫 The test was throttled by API rate limits/overload
❌ The test failed and should be fixed before merging the PR
🔄 Re-run evals manually

⚠️ Warning: /eval comments always run using the workflow from master, not from this PR branch. If you modified the GitHub Action (e.g., added secrets or env vars), those changes won't take effect.

To test workflow changes, use the GitHub CLI or Actions UI instead:

gh workflow run eval-regression.yaml --repo HolmesGPT/holmesgpt --ref claude/remove-default-runbooks-VUgS1 -f markers=regression -f filter=

Option 1: Comment on this PR with /eval:

/eval
markers: regression

Or with more options (one per line):

/eval
model: gpt-4o
markers: regression
filter: 09_crashpod
iterations: 5

Run evals on a different branch (e.g., master) for comparison:

/eval
branch: master
markers: regression
Option Description
model Model(s) to test (default: same as automatic runs)
markers Pytest markers (no default - runs all tests!)
filter Pytest -k filter (use /list to see valid eval names)
iterations Number of runs, max 10
branch Run evals on a different branch (for cross-branch comparison)

Quick re-run: Use /rerun to re-run the most recent /eval on this PR with the same parameters.

Option 2: Trigger via GitHub Actions UI → "Run workflow"

🏷️ Valid markers

(loading...)


Commands: /eval · /rerun · /list

CLI: gh workflow run eval-regression.yaml --repo HolmesGPT/holmesgpt --ref claude/remove-default-runbooks-VUgS1 -f markers=regression -f filter=

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tests/plugins/runbooks/test_catalog.py (1)

72-76: Stale comment needs update.

Line 73 comment says "Should have builtin runbooks plus 2 custom runbooks" but the default catalog is now empty, so this should only have 2 custom runbooks.

📝 Suggested fix
     assert runbooks is not None
-    # Should have builtin runbooks plus 2 custom runbooks
+    # Should have 2 custom runbooks (default catalog is empty)
     custom_runbook_links = [r.link for r in runbooks.catalog]

@Sheeproid

Copy link
Copy Markdown
Collaborator Author

/eval
markers: runbooks

@github-actions

Copy link
Copy Markdown
Contributor

@Sheeproid Your eval run has finished. ⚠️ Completed with 3 failures


🧪 Manual Eval Results

Parameter Value
Triggered via /eval comment
Branch claude/remove-default-runbooks-VUgS1
Model bedrock/eu.anthropic.claude-opus-4-5-20251101-v1:0
Markers runbooks
Iterations 1
Duration 4m 47s
Workflow View logs | Rerun

Results of HolmesGPT evals

  • ask_holmes: 11/15 test cases were successful, 2 regressions, 2 skipped
  • investigate: 0/2 test cases were successful, 1 regressions, 1 setup failures
Status Test case Time Turns Tools Cost
✅ 162_get_runbooks 36.8s ↓17% 6 11 $0.1619
✅ 165_alert_with_multiple_runbooks 38.8s 6 11 $0.1687
:minus: 42_dns_issues_result_all_tools — — — —
✅ 42_dns_issues_result_new_tools 80.0s 8 21 $0.3501
✅ 42_dns_issues_result_new_tools_no_runbook 57.0s 6 16 $0.2494
✅ 42_dns_issues_result_old_tools 55.1s 7 18 $0.3358
✅ 42_dns_issues_steps_new_all_tools 72.0s 7 16 $0.3249
✅ 42_dns_issues_steps_new_tools 80.3s 9 21 $0.2893
✅ 42_dns_issues_steps_old_tools 52.0s 6 17 $0.2493
:minus: 55_kafka_runbook — — — —
❌ 89_runbook_missing_cloudwatch — — — —
✅ 90_runbook_basic_selection 35.4s 6 13 $0.2436
✅ 94_runbook_transparency 45.6s 7 16 $0.2773
✅ 95_runbook_memory_leak_detection 50.0s 6 13 $0.3073
❌ 96_no_matching_runbook 63.4s 9 28 $0.3676
🚧 15_dns_resolution — — — —
❌ 16_dns_resolution_no_tool — — — —
Total 55.5s avg 6.9 avg 16.8 avg $3.3252

Time/Cost columns show % change vs historical average (↑slower/costlier, ↓faster/cheaper). Changes under 10% shown as ±0%.

Historical Comparison Details

Filter: excluding branch 'master'

Status: Success - 9 test/model combinations loaded

Experiments compared (30):

Comparison indicators:

  • ±0% — diff under 10% (within noise threshold)
  • ↑N%/↓N% — diff 10-25%
  • ↑N%/↓N% — diff over 25% (significant)

⚠️ 3 Failures Detected

📖 Legend
Icon Meaning
✅ The test was successful
➖ The test was skipped
⚠️ The test failed but is known to be flaky or known to fail
🚧 The test had a setup failure (not a code regression)
🔧 The test failed due to mock data issues (not a code regression)
🚫 The test was throttled by API rate limits/overload
❌ The test failed and should be fixed before merging the PR
🔄 Re-run evals manually

⚠️ Warning: /eval comments always run using the workflow from master, not from this PR branch. If you modified the GitHub Action (e.g., added secrets or env vars), those changes won't take effect.

To test workflow changes, use the GitHub CLI or Actions UI instead:

gh workflow run eval-regression.yaml --repo HolmesGPT/holmesgpt --ref claude/remove-default-runbooks-VUgS1 -f markers=regression -f filter=

Option 1: Comment on this PR with /eval:

/eval
markers: regression

Or with more options (one per line):

/eval
model: gpt-4o
markers: regression
filter: 09_crashpod
iterations: 5

Run evals on a different branch (e.g., master) for comparison:

/eval
branch: master
markers: regression
Option Description
model Model(s) to test (default: same as automatic runs)
markers Pytest markers (no default - runs all tests!)
filter Pytest -k filter (use /list to see valid eval names)
iterations Number of runs, max 10
branch Run evals on a different branch (for cross-branch comparison)

Quick re-run: Use /rerun to re-run the most recent /eval on this PR with the same parameters.

Option 2: Trigger via GitHub Actions UI → "Run workflow"

🏷️ Valid markers

benchmark, chain-of-causation, compaction, confluence, context_window, coralogix, counting, database, datadog, datetime, easy, elasticsearch, embeds, frontend, grafana-dashboard, hard, integration, kafka, kubernetes, leaked-information, logs, loki, medium, metrics, network, newrelic, no-cicd, numerical, one-test, port-forward, prometheus, question-answer, regression, runbooks, slackbot, storage, toolset-limitation, traces, transparency


Commands: /eval · /rerun · /list

CLI: gh workflow run eval-regression.yaml --repo HolmesGPT/holmesgpt --ref claude/remove-default-runbooks-VUgS1 -f markers=regression -f filter=

@Sheeproid

Copy link
Copy Markdown
Collaborator Author

the tests pass, the one that fail failed because the tests are broken.

@Sheeproid
Sheeproid merged commit 0ab3e58 into master Jan 22, 2026
15 of 17 checks passed
@Sheeproid
Sheeproid deleted the claude/remove-default-runbooks-VUgS1 branch January 22, 2026 13:26
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.

3 participants