Skip to content

Omit CLI-only safeoutputs instructions when bash is disabled; make cli-proxy/bash incompatibility explicit - #53548

Merged
pelikhan merged 15 commits into
mainfrom
copilot/fix-no-bash-workflow-safeoutputs
Aug 18, 2026
Merged

Omit CLI-only safeoutputs instructions when bash is disabled; make cli-proxy/bash incompatibility explicit#53548
pelikhan merged 15 commits into
mainfrom
copilot/fix-no-bash-workflow-safeoutputs

Conversation

CopilotAI commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

A strict workflow that must set tools.bash: false (e.g. tools.github.min-integrity: none) still received the <mcp-clis> prompt section, which tells the agent to invoke safeoutputs from bash and that it is not an MCP tool. With no shell tool in the harness, a model following that instruction can finish without emitting any safe output — silently, when failure reporting is disabled.

Changes

  • Prompt generation (pkg/workflow/mcp_cli_mount.go): buildMCPCLIPromptSection returns nil when shell execution is fully refused (bash: false or bash: []). The <mcp-clis> section and GH_AW_MCP_CLI_SERVERS_LIST are dropped, leaving the <safe-output-tools> MCP guidance as the only advertised path. The mount step is untouched, so engine.command harnesses keep their CLI wrappers on PATH.
  • Validation (pkg/workflow/tools_validation.go): tools.cli-proxy: true is now rejected when bash is disabled — CLI wrappers are only reachable from a shell.
  • Strict mode (pkg/workflow/strict_mode_network_validation.go): a disabled tools.bash now requires an explicit tools.cli-proxy: false, mirroring the existing min-integrity: none ⇒ explicit tools.bash rule, so the incompatibility is visible in the source.
  • Codemod (pkg/cli/codemod_cli_proxy_bash.go): cli-proxy-false-when-bash-disabled inserts cli-proxy: false into the tools: block, or rewrites an existing cli-proxy: true, via gh aw fix.
  • Repository workflows: ai-moderator (which paired bash: false with cli-proxy: true), smoke-agent-all-none, and smoke-agent-public-none updated and recompiled. Two existing tests using bash: false / bash: [] gained the now-required explicit setting.
  • Docs (reference/tools.md), changeset, and tests for the prompt suppression, validation matrix, strict rule, and codemod.
tools:
bash: falsecli-proxy: false # added by `gh aw fix`; required in strict modegithub:
min-integrity: nonesafe-outputs:
add-labels:

Resulting lock diff for such a workflow: mcp_cli_tools_with_safeoutputs_prompt.md and GH_AW_MCP_CLI_SERVERS_LIST no longer appear in GH_AW_PROMPT_CONFIG.

Note: the strict-mode rule is a compile-time behavior change for existing workflows that disable bash without stating cli-proxy: false; the codemod is the intended migration path.


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 10.7 AIC · ⌖ 7.81 AIC · ⊞ 6.4K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 7.29 AIC · ⌖ 7.92 AIC · ⊞ 8.8K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 10.6 AIC · ⌖ 7.87 AIC · ⊞ 6.4K ·
Comment /souschef to run again


Caution

agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

Details

Potential security threats were detected in the agent output.

Review the workflow run logs for details.

Run: https://github.com/github/gh-aw/actions/runs/32109331559> Generated by 👨‍🍳 PR Sous Chef · gpt54 · 30 AIC · ⌖ 11.4 AIC · ⊞ 8.8K ·

Comment /souschef to run again


Run: https://github.com/github/gh-aw/actions/runs/32123781702> Generated by 👨‍🍳 PR Sous Chef · gpt54 · 41.3 AIC · ⌖ 7.88 AIC · ⊞ 8.8K ·

Comment /souschef to run again

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for working on this! 👋 This PR addresses a real pain point in #53532 where strict Copilot workflows with Bash disabled still receive CLI-only safeoutputs instructions, creating a mismatch between what the prompt directs and what tools are actually available.

A few things to keep in mind as you complete this implementation:

  • Add test coverage — The implementation checklist includes validation, codemods, and workflow updates. Make sure to add tests for compiler validation, codemod correctness, and prompt generation with bash disabled.
  • Document the behavior — Update docs to explain the new validation rule and when cli-proxy: false is required.

This is in great shape once the implementation is complete and tests are added!

