Skip to content

Prevent empty issue creation in Smoke OTEL Backends#32607

Merged
mnkiefer merged 1 commit into
mainfrom
copilot/investigate-smoke-otel-failures
May 16, 2026
Merged

Prevent empty issue creation in Smoke OTEL Backends#32607
mnkiefer merged 1 commit into
mainfrom
copilot/investigate-smoke-otel-failures

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 16, 2026

The Smoke OTEL workflow produced actionable failure analysis for run 25959980159, but issue #32604 was left effectively empty because the agent spent its single allowed create_issue call on a placeholder body. This change tightens the workflow prompt so the report is emitted once, only after the full analysis is assembled.

  • Problem

    • The workflow allowed the agent to create an issue too early with a placeholder body (-), which exhausted the create-issue.max: 1 budget.
    • The real deep error analysis was generated later but could not replace the placeholder, leaving operators without the intended failure report.
  • Prompt hardening

    • Require the agent to draft the report body locally first.
    • Require exactly one final create_issue safe output after the report is complete.
    • Explicitly forbid placeholder, empty, or partial issue bodies.
    • Explicitly forbid retrying create_issue within this workflow.
  • Operational impact

    • Keeps the single-issue report model intact.
    • Makes the failure issue reliably contain the Sentry/Grafana/local OTLP analysis instead of an empty stub.
    • Reduces the chance of repeating the same failure mode in future smoke runs.
## Output

Create exactly one GitHub issue with:

- Draft the body locally first if needed, but emit only one final `create_issue` safe output after the full report is complete.
- Never create a placeholder, empty, `-`, or partial issue body.
- Do not retry `create_issue`: this workflow allows only one issue, so a premature call leaves the final report empty.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
@mnkiefer mnkiefer marked this pull request as ready for review May 16, 2026 11:22
Copilot AI review requested due to automatic review settings May 16, 2026 11:22
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Hardens the Smoke OTEL Backends workflow prompt to prevent creating an effectively empty GitHub issue when only a single create_issue safe output is allowed.

Changes:

  • Adds explicit instructions to draft the full issue body before emitting any create_issue safe output.
  • Forbids placeholder/empty issue bodies and forbids retrying create_issue within the workflow.
Show a summary per file
File Description
.github/workflows/smoke-otel-backends.md Tightens the Output instructions to ensure the single allowed issue creation contains the complete failure report.

Copilot's findings

Tip

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

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

@mnkiefer
Copy link
Copy Markdown
Collaborator

@copilot Recompile workflow

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 16, 2026

@copilot Recompile workflow

I recompiled this workflow locally on 88dfe75, and it produced no .lock.yml diff. smoke-otel-backends.lock.yml pulls the prompt body via {{#runtime-import .github/workflows/smoke-otel-backends.md}}, so these prompt-only edits are already picked up at runtime without any generated workflow changes.

@mnkiefer mnkiefer merged commit d7852a7 into main May 16, 2026
39 of 41 checks passed
@mnkiefer mnkiefer deleted the copilot/investigate-smoke-otel-failures branch May 16, 2026 11:37
Copilot AI requested a review from mnkiefer May 16, 2026 11:37
@github-actions github-actions Bot mentioned this pull request May 16, 2026
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /diagnose — this is a targeted bug fix to prevent the agent from wasting its single create_issue budget on a placeholder body before the analysis is complete.

What the fix does

The three new lines in the ## Output section directly address the root cause: the agent was allowed to call create_issue at any point during execution, so it used the call early with a stub body (-), exhausting the create-issue.max: 1 budget and leaving operators without the intended failure report.

The prompt now:

  1. Requires the body to be drafted locally first before emitting the safe output.
  2. Explicitly forbids placeholder / empty / partial bodies.
  3. Explicitly forbids retrying create_issue.

Positive Highlights

  • Root cause addressed, not just the symptom — the constraint is placed at the call site (the output instruction block) rather than wrapping it in a workaround elsewhere.
  • Minimal, surgical diff — 3 lines, no unrelated churn.
  • Good placement — the new rules appear at the top of the ## Output section, so the agent reads them before encountering the create_issue invocation details.
  • Well-documented PR — the body clearly explains the failure mode, the offending run ID, and the operational impact.

One observation

Per the /diagnose post-fix checklist: "what would have prevented this bug?" — the underlying architectural pattern (prompt-level budget enforcement with no structural barrier to early calls) will recur in other workflows. A short note in the workflow authoring docs (e.g. DEVGUIDE.md or scratchpad/) about the "draft-locally-first" pattern for single-budget safe outputs could prevent the same class of failure in future workflows.

This is not a blocker — the fix is correct and ready to merge.

Verdict

Approve — the fix is correct, targeted, and well-explained.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · ● 2.7M

Sign up for free to 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.

3 participants