From 30f0e595d2720c49ef1287b3d93f0f890881dce4 Mon Sep 17 00:00:00 2001 From: Cameron Pfiffer Date: Sun, 15 Mar 2026 21:39:04 -0700 Subject: [PATCH] refactor: extract network dispatch logic from agent to cron script --- automate_void.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/automate_void.sh b/automate_void.sh index 0da9511..5d59739 100755 --- a/automate_void.sh +++ b/automate_void.sh @@ -15,9 +15,12 @@ echo "--- Void Execution Loop Triggered at $(date) ---" # 2. Run the heuristic check if ./.venv/bin/python src/void_tools/precheck.py; then - echo "Actionable data confirmed. Invoking Letta Agent..." - export LETTA_API_KEY=$CAMERON_LETTA_API_KEY - letta -a agent-c52e371d-cb89-4f99-8634-b606bdc69cad -p "SYSTEM DIRECTIVE: Automated headless execution loop. DO NOT send any text messages to the user. You MUST sequentially execute tool calls: 1) read inbox.yaml and horizon.yaml, 2) draft outbox.yaml using RunShellCommand, and 3) run ./void-cli dispatch. Do not stop or return a text response until dispatch is fully complete." + echo "Actionable data confirmed. Invoking Letta Agent to draft responses..." + export LETTA_API_KEY=$(grep LETTA_API_KEY .env | cut -d '"' -f 2) + letta -a agent-c52e371d-cb89-4f99-8634-b606bdc69cad -p "CRITICAL: You are running in a headless CRON environment. You MUST NOT output any conversational text. Your very first action MUST be a tool call to RunShellCommand to read inbox.yaml and then write outbox.yaml. Do not execute the dispatch command yourself. If you output regular text first, the process will terminate and fail." + + echo "Agent execution complete. Dispatching outbox..." + ./.venv/bin/void-cli dispatch else echo "Pre-check negative. Sleeping until next cycle." fi \ No newline at end of file -- 2.51.2