86ba267156
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
30 lines
1.2 KiB
Bash
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
|