Under Windows git-bash, pwd yields a POSIX path (/c/Users/...) that Bun on
Windows cannot resolve as an ES module specifier. gstack-learnings-log
interpolates SCRIPT_DIR into a bun -e import, so every invocation died with
"Cannot find module" — and 2>/dev/null swallowed the error, silently
dropping every AI-logged learning for Windows users.
- 3-line cygpath -m guard in gstack-learnings-log and gstack-question-log
(which gains the same import shape in the next commit). Matches the
duplicated IS_WINDOWS convention in setup; no shared shell lib exists.
- learnings-log adopts question-log's set +e / TMPERR capture pattern
wholesale: validation errors now print to stderr. The old
`if [ $? -ne 0 ]` check was dead code under set -euo pipefail — the
script exited at the failing assignment before reaching it.
- New test/bin-windows-bun-import-paths.test.ts: static invariant (any
bash bin interpolating $SCRIPT_DIR into a bun -e import must carry the
guard) + behavioral end-to-end run invoked via `bash <bin>` — added to
the windows-free-tests workflow list so the conversion is proven on the
only platform where the bug exists.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>