Merge pull request #354 from dinakars777/fix/parallel-web-backend-source

fix: route parallel web backend through grounding
This commit is contained in:
Trevin Chow
2026-05-17 00:26:50 -07:00
committed by GitHub
2 changed files with 31 additions and 1 deletions
+1 -1
View File
@@ -207,7 +207,7 @@ def run(
available = [source for source in available if source in requested_sources]
if web_backend == "none":
available = [s for s in available if s != "grounding"]
elif web_backend in ("brave", "exa", "serper") and "grounding" not in available:
elif web_backend in ("brave", "exa", "serper", "parallel") and "grounding" not in available:
available.append("grounding")
if not available:
raise RuntimeError("No sources are available for this run.")
+30
View File
@@ -52,6 +52,36 @@ class PipelineV3Tests(unittest.TestCase):
# At least one per-subquery line.
self.assertIn("[Planner] sq1 label=", output)
def test_parallel_web_backend_enables_grounding_source(self):
plan = {
"intent": "news",
"freshness_mode": "balanced_recent",
"cluster_mode": "timeline",
"subqueries": [
{
"label": "primary",
"search_query": "test topic",
"ranking_query": "What happened with test topic?",
"sources": ["grounding"],
}
],
"source_weights": {"grounding": 1.0},
}
report = pipeline.run(
topic="test topic",
config={"LAST30DAYS_REASONING_PROVIDER": "auto"},
depth="quick",
requested_sources=["grounding"],
web_backend="parallel",
external_plan=plan,
)
# Anchor on the stable source key, not the exact wording of the
# grounding.py error message. Phrasing can shift (e.g., when the
# missing-key check moves or the message is reworded) without
# changing the contract that the grounding source registers an
# error when its required backend key is unset.
self.assertIn("grounding", report.errors_by_source)
class TestSourceFetchCap(unittest.TestCase):
"""X source fetch count must be capped by MAX_SOURCE_FETCHES."""