Conversation
- Updated max-turns from 50 to 100 - Added all PR review safe output configurations: - update-pull-request - close-pull-request - create-pull-request-review-comment - submit-pull-request-review - resolve-pull-request-review-thread - push-to-pull-request-branch - add-reviewer - Added comprehensive test requirements for each PR review safe output (#11-17) - Updated output section to handle pass/fail/skip status - Recompiled workflow successfully Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| body: true | ||
| max: 1 | ||
| target: "*" | ||
| close-pull-request: |
| push-to-pull-request-branch: | ||
| target: "*" | ||
| if-no-changes: "warn" | ||
| add-reviewer: |
Set pull_request trigger to draft: true so safe outputs (close-pull-request, push-to-pull-request-branch, add-reviewer) only operate on draft PRs during smoke testing Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
- Remove draft: true from pull_request trigger - Add staged: true to safe-outputs for preview mode - All safe outputs now emit step summaries instead of GitHub API calls Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done. Removed Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
.github/workflows/smoke-claude.md
Outdated
- Remove top-level staged from safe-outputs - Add staged: true to close-pull-request (removed target: "*") - Add staged: true to push-to-pull-request-branch - Update BaseSafeOutputConfig to include Staged field - Update JSON schema to allow staged property for individual safe outputs - Rebuild binary with updated embedded schema Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR extends the smoke-claude workflow to test all 7 PR review-related safe outputs by adding comprehensive test cases and implementing per-safe-output staged mode for potentially disruptive operations.
Changes:
- Increased
max-turnsfrom 50 to 100 to accommodate additional testing - Added 7 new safe output configurations for PR review operations
- Added 7 new test cases (#11-17) in the workflow prompt
- Implemented per-safe-output staged mode for
close-pull-requestandpush-to-pull-request-branch
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
pkg/workflow/compiler_types.go |
Added Staged field to BaseSafeOutputConfig to enable per-safe-output staged mode |
pkg/parser/schemas/main_workflow_schema.json |
Added staged property to close-pull-request and push-to-pull-request-branch schemas; extensive formatting changes (array/enum multi-line formatting) |
.github/workflows/smoke-claude.md |
Updated max-turns to 100; added 7 PR review safe output configs; added tests #11-17 for comprehensive PR review testing |
.github/workflows/smoke-claude.lock.yml |
Compiled workflow with new safe outputs, tool schemas, permissions (contents:write), git setup steps, and handler configurations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs | ||
| cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF' | ||
| {"add_comment":{"max":2},"add_labels":{"allowed":["smoke-claude"],"max":3},"create_issue":{"expires":2,"group":true,"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}} | ||
| {"add_comment":{"max":2},"add_labels":{"allowed":["smoke-claude"],"max":3},"add_reviewer":{"max":2},"create_issue":{"expires":2,"group":true,"max":1},"create_pull_request_review_comment":{"max":5},"missing_data":{},"missing_tool":{},"noop":{"max":1},"push_to_pull_request_branch":{"max":0,"target":"*"},"resolve_pull_request_review_thread":{"max":5},"submit_pull_request_review":{"max":1},"update_pull_request":{"max":1}} |
There was a problem hiding this comment.
The close_pull_request safe output is missing from the MCP config.json, but it appears in tools.json (line 368-391). This means the AI can use the tool even though staged: true is set in the frontmatter.
Per-safe-output staged mode should set max: 0 in the config to hide the tool from the AI while keeping the handler active for preview. This pattern works correctly for push_to_pull_request_branch which has "max":0 in the config, but close_pull_request is completely missing from the config.
The config should include: "close_pull_request":{"max":0} to properly implement staged mode for this safe output.
| {"add_comment":{"max":2},"add_labels":{"allowed":["smoke-claude"],"max":3},"add_reviewer":{"max":2},"create_issue":{"expires":2,"group":true,"max":1},"create_pull_request_review_comment":{"max":5},"missing_data":{},"missing_tool":{},"noop":{"max":1},"push_to_pull_request_branch":{"max":0,"target":"*"},"resolve_pull_request_review_thread":{"max":5},"submit_pull_request_review":{"max":1},"update_pull_request":{"max":1}} | |
| {"add_comment":{"max":2},"add_labels":{"allowed":["smoke-claude"],"max":3},"add_reviewer":{"max":2},"close_pull_request":{"max":0},"create_issue":{"expires":2,"group":true,"max":1},"create_pull_request_review_comment":{"max":5},"missing_data":{},"missing_tool":{},"noop":{"max":1},"push_to_pull_request_branch":{"max":0,"target":"*"},"resolve_pull_request_review_thread":{"max":5},"submit_pull_request_review":{"max":1},"update_pull_request":{"max":1}} |
Extends smoke-claude workflow to validate all 7 PR review-related safe outputs. Previously only tested basic operations (issues, comments, labels); now covers complete PR review lifecycle.
Changes
Frontmatter updates:
max-turns: 50 → 100to accommodate additional test stepsupdate-pull-request- Modifies PR title/bodyclose-pull-request- Closes PRs without merge (per-safe-output staged mode)create-pull-request-review-comment- Adds inline review commentssubmit-pull-request-review- Submits consolidated review with statusresolve-pull-request-review-thread- Resolves review conversationspush-to-pull-request-branch- Pushes changes to PR branches (per-safe-output staged mode)add-reviewer- Assigns PR reviewersTest cases (tests #11-17):
Safety mechanism:
close-pull-requestandpush-to-pull-request-branchoperate in preview mode (emit step summaries only)Infrastructure changes:
Stagedfield toBaseSafeOutputConfigstructstagedproperty on individual safe outputsExample configuration:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.