adv-mixer-3: harness (index census, sac, diff, lin, lin0, rx, cnf), run-box.sh, eight queue files

Internal adversarial pass, not an independent review. igneum-pow by path; the plant shapes one, nomul, weak, weak0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 18:47:02 +00:00
parent 93532e5ee2
commit c969914afe
12 changed files with 1209 additions and 0 deletions

14
tools/attack/adv-mixer-3/Cargo.lock generated Normal file
View file

@ -0,0 +1,14 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "adv-mixer-3"
version = "0.1.0"
dependencies = [
"igneum-pow",
]
[[package]]
name = "igneum-pow"
version = "0.2.0"

View file

@ -0,0 +1,21 @@
[package]
name = "adv-mixer-3"
version = "0.1.0"
edition = "2021"
description = "Adversarial lane adv-mixer-3: the statistical distinguisher and the round margin of the mixer M_r (index census, avalanche, differential, linear, rotational-XOR, SAT model)"
license = "MIT"
publish = false
[[bin]]
name = "adv-mixer-3"
path = "src/main.rs"
[dependencies]
igneum-pow = { path = "../../../igneum-pow" }
[workspace]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
for k in 0 1 2 3 4 5 6 7 8; do
echo "== index day 20729 k=$k $(date -u +%FT%TZ)"
$X index --day 20729 --apps $k --threads 64 > "$L/index-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'chi2=|verdict' "$L/index-20729-k$k.log"
done
echo "== index nomul plant k=1"; $X index --day 20729 --apps 1 --plant nomul --threads 64 > "$L/index-20729-nomul-k1.log" 2>&1; grep -E 'chi2=|verdict' "$L/index-20729-nomul-k1.log"
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
for k in 0 1 2 3 4 5 6 7 8; do
echo "== index day 20733 k=$k $(date -u +%FT%TZ)"
$X index --day 20733 --apps $k --threads 64 > "$L/index-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'chi2=|verdict' "$L/index-20733-k$k.log"
done
echo "== index nomul plant k=1"; $X index --day 20733 --apps 1 --plant nomul --threads 64 > "$L/index-20733-nomul-k1.log" 2>&1; grep -E 'chi2=|verdict' "$L/index-20733-nomul-k1.log"
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
echo "== sac plant weak k=8"; $X sac --day 20729 --apps 8 --plant weak --states 65536 --threads 64 > "$L/sac-20729-weak-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20729-weak-k8.log"
echo "== sac plant one k=8"; $X sac --day 20729 --apps 8 --plant one --states 65536 --threads 64 > "$L/sac-20729-one-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20729-one-k8.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== sac day 20729 k=$k states 2^24 $(date -u +%FT%TZ)"
$X sac --day 20729 --apps $k --states 2^24 --threads 64 > "$L/sac-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20729-k$k.log"
done
for k in 2 3 4; do
echo "== sac day 20729 k=$k states 2^27 $(date -u +%FT%TZ)"
$X sac --day 20729 --apps $k --states 2^27 --threads 64 > "$L/sac-20729-k$k-n27.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20729-k$k-n27.log"
done
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
echo "== sac plant weak k=8"; $X sac --day 20733 --apps 8 --plant weak --states 65536 --threads 64 > "$L/sac-20733-weak-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20733-weak-k8.log"
echo "== sac plant one k=8"; $X sac --day 20733 --apps 8 --plant one --states 65536 --threads 64 > "$L/sac-20733-one-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20733-one-k8.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== sac day 20733 k=$k states 2^24 $(date -u +%FT%TZ)"
$X sac --day 20733 --apps $k --states 2^24 --threads 64 > "$L/sac-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20733-k$k.log"
done
for k in 2 3 4; do
echo "== sac day 20733 k=$k states 2^27 $(date -u +%FT%TZ)"
$X sac --day 20733 --apps $k --states 2^27 --threads 64 > "$L/sac-20733-k$k-n27.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20733-k$k-n27.log"
done
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
echo "== diff plant nomul k=1"; $X diff --day 20729 --apps 1 --plant nomul --samples 65536 --threads 64 > "$L/diff-20729-nomul-k1.log" 2>&1; grep -E 'max mult|determin|verdict' "$L/diff-20729-nomul-k1.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== diff day 20729 k=$k $(date -u +%FT%TZ)"
$X diff --day 20729 --apps $k --samples 2^20 --threads 64 > "$L/diff-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'max mult|determin|zero out|verdict' "$L/diff-20729-k$k.log"
done
echo "== lin identity plant k=0"; $X lin --day 20729 --apps 0 --samples 2^20 --threads 64 > "$L/lin-20729-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin-20729-k0.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== lin day 20729 k=$k $(date -u +%FT%TZ)"
$X lin --day 20729 --apps $k --samples 2^26 --threads 64 > "$L/lin-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin-20729-k$k.log"
done
echo "== lin0 identity-ish plant k=0"; $X lin0 --day 20729 --apps 0 --samples 2^20 --threads 64 > "$L/lin0-20729-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin0-20729-k0.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== lin0 day 20729 k=$k $(date -u +%FT%TZ)"
$X lin0 --day 20729 --apps $k --samples 2^26 --threads 64 > "$L/lin0-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin0-20729-k$k.log"
done
echo "== rx plant weak0 k=1"; $X rx --day 20729 --apps 1 --plant weak0 --samples 2^20 > "$L/rx-20729-weak0-k1.log" 2>&1; grep -E 'rx r=|verdict' "$L/rx-20729-weak0-k1.log"
for k in 1 2 3 4; do
echo "== rx day 20729 k=$k $(date -u +%FT%TZ)"
$X rx --day 20729 --apps $k --samples 2^22 > "$L/rx-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'rx r=|verdict' "$L/rx-20729-k$k.log"
done
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
echo "== diff plant nomul k=1"; $X diff --day 20733 --apps 1 --plant nomul --samples 65536 --threads 64 > "$L/diff-20733-nomul-k1.log" 2>&1; grep -E 'max mult|determin|verdict' "$L/diff-20733-nomul-k1.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== diff day 20733 k=$k $(date -u +%FT%TZ)"
$X diff --day 20733 --apps $k --samples 2^20 --threads 64 > "$L/diff-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'max mult|determin|zero out|verdict' "$L/diff-20733-k$k.log"
done
echo "== lin identity plant k=0"; $X lin --day 20733 --apps 0 --samples 2^20 --threads 64 > "$L/lin-20733-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin-20733-k0.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== lin day 20733 k=$k $(date -u +%FT%TZ)"
$X lin --day 20733 --apps $k --samples 2^26 --threads 64 > "$L/lin-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin-20733-k$k.log"
done
echo "== lin0 identity-ish plant k=0"; $X lin0 --day 20733 --apps 0 --samples 2^20 --threads 64 > "$L/lin0-20733-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin0-20733-k0.log"
for k in 1 2 3 4 5 6 7 8; do
echo "== lin0 day 20733 k=$k $(date -u +%FT%TZ)"
$X lin0 --day 20733 --apps $k --samples 2^26 --threads 64 > "$L/lin0-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin0-20733-k$k.log"
done
echo "== rx plant weak0 k=1"; $X rx --day 20733 --apps 1 --plant weak0 --samples 2^20 > "$L/rx-20733-weak0-k1.log" 2>&1; grep -E 'rx r=|verdict' "$L/rx-20733-weak0-k1.log"
for k in 1 2 3 4; do
echo "== rx day 20733 k=$k $(date -u +%FT%TZ)"
$X rx --day 20733 --apps $k --samples 2^22 > "$L/rx-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'rx r=|verdict' "$L/rx-20733-k$k.log"
done
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
# eight day indices drawn from SplitMix64(0x6164762d6d697833) mod 100000 + 20729, fixed here
for d in 20730 20745 21057 23311 27406 33333 50000 99999; do
for k in 2 3 4 8; do
echo "== index day $d k=$k $(date -u +%FT%TZ)"
$X index --day $d --apps $k --threads 64 > "$L/index-$d-k$k.log" 2>&1; grep -E 'chi2=|verdict' "$L/index-$d-k$k.log"
done
for k in 2 3 4; do
echo "== sac day $d k=$k $(date -u +%FT%TZ)"
$X sac --day $d --apps $k --states 2^24 --threads 64 > "$L/sac-$d-k$k.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-$d-k$k.log"
done
done
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
set -uo pipefail
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
C=/srv/builds/_adv-mixer-3/cnf; S=$HOME/adv-mixer-3-tools/cadical/build/cadical
for d in 20729 20733; do for k in 1 2 3 4; do
echo "== cnf day $d k=$k $(date -u +%FT%TZ)"
$X cnf --day $d --apps $k --t0 0x12345678 --out "$C/d$d-k$k.cnf" > "$L/cnf-$d-k$k.log" 2>&1; grep -E 'target|cnf:' "$L/cnf-$d-k$k.log"
/usr/bin/time -f "wall=%e s maxrss=%M KB" timeout 3600 $S -q "$C/d$d-k$k.cnf" > "$L/sat-$d-k$k.log" 2>&1; echo "cadical rc=$? (10 sat, 20 unsat, 124 timeout)"
grep -E '^s |wall=' "$L/sat-$d-k$k.log"
if grep -q '^s SATISFIABLE' "$L/sat-$d-k$k.log"; then T=$($X model --file "$L/sat-$d-k$k.log" | sed 's/.*t=\(0x[0-9a-f]*\).*/\1/'); echo "model $T"; $X verify --day $d --apps $k --t $T; fi
done; done
echo "end $(date -u +%FT%TZ)"

