#!/usr/bin/env bash # Dewey's row 143 round 2 review runs (sage slot). Usage: run.sh . # 1. round 2 tree: touched and related test files singly, then the bus, business and harness packages; # 2. Researcher's mutants.sh and Dewey's extra-mutants.sh on that tree; # 3. combined tree (143 r2 + 149 candidate): bus, business and harness packages, and the other files that read roles/. set -uo pipefail R2=$(cd "$1" && pwd); CB=$(cd "$2" && pwd) OUT=$(cd "$(dirname "$0")" && pwd); PKT=$(cd "$OUT/.." && pwd) RES=/mnt/storage/src/mosaic-stack/agents/researcher/work/queue-143 export TMPDIR=$HOME/dewey-scratch/tmp status=0 counts() { grep -E '^ℹ (tests|pass|fail) ' "$1" | awk '{printf "%s=%s ", $2, $3}'; } single() { # tree label file local log="$OUT/$2/$(echo "$3" | tr / _).log"; mkdir -p "$OUT/$2" (cd "$1" && node --test "$3") > "$log" 2>&1; local rc=$? echo "$2 $3 rc=$rc $(counts "$log")"; [ $rc -eq 0 ] || status=1 } pkg() { # tree label package local log="$OUT/$2/pkg-$3.log"; mkdir -p "$OUT/$2" (cd "$1/packages/$3" && node --test tests/*.test.mjs) > "$log" 2>&1; local rc=$? echo "$2 pkg-$3 rc=$rc $(counts "$log")"; [ $rc -eq 0 ] || status=1 } echo "start $(date -u +%FT%TZ)" for f in packages/bus/tests/spec-review.test.mjs packages/business/tests/spec-review-contracts.test.mjs \ packages/harness/tests/tools.test.mjs packages/business/tests/chief-of-staff.test.mjs \ packages/bus/tests/chief-of-staff.test.mjs packages/business/tests/assistant.test.mjs \ packages/business/tests/role.test.mjs packages/bus/tests/csuite-messaging.test.mjs \ packages/bus/tests/decision-route.test.mjs packages/harness/tests/spec-tools.test.mjs; do single "$R2" r2 "$f"; done for p in bus business harness; do pkg "$R2" r2 "$p"; done echo "mutants start $(date -u +%FT%TZ)" bash "$RES/mutants.sh" "$R2" "$OUT/mutants" > "$OUT/mutants.log" 2>&1; echo "mutants.sh rc=$?" bash "$PKT/extra-mutants.sh" "$R2" "$OUT/extra" > "$OUT/extra.log" 2>&1; echo "extra-mutants.sh rc=$?" (cd "$R2" && git status --short | grep -v node_modules | wc -l | sed 's/^/r2 dirty paths after mutants: /') echo "combined start $(date -u +%FT%TZ)" for p in bus business harness; do pkg "$CB" combined "$p"; done for f in packages/tasks/tests/fields.test.mjs packages/webui/tests/reads.test.mjs packages/webui/tests/views.test.mjs; do single "$CB" combined "$f"; done echo "end $(date -u +%FT%TZ) status=$status" exit $status