Add cross-shell notes for the bash-only lab commands that break on Windows PowerShell / base macOS #32
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
AGENTS.md/Module 1 promise labs run on any OS and name PowerShell as supported, but several commands are POSIX-only and have no Windows/macOS variant:
mkdir -p(PowerShellNew-Itemhas no-p).rm -f tasks.json(a load-bearing recovery step;rm -fis not PowerShell).docker run --rm -v "$PWD":/app …bind-mount (the:needs${PWD}quoting; works differently across shells).timeoutusage inlab/inspect-runner.shuses GNUtimeout, absent on macOS (the bug is macOS, not PowerShell — the script runs via bash).(Scope note: M17 already provides PowerShell variants and M18 already carries a "use WSL or Git Bash" note, so they are NOT part of this fix. The original finding's claim about an M19 PowerShell
timeoutnetwork probe and an M16/M18$PWDPowerShell issue was overstated — keep this issue to the four verified items above.)Evidence
modules/01-.../README.mdlines 144-149:mkdir -p ~/workflow-course/tasks-app.modules/16-.../README.md~line 228:docker run --rm -v "$PWD":/app.modules/19-.../lab/inspect-runner.shusestimeout.modules/12-.../README.mdrm -f tasks.json.Why it matters
"Labs run on any OS" is a Core Promise; these commands silently break for Windows (and one for macOS) users.
Proposed change
Reuse the course's own established escape-hatch pattern (the concise "on Windows, use WSL or Git Bash" note already in M15/M18) uniformly in M1, M12, and M16, rather than per-command translations. Specifically:
New-Item -ItemType Directory -Force)".rm -f tasks.json(e.g.Remove-Item -Forceordel), since it's a load-bearing recovery step with no Windows note.${PWD}and note the WSL/Git Bash path.inspect-runner.sh'stimeoutmacOS-safe (bash-native fallback, or detectgtimeout).Acceptance criteria
inspect-runner.shdoes not silently lose its section on macOS lacking GNUtimeout.Affected files
modules/01-.../README.md,modules/12-.../README.md,modules/16-.../README.md,modules/19-.../lab/inspect-runner.shReferences
Source finding F12 (realVotes 2/3 — one lens judged it overstated; this issue is scoped to the verified items only).
Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.