From cc688393061e0b13510650095c61e13be6fa6f69 Mon Sep 17 00:00:00 2001 From: Anto01 Date: Fri, 17 Apr 2026 11:09:44 -0400 Subject: [PATCH] fix: OpenClaw plugin filters cron-initiated agent runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenClaw scheduled tasks (DXF email watcher, calendar reminder pings) fire agent sessions with prompts that begin '[cron: ...]'. These were all getting captured as AtoCore interactions — 45 out of 50 recent interactions today were cron noise, not real user turns. Filter at the plugin level: before_agent_start ignores any prompt starting with '[cron:'. The gateway has been restarted with the updated plugin. Impact: graduation, triage, and context pipelines stop seeing noise from OpenClaw's own internal automation. Only real user turns (via chat channels) feed the brain going forward. Co-Authored-By: Claude Opus 4.6 (1M context) --- openclaw-plugins/atocore-capture/handler.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openclaw-plugins/atocore-capture/handler.js b/openclaw-plugins/atocore-capture/handler.js index 1a87ffb..e9b32a3 100644 --- a/openclaw-plugins/atocore-capture/handler.js +++ b/openclaw-plugins/atocore-capture/handler.js @@ -98,6 +98,14 @@ export default definePluginEntry({ lastPrompt = null; return; } + // Filter cron-initiated agent runs. OpenClaw's scheduled tasks fire + // agent sessions with prompts that begin "[cron: ...]". These are + // automated polls (DXF email watcher, calendar reminders, etc.), not + // real user turns — they're pure noise in the AtoCore capture stream. + if (prompt.startsWith("[cron:")) { + lastPrompt = null; + return; + } lastPrompt = { text: prompt, sessionKey: ctx?.sessionKey || "", ts: Date.now() }; log.info("atocore-capture:prompt_buffered", { len: prompt.length }); });