Files
stack/agents/researcher/work/queue-71/r1/gate.sh
T
jason.woltjeandClaude Opus 5.5 471f5cf202 researcher: row 71 round 1 packet on ac6b56ee, tasks 89/0, bus 115/0, mutants killed (#1565)
Haiku subagent build under decision 129. Candidate manifest 9ac3a56e
names packages/tasks/src/fake.mjs and packages/tasks/tests/tree.test.mjs.
Gate and both named mutants ran in Sage's slot.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 09:50:00 -05:00

46 lines
2.2 KiB
Bash

#!/bin/bash
# Row 71 round 1 gate, run from the worktree root (base ac6b56ee5 plus build.patch).
# Steps chain with && and stop at the first failure. Each child runs through run_group.py,
# which kills its whole process group on timeout.
P=agents/researcher/work/queue-71/r1
OUT=$P/out
RUN="python3 $P/run_group.py"
S=$OUT/gate-summary.txt
mkdir -p "$OUT"
: > "$S"
stamp() { date -u +%Y-%m-%dT%H:%M:%SZ; }
note() { echo "$*" >> "$S"; }
# step NAME TIMEOUT_S LOGNAME -- CMD...
step() {
local name=$1 t=$2 log=$OUT/$3 rc t0
shift 3
shift # the --
t0=$(stamp)
$RUN "$t" "$log" "$PWD" -- "$@"
rc=$?
note "$name rc=$rc start=$t0 end=$(stamp) $(grep -E '^# (tests|pass|fail|cancelled|skipped|todo) ' "$log" | tr -s ' ' | tr '\n' ' ')"
[ "$rc" -eq 0 ] || note "$name FAILED; last line: $(grep -v '^\s*$' "$log" | tail -1 | cut -c1-200)"
return "$rc"
}
note "gate start $(stamp) base $(git rev-parse HEAD)"
if sha256sum -c "$P/candidate-manifest.sha256" > "$OUT/manifest-check.txt" 2>&1 \
&& step node-tasks 900 node-tasks.log -- env DOCKER_HOST=unix:///nonexistent.sock node --test --test-reporter=tap 'packages/tasks/tests/*.test.mjs' \
&& step node-bus 900 node-bus.log -- env DOCKER_HOST=unix:///nonexistent.sock node --test --test-reporter=tap 'packages/bus/tests/*.test.mjs' \
&& step test-auth 1200 test-auth.log -- env -u DOCKER_HOST bash scripts/test-auth.sh \
&& step test-conductor 1200 test-conductor.log -- env -u DOCKER_HOST bash scripts/test-conductor.sh \
&& step test-config 1200 test-config.log -- env -u DOCKER_HOST bash scripts/test-config.sh \
&& step test-discord 1200 test-discord.log -- env -u DOCKER_HOST bash scripts/test-discord.sh \
&& step test-extension-package 1200 test-extension-package.log -- env -u DOCKER_HOST bash scripts/test-extension-package.sh \
&& step test-foundation 1200 test-foundation.log -- env -u DOCKER_HOST bash scripts/test-foundation.sh \
&& step test-queue 1200 test-queue.log -- env -u DOCKER_HOST bash scripts/test-queue.sh \
&& step test-release 1200 test-release.log -- env -u DOCKER_HOST bash scripts/test-release.sh \
&& step test-task 1200 test-task.log -- env DOCKER_HOST=unix:///nonexistent.sock bash scripts/test-task.sh
then
note "GATE PASS $(stamp)"
exit 0
fi
note "GATE STOPPED $(stamp)"
exit 1