← back to Codex Review 2026 04 30
launch-rereview.sh
63 lines
#!/usr/bin/env bash
set -u
ROOT="$HOME/Projects/codex-review-2026-04-30"
cd "$ROOT" || exit 1
# Only re-review projects that had actual applied changes
PROJECTS=(
claimmyaddress
Designer-Wallcoverings
Hormuzy
jill-website
Ken
lawyer-directory-builder
Letsbegin
malden-house
Norma
resize-it
site-factory
stayclaim
the-ai-factory
trademarks-copyright
VictoryStays
visual-factory
wholivedthere
yolo-agent
)
CONCURRENCY=5
PIDS=()
reap() {
while [ "${#PIDS[@]}" -ge "$CONCURRENCY" ]; do
for i in "${!PIDS[@]}"; do
if ! kill -0 "${PIDS[$i]}" 2>/dev/null; then
unset 'PIDS[i]'
fi
done
PIDS=("${PIDS[@]}")
[ "${#PIDS[@]}" -ge "$CONCURRENCY" ] && sleep 2
done
}
echo "=== rereview batch start $(date -Iseconds) ===" > "$ROOT/rereview-batch.log"
for p in "${PROJECTS[@]}"; do
reap
echo "[$(date +%H:%M:%S)] rereview-launch $p" >> "$ROOT/rereview-batch.log"
./run-rereview.sh "$p" &
PIDS+=("$!")
done
wait
echo "=== rereview batch end $(date -Iseconds) ===" >> "$ROOT/rereview-batch.log"
echo "" >> "$ROOT/rereview-batch.log"
echo "=== verdicts ===" >> "$ROOT/rereview-batch.log"
for p in "${PROJECTS[@]}"; do
rr="$ROOT/$p/rereview.md"
if [ -f "$rr" ]; then
verdict=$(awk '/^## Verdict/{getline; print; exit}' "$rr" | head -1)
[ -z "$verdict" ] && verdict=$(grep -A1 "^## Verdict" "$rr" | tail -1)
printf "%-28s %s\n" "$p" "$verdict" >> "$ROOT/rereview-batch.log"
fi
done