#!/bin/sh # Row 41 (#1523) recorded acceptance run. Run it from a human shell, not # inside Claude Code, T3, Codex or pi: `talk` and `agents` refuse inside an # agent (REQ-DEC-3), and the broker checks the whole process ancestry. # sh ~/filbert-scratch/r41run/run.sh # Scratch data root, business acme with placeholder token files, no tracker. # Not the live mosaic-bus@mosaic-stack unit. Everything goes to run.log. set -u W=/home/jwoltje/filbert-scratch/r41a # detached worktree of fe5c68fa S=${R41_ROOT:-/home/jwoltje/filbert-scratch/r41run/run} # scratch config and data root L=${R41_LOG:-/home/jwoltje/filbert-scratch/r41run/run.log} export MOSAIC_CONFIG="$S/config/config.json" MOSAIC_ROLES_DIR="$S/roles" cd "$W" || exit 1 : > "$L" step() { printf '\n$ %s\n' "$*" | tee -a "$L" "$@" > "$S/step.out" 2>&1 rc=$? cat "$S/step.out" | tee -a "$L" echo "(exit $rc)" | tee -a "$L" } date -u +%FT%TZ | tee -a "$L" git rev-parse HEAD | tee -a "$L" printf '\n$ scripts/mosaic bus start acme --pm &\n' | tee -a "$L" scripts/mosaic bus start acme --pm > "$S/host.out" 2>&1 & HOST=$! i=0 until grep -q '^launched pm' "$S/host.out" 2>/dev/null; do i=$((i + 1)) if [ "$i" -gt 60 ] || ! kill -0 "$HOST" 2>/dev/null; then cat "$S/host.out" | tee -a "$L"; kill "$HOST" 2>/dev/null; exit 1; fi sleep 0.5 done cat "$S/host.out" | tee -a "$L" step scripts/mosaic agents echo "(talk waits up to 300 s for the PM's reply)" step scripts/mosaic talk pm "Launch the coder instance with your launch tool. Then reply with the run id the tool returned." --wait 300 step scripts/mosaic agents step scripts/mosaic launches list step scripts/mosaic bus stop wait "$HOST" printf '\n$ cat host.out\n' | tee -a "$L"; cat "$S/host.out" | tee -a "$L" printf '\n$ ps (processes naming the scratch root)\n' | tee -a "$L" left=$(ps -eo pid,args | grep -F "$S/" | grep -v grep) echo "${left:-none}" | tee -a "$L" step scripts/mosaic launches list step scripts/mosaic bus status printf '\n$ cat launches/acme.jsonl\n' | tee -a "$L"; cat "$S/data/launches/acme.jsonl" | tee -a "$L" date -u +%FT%TZ | tee -a "$L" echo "done: $L"