test: run the suite against the tree that contains it

The harness read hooks and scripts from ~/.claude, so running it from the
repo tested the installed release, not the working tree. Tests 120-122
failed on an install older than the code under test.

Resolve paths from the script location. The repo and an install share the
layout <base>/hooks and <base>/adam/scripts, so the installed copy still
tests ~/.claude.

Claude-Session: https://claude.ai/code/session_014prTNuJnKuwcAd28vUZAnN
This commit is contained in:
2026-09-25 02:38:29 +01:00
parent 2b6e8da885
commit 0ec17517d9
+21 -17
View File
@@ -5,21 +5,24 @@
set -euo pipefail set -euo pipefail
REAL_HOME="$HOME" REAL_HOME="$HOME"
HOOK="$REAL_HOME/.claude/hooks/adam-observe.mjs" # Test the tree this script lives in: <base>/adam/tests/run-tests.sh. The repo
NUDGE="$REAL_HOME/.claude/hooks/adam-nudge.mjs" # and an install (~/.claude) share the layout <base>/hooks, <base>/adam/scripts.
ARCHIVE="$REAL_HOME/.claude/adam/scripts/adam-archive.mjs" BASE="$(cd "$(dirname "$0")/../.." && pwd)"
WINDOW="$REAL_HOME/.claude/adam/scripts/adam-window.mjs" HOOK="$BASE/hooks/adam-observe.mjs"
EXPLAIN="$REAL_HOME/.claude/adam/scripts/adam-explain.mjs" NUDGE="$BASE/hooks/adam-nudge.mjs"
ELIGIBILITY="$REAL_HOME/.claude/adam/scripts/adam-nudge-eligibility.mjs" ARCHIVE="$BASE/adam/scripts/adam-archive.mjs"
COOLDOWN="$REAL_HOME/.claude/adam/scripts/adam-cooldown.mjs" WINDOW="$BASE/adam/scripts/adam-window.mjs"
SCORE="$REAL_HOME/.claude/adam/scripts/adam-score.mjs" EXPLAIN="$BASE/adam/scripts/adam-explain.mjs"
ABMEASURE="$REAL_HOME/.claude/adam/scripts/adam-ab-measure.mjs" ELIGIBILITY="$BASE/adam/scripts/adam-nudge-eligibility.mjs"
APPLYREIN="$REAL_HOME/.claude/adam/scripts/adam-apply-reinforcement.mjs" COOLDOWN="$BASE/adam/scripts/adam-cooldown.mjs"
UPGRADE="$REAL_HOME/.claude/adam/scripts/adam-upgrade.mjs" SCORE="$BASE/adam/scripts/adam-score.mjs"
BATCH="$REAL_HOME/.claude/adam/scripts/adam-batch.mjs" ABMEASURE="$BASE/adam/scripts/adam-ab-measure.mjs"
ROLLBACK="$REAL_HOME/.claude/adam/scripts/adam-rollback.mjs" APPLYREIN="$BASE/adam/scripts/adam-apply-reinforcement.mjs"
SKILLUTIL="$REAL_HOME/.claude/adam/scripts/adam-skill-utility.mjs" UPGRADE="$BASE/adam/scripts/adam-upgrade.mjs"
APPLYNUDGE="$REAL_HOME/.claude/adam/scripts/adam-apply-nudge.mjs" BATCH="$BASE/adam/scripts/adam-batch.mjs"
ROLLBACK="$BASE/adam/scripts/adam-rollback.mjs"
SKILLUTIL="$BASE/adam/scripts/adam-skill-utility.mjs"
APPLYNUDGE="$BASE/adam/scripts/adam-apply-nudge.mjs"
TMP_HOME="$(mktemp -d -t adam-test.XXXXXX)" TMP_HOME="$(mktemp -d -t adam-test.XXXXXX)"
trap 'rm -rf "$TMP_HOME"' EXIT INT TERM trap 'rm -rf "$TMP_HOME"' EXIT INT TERM
@@ -1383,9 +1386,10 @@ rm -f "$ROOT/applied/2026-05-11-legacy-target.md"
# --- Test 77: install.sh covers every adam-*.mjs script in scripts/ --- # --- Test 77: install.sh covers every adam-*.mjs script in scripts/ ---
echo "Test 77: install.sh references every adam-*.mjs file" echo "Test 77: install.sh references every adam-*.mjs file"
SCRIPTS_DIR="$REAL_HOME/.claude/adam/scripts" SCRIPTS_DIR="$BASE/adam/scripts"
INSTALL_SH="" INSTALL_SH=""
for cand in "$REAL_HOME/Documents/projects/private/claude-adam/install.sh" \ for cand in "$BASE/install.sh" \
"$REAL_HOME/Documents/projects/private/claude-adam/install.sh" \
"$REAL_HOME/Documents/projects/private/adam/install.sh"; do "$REAL_HOME/Documents/projects/private/adam/install.sh"; do
[ -f "$cand" ] && INSTALL_SH="$cand" && break [ -f "$cand" ] && INSTALL_SH="$cand" && break
done done