From a4aad6b2eb2508d6a4d8acab1449f2cbee41eb63 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Tue, 3 Feb 2026 10:01:43 -0300 Subject: [PATCH] atlasbot: use llm signals for fallback --- atlasbot/engine/answerer.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/atlasbot/engine/answerer.py b/atlasbot/engine/answerer.py index 94699fd..a468884 100644 --- a/atlasbot/engine/answerer.py +++ b/atlasbot/engine/answerer.py @@ -292,6 +292,7 @@ class AnswerEngine: focus_entity = "node" snapshot_context = "" + signal_tokens: list[str] = [] if classify.get("needs_snapshot"): if observer: observer("retrieve", "scoring chunks") @@ -324,6 +325,8 @@ class AnswerEngine: fact_types, plan, ) + if isinstance(signals, list): + signal_tokens = [str(item) for item in signals if item] if observer: observer("retrieve", "scanning chunks") candidate_lines: list[str] = [] @@ -359,7 +362,11 @@ class AnswerEngine: if not metric_facts: if observer: observer("retrieve", "fallback metric selection") - fallback_candidates = _filter_lines_by_keywords(summary_lines, keyword_tokens, max_lines=200) + fallback_candidates = _filter_lines_by_keywords( + summary_lines, + signal_tokens or keyword_tokens, + max_lines=200, + ) if fallback_candidates: metric_facts = await _select_fact_lines( call_llm,