186546d562
gates / gates (push) Successful in 27s
All 28 walked on scratch guest 9202 against the private drill catalog. 26 deployed, 6 proven, 5 inconclusive, 14 with no upstream edge, 1 failed honestly (outline 1.9.1->1.10.1, HELD with the right sentence), 2 undeployable - one (plant-it) by design, refused by the lifecycle gate, proven live for the first time. Each app also got the half the update night skipped: a restore from its own copy with the seed read back again - 21 restored, 2 correctly REFUSED per 07 6.2. R-630 RAISED TO P1 by measurement: a stack with NO probe container does not skip verifying - it waits out the full health timeout and HOLDS, stopping an app whose three containers read healthy. The controller's own words: "not healthy within 5m0s (last: no probe container)". R-633 opened: a remove sent during a restore reports success and leaves a container restarting with a live public route. The product already refuses that clash for update and for restore, naming the blocker; remove has no such guard. R-634 opened: an app can be running, healthy and serving while recorded as deployed=false, and is then unremovable. Reproducible alone on sparkyfitness; concurrency-linked on two others. R-631 and R-632 CLOSED. Register 321 -> 323. Seven interventions, six of them my own harness - named, with what each cost. No product code. The live catalog's image: lines are byte-identical to the start of the night. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
14 lines
486 B
Bash
Executable File
14 lines
486 B
Bash
Executable File
#!/bin/bash
|
|
# Run N apps concurrently. Each worker has its OWN controller session dir (walk28.py sets w.SC),
|
|
# and drill pushes are serialised by a lock file — one git clone cannot take two pushes at once.
|
|
cd "$(dirname "$0")"
|
|
N=${N:-3}
|
|
for app in "$@"; do
|
|
while [ "$(pgrep -cf '[w]alk28.py')" -ge "$N" ]; do sleep 5; done
|
|
echo "$(date +%H:%M:%S) launching $app"
|
|
nohup python3 -u walk28.py "$app" > "apps/$app.out" 2>&1 &
|
|
sleep 8
|
|
done
|
|
wait
|
|
echo "$(date +%H:%M:%S) batch done"
|