Skip to content

Fix Smoke Pi: no safe outputs due to wrong prompt order and missing gh CLI instruction#38719

Merged
pelikhan merged 3 commits into
mainfrom
copilot/copilotdelete-legacy-files-model-multipliers
Jun 11, 2026
Merged

Fix Smoke Pi: no safe outputs due to wrong prompt order and missing gh CLI instruction#38719
pelikhan merged 3 commits into
mainfrom
copilot/copilotdelete-legacy-files-model-multipliers

Conversation

Copilot AI commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Smoke Pi produced no safe outputs because the Pi engine received contradictory/misordered instructions in its assembled prompt.

Root causes

1. noop-reminder promoted before task instructions

{{#runtime-import shared/noop-reminder.md}} at the end of the workflow body was being extracted by ExtractBodyLevelImportPaths and promoted to a top-level import chunk before smoke-pi.md in the compiled lock file. Runtime deduplication then skipped the directive at its intended end-of-body position, so the agent read "call noop if no action needed" before "ALWAYS create an issue" — with no repetition at the end.

Before (lock file prompt order):

{{#runtime-import .github/workflows/shared/noop-reminder.md}}  ← before task!
{{#runtime-import .github/workflows/smoke-pi.md}}              ← noop skipped inside body

After:

{{#runtime-import .github/workflows/smoke-pi.md}}              ← noop inlined at end of body

2. Test 1 referenced unavailable GitHub MCP tools

Test 1 instructed "Use GitHub MCP tools…" but Pi requires mode: gh-proxy, and cli_proxy_with_safeoutputs_prompt.md explicitly states: "No GitHub MCP server is available; gh is your only way to read from GitHub."

Changes

  • smoke-pi.md: Replace {{#runtime-import shared/noop-reminder.md}} with inlined content so the reminder stays at the end of the body after runtime import expansion. Change test 1 from "Use GitHub MCP tools" → "Use gh CLI commands".
  • smoke-pi.lock.yml: Recompiled — noop-reminder.md no longer appears as a separate pre-body import.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix Smoke Pi issue with no safe outputs produced Fix Smoke Pi: no safe outputs due to wrong prompt order and missing gh CLI instruction Jun 11, 2026
Copilot AI requested a review from pelikhan June 11, 2026 21:01
@pelikhan pelikhan marked this pull request as ready for review June 11, 2026 22:28
Copilot AI review requested due to automatic review settings June 11, 2026 22:28
@pelikhan pelikhan merged commit c9bc82f into main Jun 11, 2026
18 checks passed
@pelikhan pelikhan deleted the copilot/copilotdelete-legacy-files-model-multipliers branch June 11, 2026 22:29

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

Fixes Smoke Pi producing no safe outputs by ensuring the assembled Pi prompt order matches intent (task instructions first, end-of-body reminders last) and by updating the first test to use gh instead of unavailable GitHub MCP tooling in gh-proxy mode.

Changes:

  • Update Smoke Pi test 1 to use gh CLI to fetch two merged PRs (title + number).
  • Inline noop-reminder content so it stays at the end of the workflow body after runtime import handling.
  • Recompile smoke-pi.lock.yml to remove the promoted pre-body noop-reminder import.
Show a summary per file
File Description
.github/workflows/smoke-pi.md Adjusts test instructions to use gh and inlines the noop reminder to preserve intended end-of-body ordering.
.github/workflows/smoke-pi.lock.yml Updates compiled prompt assembly so noop-reminder is no longer promoted ahead of the workflow body.

Copilot's findings

Tip

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

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment on lines +105 to +109
**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Pass arguments directly to the tool. Do **NOT** wrap them under a `noop` key. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.

```json
{"message": "No action needed: [brief explanation of what was analyzed and why]"}
``` No newline at end of file
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