#!/bin/bash REPO="/home/ccuser/rateright-growth" INBOX="$REPO/.claude/INBOX.md" STATUS="$REPO/.claude/STATUS.md" OUTBOX="$REPO/.claude/OUTBOX.md" VPS_CLAUDE="$REPO/.cc-vps/CLAUDE.md" SHARED_MEM="$REPO/.claude/SHARED-MEMORY.md" LOG="/var/log/cc-poll.log" export PATH="$HOME/.local/bin:$PATH" # Load credentials (Supabase, Notion, etc.) if [ -f /home/ccuser/config.env ]; then source /home/ccuser/config.env; fi log() { echo "[$(date -Iseconds)] $1" >> "$LOG"; } log "cc-poll started (inotifywait mode)" while true; do # Pull remote changes (catches tasks pushed via git) cd "$REPO" && git pull --quiet 2>/dev/null # Check for pending task if grep -q "## PENDING" "$INBOX" 2>/dev/null; then TASK=$(sed -n "/## PENDING/,/^##/p" "$INBOX" | head -50) if [ -n "$TASK" ]; then log "Task found" echo "Working" > "$STATUS" git add "$STATUS" && git commit -m "STATUS: Working" && git push 2>/dev/null # Read VPS context + shared memory VPS_CONTEXT="" if [ -f "$VPS_CLAUDE" ]; then VPS_CONTEXT=$(cat "$VPS_CLAUDE"); fi SHARED="" if [ -f "$SHARED_MEM" ]; then SHARED=$(cat "$SHARED_MEM"); fi RESULT=$(claude --print -p "$VPS_CONTEXT --- ## Shared Memory (read-only context from all agents) $SHARED --- Execute this task: $TASK" 2>&1) echo -e "## RESULT $(date)\n\n$RESULT" >> "$OUTBOX" echo "Idle" > "$STATUS" git add -A && git commit -m "Task complete" && git push 2>/dev/null log "Done" fi fi # Wait for INBOX to change OR timeout after 120s for git pull inotifywait -e modify,create -t 120 "$INBOX" 2>/dev/null done