* fix(reset): make the documents reset block POSIX so it runs under zsh
The block merged in #580 used the bash-only builtin
"shopt -s dotglob nullglob". Claude Code's Bash tool runs the user's
shell, which is zsh on macOS, where the line fails with "command not
found: shopt", and under set -e the subshell exits 127 before its
deletion loop: the reset reported success and deleted nothing. The
replay tests ran the block under bash only, so they stayed green.
Rewrite the block as POSIX shell: explicit directory names instead of
brace expansion, and
"find <dir> -mindepth 1 -maxdepth 1 ! -name .gitkeep -exec rm -rf -- {} +",
which lists hidden entries and nested folders without any glob setting.
The replay tests now run the block under every shell present (bash,
zsh, sh, dash) and guard against bashisms returning. The zsh and dash
subtests fail on master.
* changelog: place the #699 entry under [Unreleased]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Mads Lorentzen <madslorentzen_17@hotmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* test(reset): probe Bash variable expansion on Windows
Use a bounded variable-expansion probe so a launcher that starts successfully but consumes $x is rejected. Rebase over #676 and keep its upstream-checkout guard alongside Bash discovery.
Thanks to MadsLorentzen for diagnosing the launcher expansion failure and verifying the stronger probe.
* changelog: place the #671 entry under [Unreleased]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Mads Lorentzen <madslorentzen_17@hotmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>