From 81d5127b9d3e6945e5eb8dda296be30cb7d0082c Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Sun, 4 Oct 2026 19:08:36 +0000 Subject: [PATCH] Lock: a 'run' mode for functional runs that lets builds continue; rule updated Co-Authored-By: Claude Fable 5.1 --- tools/lock/with-lock.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/lock/with-lock.sh b/tools/lock/with-lock.sh index ca78406b2..33e9f8ad1 100755 --- a/tools/lock/with-lock.sh +++ b/tools/lock/with-lock.sh @@ -3,14 +3,20 @@ # MEASUREMENTS (test networks, hash-rate samples, simulators, anything whose numbers go in the bench log). # tools/lock/with-lock.sh build one build at a time (builds also nice -n 19, 4 jobs) # tools/lock/with-lock.sh measure one measurement at a time, and no build may start meanwhile +# tools/lock/with-lock.sh run a functional run (test network, attack harness, simulator whose +# outputs are counts, locks, forks, seconds): one at a time, but +# builds may continue; nothing hash-rate, latency-in-ms or power # Rule (4 October 2026): code and documents run in parallel; builds and measurements queue. Waits up to 2 hours. +# Evening of 4 October: a 3-hour finality network run held the build lock with six agents queued behind it, so +# functional runs now take the measure lock only (`run`); `measure` stays for numbers a nice-19 build could disturb. set -euo pipefail kind="$1"; shift dir=/tmp/igneum-locks; mkdir -p "$dir" case "$kind" in build) locks=("$dir/build");; measure) locks=("$dir/measure" "$dir/build");; - *) echo "usage: with-lock.sh build|measure " >&2; exit 2;; + run) locks=("$dir/measure");; + *) echo "usage: with-lock.sh build|measure|run " >&2; exit 2;; esac fds=(); i=9 for l in "${locks[@]}"; do