atlasbot: use llm signals for fallback

This commit is contained in:
Brad Stein 2026-02-03 10:01:43 -03:00
parent c180f3873c
commit a4aad6b2eb

View File

@ -292,6 +292,7 @@ class AnswerEngine:
focus_entity = "node" focus_entity = "node"
snapshot_context = "" snapshot_context = ""
signal_tokens: list[str] = []
if classify.get("needs_snapshot"): if classify.get("needs_snapshot"):
if observer: if observer:
observer("retrieve", "scoring chunks") observer("retrieve", "scoring chunks")
@ -324,6 +325,8 @@ class AnswerEngine:
fact_types, fact_types,
plan, plan,
) )
if isinstance(signals, list):
signal_tokens = [str(item) for item in signals if item]
if observer: if observer:
observer("retrieve", "scanning chunks") observer("retrieve", "scanning chunks")
candidate_lines: list[str] = [] candidate_lines: list[str] = []
@ -359,7 +362,11 @@ class AnswerEngine:
if not metric_facts: if not metric_facts:
if observer: if observer:
observer("retrieve", "fallback metric selection") 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: if fallback_candidates:
metric_facts = await _select_fact_lines( metric_facts = await _select_fact_lines(
call_llm, call_llm,