diff --git a/tools/attack/adv-accept-3/chunks3.sh b/tools/attack/adv-accept-3/chunks3.sh new file mode 100755 index 000000000..38b62b867 --- /dev/null +++ b/tools/attack/adv-accept-3/chunks3.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# adv-accept-3 chunked sweep driver, yield rule v3 (coordinator, 7 Oct 2026 20:3x BST): every chunk is its own +# `lease pool 32 --min 16` call; before each chunk the driver sleeps while `lease status` shows a WAITER whose owner is +# class-v5, or whose owner is attack-pass with "v5" in its label; a waiter whose owner starts with adv- never outranks it. +# chunks3.sh [fixed args...] log /srv/builds/_adv-accept-3/.lease.log +set -u +name=$1; from=$2; to=$3; step=$4; shift 4 +B=/srv/builds/_adv-accept-3/bin/adv3-928272e0; D=/srv/builds/_adv-accept-3; LOG=$D/$name.lease.log +yield_due() { /srv/builds/_bin/lease status 2>/dev/null | sed -n '/^waiting:/,$p' | grep -qiE 'owner=class-v5|v5.*owner=attack-pass'; } +echo "driver3 start $(date -u +%FT%TZ) $name $from..$to step $step: $*" >> "$LOG.driver" +for ((f=from; f> "$LOG.driver"; sleep 30; done + echo "$(date -u +%T) chunk $f +$n" >> "$LOG.driver" + /srv/builds/_bin/lease pool 32 --min 16 --label "adv-accept-3 $name $f" --owner adv-accept-3 -- "$B" "$@" --from "$f" --count "$n" --threads '{cores}' >> "$LOG" 2>&1 + echo "$(date -u +%T) chunk $f done rc $?" >> "$LOG.driver" +done +echo "driver3 end $(date -u +%FT%TZ)" >> "$LOG.driver" diff --git a/tools/attack/adv-accept-3/f8-live.sh b/tools/attack/adv-accept-3/f8-live.sh new file mode 100755 index 000000000..459715623 --- /dev/null +++ b/tools/attack/adv-accept-3/f8-live.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# adv-accept-3 Q2c part 2: f8 warps census on the three lowest-ratio seeds of the 4,975 (ratio 0.995 at 256 units), at 10^6 +# then 2^24 nonces, build-1 through lease pool (owner adv-accept-3, 7 Oct 2026 20:4x BST). Yield rule v3 (class-v5 or +# attack-pass v5 waiters). Claim: mkdir /srv/builds/_adv/accept/claims/992-adv-accept-3-f8-live-2.sh +F=/srv/builds/_adv-accept-3/bin/attack-f8-918f80a5; D=/srv/builds/_adv-accept-3; O=$D/f8; mkdir -p $O; LOG=$D/992-adv-accept-3-f8-live-2.lease.log +run() { # label program nonces + while /srv/builds/_bin/lease status 2>/dev/null | sed -n '/^waiting:/,$p' | grep -qiE 'owner=class-v5|v5.*owner=attack-pass'; do sleep 30; done + echo "=== $(date -u +%T) $1 nonces $3" >> $LOG + /srv/builds/_bin/lease pool 32 --min 16 --label "adv-accept-3 f8 live $1 $3" --owner adv-accept-3 -- $F warps --program $2 --day 20733 --nonces $3 --threads '{cores}' --out $O --validate sample --diag 1 >> $LOG 2>&1 +} +for s in 2653 3296 4388; do run seed-$s $((1000000000+s)) 1000000; done +for s in 2653 3296 4388 620; do run seed-$s $((1000000000+s)) 16777216; done +echo "=== $(date -u +%T) done" >> $LOG diff --git a/tools/attack/adv-accept-3/run-box.sh b/tools/attack/adv-accept-3/run-box.sh index e8a842a9b..ea6e27858 100755 --- a/tools/attack/adv-accept-3/run-box.sh +++ b/tools/attack/adv-accept-3/run-box.sh @@ -1,13 +1,11 @@ #!/usr/bin/env bash -# adv-accept-3: start one sweep on the box under the per-box sweep lock (coordinator rule, 7 Oct 2026 19:55 BST: one sweep per -# box at a time, nice 10, cores 8 to 95, up to 88 threads). Logs, pid files and results live under /srv/builds/_adv-accept-3/, -# never under the worktree mirror. Kill by pid file only. -# run-box.sh log /srv/builds/_adv-accept-3/.log, pid file beside it +# adv-accept-3: start one chunked sweep on a box through the lease pool (main's rules of 7 Oct 2026: no sweep except through +# `lease pool`, at most 32 threads, class adv; yield to class-v5 and attack-pass v5 waiters; no rm or redirect inside a -c string). +# The driver is chunks3.sh beside this file (copied to /srv/builds/_adv-accept-3/bin/ on the box); logs, pid files and results +# live under /srv/builds/_adv-accept-3/, never under the worktree mirror. Kill by pid file only. +# run-box.sh [fixed args...] set -u -name="$1"; shift -dir=/srv/builds/_adv-accept-3; mkdir -p "$dir" -log="$dir/$name.log" -q=""; for a in "$@"; do q="$q $(printf '%q' "$a")"; done -nohup setsid flock /srv/builds/_adv/locks/sweep.lock -c "echo \"start \$(date -u +%FT%TZ) pid \$\$\" > '$log.start'; nice -n 10 taskset -c 8-95 $q > '$log' 2>&1" > /dev/null 2>&1 & -echo $! > "$log.pid" -echo "queued $name: pid $(cat "$log.pid") (waits on the sweep lock), log $log" +D=/srv/builds/_adv-accept-3 +nohup setsid "$D/bin/chunks3.sh" "$@" < /dev/null > /dev/null 2>&1 & +echo $! > "$D/$1.driver.pid" +echo "started driver for $1: pid $(cat "$D/$1.driver.pid"); chunk log $D/$1.lease.log, driver log $D/$1.lease.log.driver"