Generated by ✅ Contribution Check · auto · 52.7 AIC · ⌖ 5.23 AIC · ⊞ 9.2K ·

CopilotAIand others added 2 commits August 18, 2026 01:28
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
CopilotAI changed the title [WIP] Fix CLI-only safeoutputs instructions in strict workflowsOmit CLI-only safeoutputs instructions when bash is disabled; make cli-proxy/bash incompatibility explicitAug 18, 2026
CopilotAI requested a review from pelikhanAugust 18, 2026 01:39
@pelikhan
pelikhan marked this pull request as ready for review August 18, 2026 01:41
CopilotAI balanced review requested due to automatic review settings August 18, 2026 01:41
@github-actions

github-actionsBot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ failed during design decision gate check.

Warning

Threat Detection Engine Failure — The analysis engine could not complete. This is a tooling failure, not a security finding.

What happened

The threat detection engine failed to produce results.

Review the workflow run logs for details.

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

github-actionsBot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Ponytail Reviewer completed successfully!

Generated by Ponytail Reviewer for #53548

@github-actions

github-actionsBot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel skipped because pre-fetch PR data was unavailable: unable to fetch test file diff

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actionsBot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actionsBot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actionsgithub-actionsBot 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.

The implementation is clean and well-structured.

  • Validation split is correct: validateCLIProxyBashCompatibility (non-strict) rejects only cli-proxy: true + bash disabled. validateStrictTools additionally requires the explicit cli-proxy: false declaration — the two layers are properly separated.
  • Prompt gating (buildMCPCLIPromptSectiondata.BashDisabled) prevents confusing CLI-only instructions from reaching agents that have no shell — the key behavioral fix.
  • Codemod insertion logic correctly finds the first field of the tools: block and inserts before it, preserving natural YAML ordering.
  • Duplicate helper logic (isBashExplicitlyRefused / frontmatterRefusesBash) is acceptable given the package boundary — both are identical and correct.
  • Test coverage is thorough across validator, codemod, prompt section, and strict mode.

No blocking issues found. ✅

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · sonnet46 · 38 AIC · ⌖ 11.7 AIC · ⊞ 5.7K

@github-actions

Copy link
Copy Markdown
Contributor

Comment Memory

reviewed_at: 2026-08-18T00:00:00Z
review_event: REQUEST_CHANGES
top_themes:
- strict-mode rule conflicts with Pi engine requirements
files_reviewed:
- .changeset/cli-proxy-incompatible-with-bash-disabled.md
- .github/workflows/ai-moderator.md
- .github/workflows/smoke-agent-all-none.md
- .github/workflows/smoke-agent-public-none.md
- docs/src/content/docs/reference/tools.md
- pkg/cli/codemod_cli_proxy_bash.go
- pkg/cli/codemod_cli_proxy_bash_test.go
- pkg/cli/fix_codemods.go
- pkg/workflow/compiler_orchestrator_workflow.go
- pkg/workflow/compiler_string_api.go
- pkg/workflow/mcp_cli_mount.go
- pkg/workflow/strict_mode_network_validation.go
- pkg/workflow/tools_validation.go
comment_count: 0

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

🔎 Code quality review by PR Code Quality Reviewer · gpt54 · 14.9 AIC · ⌖ 6.78 AIC · ⊞ 4.5K ·
Comment /review to run again

github-actions[bot]
github-actionsBot previously requested changes Aug 18, 2026

@github-actionsgithub-actionsBot 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.

Request changes

This patch introduces one merge-blocking regression: it makes tools.bash: false incompatible with Pi workflows by unconditionally requiring tools.cli-proxy: false in strict mode, even though Pi explicitly requires tools.cli-proxy: true and relies on CLI-mounted MCP tools instead of shell access.

Blocking theme
  • The new strict-mode rule conflicts with existing engine requirements and rejects a valid no-shell configuration for Pi.
  • The change needs an engine-aware exception or the compatibility rule needs to be narrowed so it only applies to engines that actually depend on bash for CLI access.

🔎 Code quality review by PR Code Quality Reviewer · gpt54 · 14.9 AIC · ⌖ 6.78 AIC · ⊞ 4.5K
Comment /review to run again

@github-actionsgithub-actionsBot 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.

Ponytail review: scoped to complexity/over-engineering only.

