Make an empty project-instructions-path actually disable the file - #336
Conversation
Sandbox testing with `project-instructions-path: ""` showed the agent reading `.github/triage-instructions.md` anyway. With the input empty, the prompt rendered as "If `` is not empty, read that path" — a degenerate sentence the model skipped before going on to find the conventional file on its own. The empty case is now stated explicitly: do not read any instructions file, not even one at the default location, because the caller disabled it deliberately. Applied to triage, auto-triage, and scope, which share the construction. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
Approved: no actionable issues found.
What is this? | From workflow: PR Review
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
|
Sandbox result for the unchecked test-plan item — partial. With
So the explicit wording helps but does not reliably stop haiku from reading the conventional path when the input is empty. I'm not going to iterate on prompt wording further; today's triage work showed that's a poor lever on this model tier. The gap is narrow in practice: it only bites when a repository has the file and a caller passes |
Takes #336 (empty project-instructions-path handling). The scope lock file conflicted; regenerated it with gh aw compile from the merged source rather than resolving by hand. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Summary
project-instructions-path: ""is documented as the way to disable the project instructions file, but it didn't work: in sandbox testing the agent read.github/triage-instructions.mdanyway.With the input empty, the prompt rendered as "If `` is not empty, use the GitHub repository read tools to read that path" — a degenerate sentence the model skipped, after which it went and found the conventional file on its own. The run artifact shows an explicit
get_file_contentson `.github/triage-instructions.md`, with the input confirmed empty in the activation log.The empty case is now stated explicitly: do not read any instructions file, not even one at the default location, because the caller disabled it deliberately. Applied to
issue-triage,issue-auto-triage, andissue-scope, which share the construction. Lock files recompiled.No interface change. Callers that never set the input to
""see no difference.Test plan
gh aw compileclean on all three workflows/triagewithproject-instructions-path: ""applies type +triagedonly — no board metadata, and noget_file_contentson the instructions path in the agent artifact🤖 Generated with Claude Code