Files

30 lines
1.2 KiB
Bash

#!/bin/bash
# Boot for the wwf-valuebot Fly worker (VALUE silo — value/PLAN.md).
# Clones main fresh (public read; GITHUB_TOKEN enables state pushes),
# verifies the clone against ls-remote (stale-replica guard, same lesson as
# the copybot's), then runs the paper bot. No HTTP service on purpose: no
# health-check auto-restarts to race a state surgery (README gotcha 15).
set -e
REPO="github.com/jaxperro/winning-wallet-finder.git"
DIR=/tmp/wwf
for i in 1 2 3 4; do
rm -rf "$DIR"
if [ -n "${GITHUB_TOKEN:-}" ]; then
git clone -q --depth 1 "https://x-access-token:${GITHUB_TOKEN}@${REPO}" "$DIR"
else
git clone -q --depth 1 "https://${REPO}" "$DIR"
fi
HEAD=$(git -C "$DIR" rev-parse HEAD)
REMOTE=$(git ls-remote "https://${REPO}" HEAD | cut -f1)
if [ "$HEAD" = "$REMOTE" ]; then
echo "[clone-guard] clone verified @ ${HEAD:0:10}"
break
fi
echo "[clone-guard] stale clone ($HEAD != $REMOTE) — retry $i"
sleep 5
done
cd "$DIR"
git config user.email "valuebot@wwf" && git config user.name "wwf-valuebot"
[ -z "${GITHUB_TOKEN:-}" ] && echo "⚠ no GITHUB_TOKEN — feed publishing will fail (paper book not durable across restarts)"
exec python3 -u value/valuebot.py