From 159c9cfe68896f16ec5d73ac7d8ca2a2ede2a601 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Tue, 27 Jan 2026 12:59:11 -0300 Subject: [PATCH] atlasbot: use structured answers before LLM --- services/comms/atlasbot-deployment.yaml | 2 +- services/comms/scripts/atlasbot/bot.py | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/services/comms/atlasbot-deployment.yaml b/services/comms/atlasbot-deployment.yaml index fd2f399..7fdbf64 100644 --- a/services/comms/atlasbot-deployment.yaml +++ b/services/comms/atlasbot-deployment.yaml @@ -16,7 +16,7 @@ spec: labels: app: atlasbot annotations: - checksum/atlasbot-configmap: manual-atlasbot-36 + checksum/atlasbot-configmap: manual-atlasbot-37 vault.hashicorp.com/agent-inject: "true" vault.hashicorp.com/role: "comms" vault.hashicorp.com/agent-inject-secret-turn-secret: "kv/data/atlas/comms/turn-shared-secret" diff --git a/services/comms/scripts/atlasbot/bot.py b/services/comms/scripts/atlasbot/bot.py index 0330620..ff528ea 100644 --- a/services/comms/scripts/atlasbot/bot.py +++ b/services/comms/scripts/atlasbot/bot.py @@ -1744,6 +1744,17 @@ class _AtlasbotHandler(BaseHTTPRequestHandler): snapshot = _snapshot_state() inventory = _snapshot_inventory(snapshot) or node_inventory_live() workloads = _snapshot_workloads(snapshot) + metrics_summary = snapshot_context(prompt, snapshot) + structured = structured_answer( + prompt, + inventory=inventory, + metrics_summary=metrics_summary, + snapshot=snapshot, + workloads=workloads, + ) + if structured: + self._write_json(200, {"answer": structured}) + return context = build_context( prompt, allow_tools=False, @@ -2065,6 +2076,19 @@ def sync_loop(token: str, room_id: str): if not inventory: inventory = _snapshot_inventory(snapshot) workloads = _snapshot_workloads(snapshot) + metrics_summary = snapshot_context(body, snapshot) + structured = structured_answer( + body, + inventory=inventory, + metrics_summary=metrics_summary, + snapshot=snapshot, + workloads=workloads, + ) + if structured: + history[hist_key].append(f"Atlas: {structured}") + history[hist_key] = history[hist_key][-80:] + send_msg(token, rid, structured) + continue context = build_context( body, allow_tools=allow_tools,