pkg/cli/codemod_cli_proxy_bash.go:L219-237: yagni: frontmatterRefusesBash duplicates tools_validation.go's isBashExplicitlyRefused (identical bool/[]any switch logic, different map depth). Export/reuse one helper instead of maintaining two copies.

Everything else (codemod line-rewriting, validation, prompt-section gating) is proportionate to the bug being fixed — no speculative abstractions or unused flexibility found.

net: -14 lines possible.

Generated by ✂️ Ponytail Reviewer for #53548 · auto · 28.2 AIC · ⌖ 5.51 AIC · ⊞ 7.3K
Comment /ponytail to run again

Comments that could not be inline-anchored

pkg/cli/codemod_cli_proxy_bash.go:237

L219-237: yagni: frontmatterRefusesBash duplicates tools_validation.go's isBashExplicitlyRefused (identical bool/[]any switch logic, just a different map nesting depth). Export/reuse one helper instead of maintaining two copies.

@github-actionsgithub-actionsBot 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.

Skills-Based Review 🧠

Applied /diagnosing-bugs and /tdd — commenting on two minor issues; no blocking changes.

📋 Key Themes & Highlights

Key Themes

  • Logic duplication: frontmatterRefusesBash (codemod package) and isBashExplicitlyRefused (workflow package) implement the same semantics independently — drift risk if one is updated.
  • Test boundary clarity: TestValidateCLIProxyBashCompatibility doesn't explicitly assert that bash: false with no cli-proxy key is valid — this leaves the function's narrow scope (only blocking cli-proxy: true) unspecified in the tests.
  • Codemod insertion order: setCLIProxyFalseInTools inserts before the first field rather than after bash:, so the generated change puts cli-proxy: above bash: which is slightly surprising to readers.

Positive Highlights

  • ✅ Root cause addressed properly — both prompt suppression and validation guards prevent re-introduction.
  • ✅ Strict-mode rule mirrors the existing min-integrity: none ⇒ explicit bash pattern — consistent design.
  • ✅ Codemod is well-tested (idempotency, both insert and rewrite paths covered).
  • ✅ Changeset, docs, and all affected workflows updated atomically.
  • validateCLIProxyBashCompatibility is correctly called in both ParseWorkflowString and validateWorkflowToolConfigurations so neither compilation path is missed.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · sonnet46 · 55.2 AIC · ⌖ 10.2 AIC · ⊞ 7.8K
Comment /matt to run again

Comment threadpkg/workflow/tools_validation_test.go
Comment threadpkg/cli/codemod_cli_proxy_bash.go
Comment threadpkg/cli/codemod_cli_proxy_bash.go Outdated

CopilotAI 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

Prevents shell-disabled workflows from receiving unusable MCP CLI instructions and adds validation plus migration support.

Changes:

  • Suppresses MCP CLI prompts when Bash is disabled.
  • Rejects incompatible CLI proxy settings and adds a codemod.
  • Updates tests, documentation, and affected workflows.
Show a summary per file
FileDescription
pkg/workflow/tools_validation.goAdds Bash/CLI proxy compatibility validation.
pkg/workflow/tools_validation_test.goTests compatibility validation.
pkg/workflow/strict_mode_validation_test.goTests strict-mode requirements.
pkg/workflow/strict_mode_network_validation.goRequires explicit CLI proxy disablement.
pkg/workflow/mcp_cli_mount.goOmits CLI prompts without Bash.
pkg/workflow/mcp_cli_mount_test.goTests prompt omission.
pkg/workflow/compiler_string_api.goApplies validation to string parsing.
pkg/workflow/compiler_orchestrator_workflow.goApplies validation during compilation.
pkg/workflow/compiler_orchestrator_workflow_test.goUpdates disabled-Bash fixture.
pkg/workflow/bash_anonymous_validation_test.goUpdates strict Bash fixture.
pkg/cli/fix_codemods.goRegisters the migration codemod.
pkg/cli/fix_codemods_test.goVerifies codemod registration and order.
pkg/cli/compile_guard_policy_test.goUpdates guard-policy fixture.
pkg/cli/codemod_cli_proxy_bash.goImplements CLI proxy migration.
pkg/cli/codemod_cli_proxy_bash_test.goTests codemod behavior.
docs/src/content/docs/reference/tools.mdDocuments the incompatibility.
.github/workflows/smoke-agent-public-none.mdExplicitly disables CLI proxy.
.github/workflows/smoke-agent-public-none.lock.ymlRecompiles the public smoke workflow.
.github/workflows/smoke-agent-all-none.mdExplicitly disables CLI proxy.
.github/workflows/smoke-agent-all-none.lock.ymlRecompiles the all-none smoke workflow.
.github/workflows/ai-moderator.mdDisables MCP CLI mounting.
.github/workflows/ai-moderator.lock.ymlRecompiles the moderator workflow.
.changeset/cli-proxy-incompatible-with-bash-disabled.mdRecords the behavioral change.

