fix(planning): kill the server by native pid in the watch clean-stop test on Windows - #5748
Conversation
…test on Windows Case (o) of watch.test.sh stopped the server with Git Bash `kill`, which does not know the native Windows pid the server records, so the server kept answering and the case failed on Windows Git Bash while watch.sh itself was correct. The case now uses `taskkill //F //PID` on MINGW*, MSYS* and CYGWIN* and `kill` elsewhere. watch.test.sh passes 27 of 27 on Linux and on Windows Git Bash, and the surface README states the verified Windows behavior. Closes #5723 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Claude finished @kyle-sexton's task in 1m 31s —— View job Code review complete ✅
SummaryReviewed the diff ( No blocking findings. The fix is narrowly scoped and correct:
No security, architecture, or maintainability concerns in this diff. |
|
Claude finished @kyle-sexton's task in 40s —— View job Security review complete
No security issues found. This PR touches only test-harness and documentation surface:
No authn/authz, injection, secret-handling, or GitHub Actions concerns in scope for this diff. |
Closes #5723
Summary
On Windows Git Bash,
round.sh stopalready ends the watcher through the refused-poll path:watch.shexits 3 with "the interview server was stopped (round.sh stop): not re-arming" and nowatch.shor curl long-poll is left (confirmed on the issue). The one failing case inwatch.test.shwas a test defect: case (o) stopped the server with Git Bashkill "$spid", but$spidis a native Windows pid, sokillprinted "No such process" and the server kept answering.Fix
plugins/planning/surface/watch.test.sh, case (o): stop the server withtaskkill //F //PID "$spid"whenuname -sisMINGW*,MSYS*orCYGWIN*, andkill "$spid"elsewhere.plugins/planning/surface/README.md: replace "That path has not been exercised on Windows Git Bash." with the verified behavior.plugins/planning/.claude-plugin/plugin.json0.58.3 to 0.58.4, with aCHANGELOG.mdentry.SKILL.md,context/loop.mdorevals.jsonis touched.Verification
Linux (WSL, this branch),
bash plugins/planning/surface/watch.test.sh:Windows, melo-desk-001, native Git Bash (
MSYS_NT-10.0-26200, GNU bash 5.3.15, Git for Windows 2.55.0), a copy of this branch'splugins/planningunderC:\Users\KyleSexton\claude-lane-sandbox\, launched through WSL interop withbash.exe plugins/planning/surface/watch.test.sh:Before this change the same host gave
PASS=26 FAIL=1with "FAIL: watch.sh kept retrying after a clean stop" (issue comment 5940259605). No process from the run was left behind. Also green:plugins/planning/tests/interview-defenses.test.sh(PASS=165 FAIL=0),scripts/check-changelog-parity.sh(--check,--check-bump origin/main,--check-order),markdownlint-cli2on the two touched.mdfiles.Related
🤖 Generated with Claude Code