View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# adv-mixer-3 runner (box side). Launches one queue file detached at nice 10 on cores 8 to 95 (cores 0 to 7 are
# reserved for release builds, the seed and the observer; build-server lane rule of 7 October 2026, 19:4x BST, which
# also dropped the SIGSTOP yield to builds: the scheduler arbitrates). Log and pid file live OUTSIDE the worktree
# mirror, under /srv/builds/_adv-mixer-3/logs/ (the mirror is wiped by every source sync). Kill by pid file only:
# `kill -- -$(cat <pid>)` (setsid makes the script its own process group).
#
# run-box.sh <queue-file> launch; prints the pid and the log path
set -euo pipefail
Q="$1"; B=$(basename "$Q" .sh)
ROOT=/srv/builds/_adv-mixer-3; mkdir -p "$ROOT/logs" "$ROOT/cnf"
LOG="$ROOT/logs/$B.log"; PID="$ROOT/logs/$B.pid"
if [ -f "$PID" ] && kill -0 "$(cat "$PID")" 2>/dev/null; then echo "already running: pid $(cat "$PID")"; exit 1; fi
nohup setsid nice -n 10 taskset -c 8-95 bash "$Q" > "$LOG" 2>&1 &
echo $! > "$PID"
echo "launched $B pid $(cat "$PID") log $LOG host $(hostname) utc $(date -u +%FT%TZ)"

File diff suppressed because it is too large Load diff