Review details

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 23/23 changed files
  • Comments generated: 3
  • Review effort level: Balanced

Comment thread.github/workflows/ai-moderator.md
Comment threadpkg/cli/codemod_cli_proxy_bash.go Outdated
Comment threadpkg/cli/codemod_cli_proxy_bash.go
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please address the blocking review feedback below, refresh the branch if needed, then run the pr-finisher skill and report back with validation results and any remaining blockers.

Run: https://github.com/github/gh-aw/actions/runs/32093730091

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 10.7 AIC · ⌖ 7.81 AIC · ⊞ 6.4K ·
Comment /souschef to run again

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please review the remaining addressed feedback on this PR, confirm which threads can now be resolved, and run the pr-finisher skill if any follow-up edits are still needed.

Run: https://github.com/github/gh-aw/actions/runs/32112664745

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 22.3 AIC · ⌖ 7.94 AIC · ⊞ 8.8K ·
Comment /souschef to run again

CopilotAI commented Aug 18, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot Please review the remaining addressed feedback on this PR, confirm which threads can now be resolved, and run the pr-finisher skill if any follow-up edits are still needed.

  • Unresolved re...

No follow-up edits are needed, so I did not run pr-finisher. The six listed review threads now all report is_resolved: true via the review-thread API and can remain resolved; if any UI still shows them as unresolved, that appears stale.

Branch status: clean at d76a88f, with origin/main at merge-base 21b4067. CI status: referenced run 32112664745 has 8/8 jobs successful and no failed logs; the PR check list only showed the current Copilot follow-up in progress plus prior Copilot successes.

Local validation in this pass: make fmt passed with Go 1.26.5, and BASE_REF=origin/main make agent-report-progress passed.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please confirm the current state of this PR, resolve any remaining addressed review feedback in the UI if applicable, and run the pr-finisher skill only if further edits are actually needed.

  • Recent follow-up indicates no code changes are currently needed.
  • No failed checks were listed in the compact queue for this run.
  • Branch refresh was requested for this PR.
  • Please confirm whether only maintainer review / stale blocking review cleanup / normal CI completion remain.

Run: https://github.com/github/gh-aw/actions/runs/32115672254

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 20 AIC · ⌖ 7.91 AIC · ⊞ 8.8K ·
Comment /souschef to run again

CopilotAI commented Aug 18, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot Please confirm the current state of this PR, resolve any remaining addressed review feedback in the UI if applicable, and run the pr-finisher skill only if further edits are actually needed...

Confirmed current state: no follow-up edits are needed, so I did not run pr-finisher. The review-thread API reports all 6 previously listed addressed threads as is_resolved: true; I don’t have any remaining applicable UI thread resolution to perform from here.

Branch is clean at d76a88f, refreshed against fetched origin/main21b4067 (merge-base=21b4067). Latest referenced PR Sous Chef run 32115672254 has 8/8 jobs successful and no failed logs. Current PR checks show the active Copilot follow-up run in progress plus prior Copilot successes.

Local validation in this pass passed: BASE_REF=origin/main make agent-report-progress.

Remaining items appear to be maintainer/action-system side only: maintainer review or stale blocking review cleanup if GitHub still gates on it, and normal CI/check completion or re-trigger if branch protection requires it.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please confirm the current state of the addressed review feedback on this PR, refresh the branch if needed, then run the pr-finisher skill only if further edits are actually required.

  • No failed checks were listed in the compact queue for this run.
  • make fmt could not run in this sandbox, so no formatter push was attempted here.
  • Prior follow-up suggests the work is complete; please confirm whether only stale blocking review cleanup and normal CI completion remain.

Run: https://github.com/github/gh-aw/actions/runs/32120796211

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 21.2 AIC · ⌖ 7.92 AIC · ⊞ 8.8K ·
Comment /souschef to run again

