Release 1.1.3 — long skills keep their later steps

Fix release for 1.1.2: the 14 longest skills keep their later phases
after a compaction, a question nobody answered is never taken as an
answer, settings read the same from a subfolder, the commit check works
for a project in a subfolder of a larger repository, every skill opens
with a title, and the shipped allow rules no longer approve deleting a
branch or writing files without asking. Details in CHANGELOG.md; upgrade
steps in UPGRADING.md (v1.1.2 → v1.1.3).

Refs #83
Refs #133

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185en4t76fPn7315q4c3nko
This commit is contained in:
Donchitos
2026-10-08 17:52:48 +11:00
co-authored by Claude Opus 5.5
parent b21fa0f7f2
commit be8993bbc5
231 changed files with 12000 additions and 10527 deletions
+45 -2
View File
@@ -33,7 +33,10 @@
set -u
export LC_ALL=C
ROOT="${CLAUDE_PROJECT_DIR:-$(cd "$(dirname "$0")/../.." && pwd)}"
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
if [ -n "${CLAUDE_PROJECT_DIR:-}" ] && [ -f "$CLAUDE_PROJECT_DIR/project.yaml" ]; then
ROOT="$CLAUDE_PROJECT_DIR"
fi
cd "$ROOT" || exit 0
DIFFERS=0
@@ -163,7 +166,45 @@ case "$ENGINE_LC" in
fi
[ -n "$UEXE" ] && [ -x "$UEXE" ] && PROBE="$("$UEXE" -version 2>/dev/null | head -1)"
;;
unreal) command -v UnrealEditor-Cmd >/dev/null 2>&1 && PROBE="$(UnrealEditor-Cmd -version 2>/dev/null | head -1)" ;;
unreal)
# Never start the editor to learn its version: UnrealEditor-Cmd has no
# -version flag (UE 5.8), so it opened the editor and ran until killed, and
# /smoke-check's step 0 waited for ever. Read the engine's own
# Engine/Build/Build.version instead, under the first engine root found:
# engine.path (/setup-engine writes the UE root there), the editor path in
# commands.test, the launcher folder for the .uproject's EngineAssociation,
# then UnrealEditor-Cmd on PATH. A candidate that is not itself a root is
# cut back to the folder above its last /Engine. A source build's
# EngineAssociation is a GUID with no folder to derive, so it adds nothing.
UASSOC="$(sed -n 's/.*"EngineAssociation"[[:space:]]*:[[:space:]]*"\([0-9][0-9.]*\)".*/\1/p' ./*.uproject 2>/dev/null | head -1)"
ULAUNCH=""
if [ -n "$UASSOC" ]; then
case "$(uname -s)" in
Darwin) ULAUNCH="/Users/Shared/Epic Games/UE_$UASSOC" ;;
Linux) ;;
*) ULAUNCH="C:/Program Files/Epic Games/UE_$UASSOC" ;;
esac
fi
UROOT=""
for UCAND in \
"$(yaml_block_value engine path)" \
"$(yaml_block_value commands test | grep -oE '"[^"]*UnrealEditor[^"]*"' | head -1 | tr -d '"')" \
"$ULAUNCH" \
"$(command -v UnrealEditor-Cmd 2>/dev/null)"; do
[ -n "$UCAND" ] || continue
UCAND="$(printf '%s' "$UCAND" | tr '\\' '/')"
for UTRY in "$UCAND" "$(printf '%s' "$UCAND" | sed -E 's#^(.*)/Engine(/.*)?$#\1#')"; do
if [ -f "$UTRY/Engine/Build/Build.version" ]; then UROOT="$UTRY"; break 2; fi
done
done
if [ -n "$UROOT" ]; then
UBV="$(tr -d '\r\n' < "$UROOT/Engine/Build/Build.version")"
UMAJ="$(printf '%s' "$UBV" | grep -oE '"MajorVersion"[[:space:]]*:[[:space:]]*[0-9]+' | grep -oE '[0-9]+$')"
UMIN="$(printf '%s' "$UBV" | grep -oE '"MinorVersion"[[:space:]]*:[[:space:]]*[0-9]+' | grep -oE '[0-9]+$')"
UPAT="$(printf '%s' "$UBV" | grep -oE '"PatchVersion"[[:space:]]*:[[:space:]]*[0-9]+' | grep -oE '[0-9]+$')"
[ -n "$UMAJ" ] && [ -n "$UMIN" ] && PROBE="$UMAJ.$UMIN${UPAT:+.$UPAT} (Engine/Build/Build.version)"
fi
;;
esac
if [ -z "$PROBE" ]; then
@@ -171,6 +212,8 @@ if [ -z "$PROBE" ]; then
skipped "declared version vs installed binary — no Unity editor at the path in commands.test or in the Hub folder for engine.version. A probe that could not run has not established absence."
elif [ "$ENGINE_LC" = "godot" ]; then
skipped "declared version vs installed binary — no Godot executable found (commands.test, engine.path, PATH). A probe that could not run has not established absence."
elif [ "$ENGINE_LC" = "unreal" ]; then
skipped "declared version vs installed engine — no readable Engine/Build/Build.version under engine.path, the editor in commands.test, the launcher folder for the .uproject's EngineAssociation, or UnrealEditor-Cmd on PATH. A probe that could not run has not established absence."
else
skipped "declared version vs installed binary — no $ENGINE binary found on PATH. A probe that could not run has not established absence."
fi