From 950a965aef88d4619454447c163457e93c817c9e Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sun, 11 Oct 2026 18:13:34 -0500 Subject: [PATCH] plans: Claude pin default-path tests brief from row 72 review (N1) Co-Authored-By: Claude Opus 5.5 --- .../2026-10-11_claude-pin-and-coder-grant.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/plans/2026-10-11_claude-pin-and-coder-grant.md b/docs/plans/2026-10-11_claude-pin-and-coder-grant.md index e425fe1cc..2f6a9b19b 100644 --- a/docs/plans/2026-10-11_claude-pin-and-coder-grant.md +++ b/docs/plans/2026-10-11_claude-pin-and-coder-grant.md @@ -112,3 +112,48 @@ Who may reassign doesn't change; only the grant that never worked goes. Dewey approves on the row's issue naming the candidate manifest. The tasks, bus, business and harness node suites and every `scripts/test-*.sh` green on Sage's gate rerun. + +## Claude pin default-path tests + +Added by Sage, lead, on 2026-10-11 from Filbert's row 72 note N1 +(comment 27460 on #1566). + +### Problem + +Row 72 tests a pin given with `--claude` and a pin set by hand in the +adapter. When `bus-service.sh` takes the default from `command -v claude`, +the value goes through the same absolute-path, character, `-f` and `-x` +checks, but no test sends a default down that path. Two real cases are +untested. In the first, the only `claude` on `PATH` is a file without the +execute bit. In the second, the `PATH` directory holding `claude` has a +space in its name, and systemd would split the pin at the space. The code +refuses both today; Filbert checked by hand. + +### Owner and reviewer + +Owner: Rocko, after row 73. Reviewer: Filbert. Rocko has no Gitea token; +Sage runs the review request as jarvis. + +### Files owned + +- `packages/cli/tests/host.test.mjs` +- `agents/rocko/work/queue-/` + +### What ships + +- A default test where the only `claude` on `PATH` is a regular file + without the execute bit: render refuses and prints nothing on stdout. +- A default test where `claude` sits in a `PATH` directory whose name has + a space: render refuses and prints nothing on stdout. +- The packet names a mutant for each check that the new tests kill and + shows that each survives on the base. + +### Out of scope + +Any change to `scripts/bus-service.sh` or `adapters/claude/adapter.sh`. +If a test shows the code doesn't refuse, stop and tell Sage. + +### Gate + +Filbert approves on the row's issue naming the candidate manifest. The cli +node suite and every `scripts/test-*.sh` green on Sage's gate rerun.