CopilotAI commented Aug 18, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot Please confirm the current state of the addressed review feedback on this PR, refresh the branch if needed, then run the pr-finisher skill only if further edits are actually required.

  • No...

Confirmed current state: no follow-up edits are needed, so I did not run pr-finisher.

Addressed review feedback: the review-thread API still reports all 6 prior addressed threads as is_resolved: true.

Branch: clean at d76a88f, refreshed against fetched origin/main21b4067 (merge-base=21b4067).

CI/checks: latest referenced PR Sous Chef run 32120796211 has 8/8 jobs successful and no failed logs. Current PR checks show the active Copilot follow-up run in progress plus prior Copilot successes.

Local validation: make fmt ran successfully with Go 1.26.5; it produced unrelated Prettier-only local changes, which I reverted rather than pushing. Clean validation then passed with BASE_REF=origin/main make agent-report-progress.

Remaining items appear to be maintainer/action-system side only: stale blocking review cleanup if GitHub still gates on it, and normal CI/check completion or re-trigger if branch protection requires it.

@pelikhan

Copy link
Copy Markdown
Collaborator

@copilot add workflow integration tests

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

CopilotAI commented Aug 18, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot add workflow integration tests

Added workflow integration coverage in d4fb33d: one test compiles a no-bash Codex safe-outputs workflow and asserts MCP-only safe-output guidance remains while CLI prompt/env is omitted; another verifies no-shell cli-proxy and gh-proxy configurations are rejected. Validation passed: go test -tags=integration ./pkg/workflow -run 'TestNoBash', BASE_REF=origin/main make agent-report-progress, code review, CodeQL (skipped as test-only/trivial), and secret scan.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please address the remaining review feedback on this PR, refresh the branch if needed, then run the pr-finisher skill and report back with validation results and any blockers.

  • Remaining unresolved feedback appears to be the current CHANGES_REQUESTED review state.
  • No failed checks were listed in the compact queue for this run.
  • Branch refresh was requested for this PR.
  • After fixes, please identify any addressed review threads or stale blocking reviews that could now be resolved.

Run: https://github.com/github/gh-aw/actions/runs/32134497286

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 41.8 AIC · ⌖ 8.03 AIC · ⊞ 8.8K ·
Comment /souschef to run again

…orkflow-safeoutputs
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Triage

Category: bug | Risk: high | Priority: medium (score 58)

  • Impact 30/50 — fixes safeoutputs CLI/bash-disabled prompt inconsistency for strict workflows
  • Urgency 12/30 — CHANGES_REQUESTED from github-actions, needs rework
  • Quality 16/20 — extensive discussion, large diff (26 files)

Recommended action: defer — address CHANGES_REQUESTED first

Generated by 🔧 PR Triage Agent · auto · 53.1 AIC · ⌖ 2.52 AIC · ⊞ 8.3K ·

CopilotAI commented Aug 18, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot Please address the remaining review feedback on this PR, refresh the branch if needed, then run the pr-finisher skill and report back with validation results and any blockers.

  • Remaining ...

Current state after this pass: branch refreshed in 2481165 and pushed; origin/main (1485547) is now the merge-base. The review-thread API reports all 6 prior addressed threads as resolved, so the remaining CHANGES_REQUESTED review appears stale and can be dismissed/superseded by reviewer or bot review.

Validation passed locally: make fmt, make lint, make test-unit, make test, make recompile, and BASE_REF=origin/main make agent-report-progress. Prior run 32134497286 had 8/8 jobs successful and no failed job logs; the current agent-pushed HEAD has no check runs yet, so CI needs normal human/action-system re-trigger/completion before merge.

Code review found only an unrelated upstream origin/main test-documentation suggestion in /home/runner/work/gh-aw/gh-aw/pkg/linters/internal/astutil/astutil_test.go; no PR follow-up edit made. CodeQL timed out and explicitly instructed not to rerun.

@pelikhan
pelikhan merged commit 7bfc01a into mainAug 18, 2026
32 checks passed
@pelikhan
pelikhan deleted the copilot/fix-no-bash-workflow-safeoutputs branch August 18, 2026 14:46
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.87.1

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Copilot strict no-Bash workflows receive CLI-only safeoutputs instructions

4 participants

@gh-aw-bot@pelikhan