Skip to content

Fix daily-spdd-spec-planner tool denial limit exceeded - #41770

Merged
pelikhan merged 2 commits into
mainfrom
copilot/aw-fix-daily-spdd-tool-denial
Jun 26, 2026
Merged

Fix daily-spdd-spec-planner tool denial limit exceeded#41770
pelikhan merged 2 commits into
mainfrom
copilot/aw-fix-daily-spdd-tool-denial

Conversation

Copilot AI commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

The specs/forecast-compliance-fixtures/ subdirectory (added June 26) pushed the workflow over the 5/5 tool-denial guardrail. The previous successful run had 4 denials; the new subdirectory file added a 5th.

Denial breakdown from run 28251414746:

  • glob on workspace root — no path pattern covered the workspace root directory
  • view on specs/forecast-compliance-fixtures/README.mdcat specs/*.md only extracts specs/*.md as a readable pattern; subdirectory files don't match
  • shell(python3 ...) — agent tried to construct issue JSON via Python instead of calling create_issue MCP directly → hit threshold, session aborted

Changes:

  • Bash allowlist — add cat specs/**/*.md alongside the existing cat specs/*.md. The SDK permission handler extracts specs/**/*.md as a readable path pattern, which glob-matches any file in any specs/ subdirectory.

  • Prompt guidance — explicitly tell the agent to use the allowed find specs docs scratchpad -type f -name "*.md" bash command for file discovery instead of the glob tool on the workspace root, and to call the create_issue MCP tool directly rather than building JSON payloads via shell/python3.

  • Test — add assertion that "cat specs/**/*.md" is present in the workflow to prevent regression when new spec subdirectories are added.

…ads and improve prompt guidance

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix daily SPDD Spec Planner tool denial limit issue Fix daily-spdd-spec-planner tool denial limit exceeded Jun 26, 2026
Copilot AI requested a review from pelikhan June 26, 2026 18:15
@pelikhan
pelikhan marked this pull request as ready for review June 26, 2026 18:22
Copilot AI review requested due to automatic review settings June 26, 2026 18:22
@pelikhan
pelikhan merged commit 08d9181 into main Jun 26, 2026
@pelikhan
pelikhan deleted the copilot/aw-fix-daily-spdd-tool-denial branch June 26, 2026 18:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a regression where the daily-spdd-spec-planner workflow exceeded the Copilot SDK tool-denial threshold after adding spec fixtures under specs/ subdirectories, by expanding the bash allowlist and adding a regression test to ensure subdirectory spec reads remain permitted.

Changes:

  • Extend the workflow’s bash allowlist to include cat specs/**/*.md so read-only inspection tools can access markdown specs in nested specs/ directories.
  • Add explicit prompt guidance to prefer the allowed find specs docs scratchpad -type f -name "*.md" command for discovery (avoiding denied root-level glob usage).
  • Add a test assertion to prevent the cat specs/**/*.md allowlist entry from being removed in future edits.
Show a summary per file
File Description
pkg/workflow/prompts_test.go Adds a regression assertion that the workflow includes cat specs/**/*.md in the bash allowlist.
.github/workflows/daily-spdd-spec-planner.md Expands bash allowlist and adds prompt guidance to avoid denial-heavy discovery patterns.
.github/workflows/daily-spdd-spec-planner.lock.yml Regenerated compiled lock file reflecting the updated allowlist entry.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment on lines 130 to +131
1. Emit exactly one `create_issue` item only after the full body is complete.
- Call the `create_issue` MCP tool directly with `title` and `body` fields — do not construct JSON payloads via bash, python3, or shell scripts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants