From 048459bf66b5ef493bcfac8f9c049a345a661b49 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Sat, 31 Jan 2026 14:19:47 -0300 Subject: [PATCH] atlasbot: always include snapshot header --- atlasbot/engine/answerer.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/atlasbot/engine/answerer.py b/atlasbot/engine/answerer.py index 5906706..2ec6bf5 100644 --- a/atlasbot/engine/answerer.py +++ b/atlasbot/engine/answerer.py @@ -159,6 +159,19 @@ class AnswerEngine: classify.setdefault("needs_snapshot", True) classify.setdefault("answer_style", "direct") classify.setdefault("follow_up", False) + cluster_terms = ( + "atlas", + "cluster", + "node", + "nodes", + "namespace", + "pod", + "workload", + "k8s", + "kubernetes", + ) + if any(term in normalized.lower() for term in cluster_terms): + classify["needs_snapshot"] = True if classify.get("follow_up") and state and state.claims: if observer: @@ -594,7 +607,15 @@ def _select_chunks( if not chunks: return [] ranked = sorted(chunks, key=lambda item: scores.get(item["id"], 0.0), reverse=True) - selected = ranked[: plan.chunk_top] + selected: list[dict[str, Any]] = [] + head = chunks[0] + selected.append(head) + for item in ranked: + if len(selected) >= plan.chunk_top: + break + if item is head: + continue + selected.append(item) return selected