Static hash-pin search, no Node execution.
Searched every changed path in packages/*/tests and scripts.
scripts/test-case2.sh: rg rc 1
scripts/case2/e2e.mjs: rg rc 0
scripts/case2/e2e.mjs:245:if (!root) { process.stderr.write('usage: node scripts/case2/e2e.mjs <scratch dir>\n'); process.exit(2); }
scripts/test-case2.sh:33:DRIVER=scripts/case2/e2e.mjs
scripts/case2/launch.mjs: rg rc 1
scripts/case2/console.mjs: rg rc 1
agents/gizmoduck/work/queue-227/BUILD.md: rg rc 1
agents/steelbeak/work/queue-227/BUILD.md: rg rc 1
BUILD-LOG.md: rg rc 0
packages/cli/tests/gate-lane-auth.test.mjs:49:const SKIP_COPY = new Set(['.git', 'node_modules', 'v1', 'agents', 'docs', 'BUILD-LOG.md', join('scripts', 'foundation')]);
docs/SESSIONS.md: rg rc 1
Positive control: existing case1-accept.sh references (first three)
1:// Row 195 (#1693): scripts/case1-accept.sh, root's acceptance run on the Case 1 host. Design r7 section 5
19:const SCRIPT = join(REPO, "scripts", "case1-accept.sh");
755:    "retired TCP": [(h) => put(h.args, [...ARGS.slice(0,-1),'--tester-port','7333'].join('\n')+'\n',0o644), /case1-accept.sh retires tester TCP; use --tester-socket$/],
Conclusion: only new self-reference and gate-lane copy-exclusion references; no path-specific hash pins on changed files.
