Skip to content

[aw] Delight finished without a terminal safe output #65883

Description

@github-actions

Workflow Failure

Workflow: Delight
Branch: main
Run: https://github.com/github/gh-aw/actions/runs/37327958773

Warning

Task Could Not Be Completed: The agent reported that the task could not be performed due to an infrastructure or tool failure.

Reasons:

  • missing_terminal_safe_output

    Agent finished without emitting a terminal safe output; task completion could not be confirmed.
    bash: cd /tmp/gh-aw/agent; ls; cat doc-samples.txt workflow-samples.txt validation-sample.txt; cat previous-findings.json improvement-themes.json | head -40; wc -c *content.txt: {"message":"The user rejected this tool call. User feedback: Tool invocation is not allowed by workflow tool permissions.","code":"denied"}
    bash: cat > /tmp/gh-aw/agent/r.md <<'EOF'

User Experience Analysis Report - 2026-10-05

Executive Summary

Reviewed: 2 documentation files (blog posts, listed only), 0 CLI commands, 2 workflow message configs (cloclo.md examined in detail), 1 validation file.

Overall Quality: ⚠️ Needs minor work.

Key Finding: The cloclo workflow messages use theatrical language that reads as unprofessional in enterprise contexts, and the GitHub toolset validation error does not say where to fix the problem.

Quality Highlights ✅

  • File: pkg/workflow/tools_validation_github_toolsets.go
  • What works well: Unknown tool errors include "Did you mean" typo suggestions, examples of valid tools, and a link to the full list.
  • Reference: Unknown GitHub tool(s): ...\n\nDid you mean:\n tool → match

Improvement Opportunities 💡

High Priority

  1. pkg/workflow/tools_validation_github_toolsets.go (lines ~93-96): the unknown-tool error does not tell the user where to correct it (tools.github.allowed), and the inline comment at lines ~71-73 ("skip validation for unknown tools") contradicts the behavior (an error is returned).
  2. .github/workflows/cloclo.md (lines 52-55): messages such as "Magnifique! Performance by...", "Standing ovation! 🌟" and "Intermission..." are casual and emoji-heavy; the failure message is also vague.

Files Reviewed

  • docs/src/content/docs/blog/2026-09-09-agent-of-the-day.md, docs/src/content/docs/blog/2026-06-22-weekly-update.md - not evaluated in detail
  • CLI: none sampled
  • cloclo, smoke-test-tools workflows - cloclo ❌ (tone), smoke-test-tools not evaluated in detail
  • pkg/workflow/tools_validation_github_toolsets.go - ⚠️

Metrics

  • Files analyzed: 3 in detail; ✅ 0, ⚠️ 1, ❌ 1

🎯 Actionable Tasks

Task 1: Improve unknown-tool error guidance - pkg/workflow/tools_validation_github_toolsets.go

Current: The error lists unknown tools, suggestions, and examples, but not where to edit them. The comment "We'll skip validation for unknown tools" is stale.

Before:

Unknown GitHub tool(s): foo

Valid GitHub tools include: ...

After:

Unknown GitHub tool(s): foo in 'tools.github.allowed'.

Valid GitHub tools include: ...

Also fix the stale comment.

Success Criteria

  • Only this file changed (update any test expectations only if required)
  • Message names the tools.github.allowed frontmatter field
  • Rating ⚠️ → ✅

Scope: single file.

Task 2: Professionalize run messages - .github/workflows/cloclo.md

Before:

run-started: "🎵 Comme d'habitude! [{workflow_name}]({run_url}) takes the stage on this {event_type}..."
run-success: "🎤 Bravo! ... Standing ovation! 🌟"
run-failure: "🎵 Intermission... [{workflow_name}]({run_url}) {status}. Check the [run logs]({run_url}) for details."

After:

run-started: "[{workflow_name}]({run_url}) started for this {event_type}."
run-success: "[{workflow_name}]({run_url}) completed successfully."
run-failure: "[{workflow_name}]({run_url}) {status}. Review the [run logs]({run_url}) for details."

Simplify the footer similarly. Run make recompile after the change.

Success Criteria

  • Only cloclo.md (plus its regenerated lock file) changed
  • Messages state status plainly, with no more than one emoji
  • Rating ❌ → ✅

Scope: single source file.
EOF
jq -Rs '{title:"Delight Agent: UX analysis 2026-10-05",body:.}' /tmp/gh-aw/agent/r.md | safeoutputs create_discussion .: {"message":"The user rejected this tool call. User feedback: Tool invocation is not allowed by workflow tool permissions.","code":"denied"}
[copilot-harness] starting: command=/usr/local/bin/node maxRetries=3 initialDelayMs=5000 backoffMultiplier=2 maxDelayMs=60000 nodeVersion=v22.23.3 platform=linux
[copilot-harness] pre-flight: command is accessible and executable: /usr/local/bin/node
[copilot-harness] copilot-sdk mode active: generated per-run COPILOT_CONNECTION_TOKEN
[copilot-harness] copilot-sdk mode active: COPILOT_SDK_URI=(127.0.0.1/redacted)
[copilot-harness] awf-reflect: fetching (apiproxy/redacted) (timeout=60000ms)
[copilot-harness] awf-reflect: saved 32690B to /tmp/gh-aw/agent/awf-reflect.json
[copilot-harness] copilot model alias resolution: 'auto' -> 'claude-sonnet-5.5'
[copilot-harness] sdk-mode(multi): resolved provider="copilot" (raw="copilot") type="openai" wireApi="completions" inferredFrom="claude-sonnet-5.5" modelCount=41 baseUrl="(apiproxy/redacted)
[copilot-harness] sdk-mode(multi): resolved 1 providers, 41 models (primary model: claude-sonnet-5.5)
[copilot-harness] copilot-sdk driver mode: multi-provider config resolved (1 providers, 41 models, model=copilot/claude-sonnet-5.5)
[copilot-harness] inference routing: mode=sdk-byok source=awf-reflect configuredModel="claude-sonnet-5.5" resolvedModel="copilot/claude-sonnet-5.5" providerCount=1 modelRouteCount=41
[copilot-harness] inference provider 1/1: name="copilot" type="openai" wireApi="completions" endpoint="(apiproxy/redacted) modelCount=41 selected=true
[copilot-harness] inference endpoint selected: model="copilot/claude-sonnet-5.5" provider="copilot" type="openai" wireApi="completions" endpoint="(apiproxy/redacted)
[copilot-harness] inference handoff: SDK driver receives all reflected provider routes; Copilot sidecar receives the selected primary route; authentication values are omitted
[copilot-harness] awf-reflect: waiting for provider listener readiness at api-proxy:10002 (timeout=15000ms)
[copilot-harness] awf-reflect: provider listener is accepting connections at api-proxy:10002
[copilot-harness] copilot-sdk driver mode: parsed 73 sidecar args from GH_AW_COPILOT_SDK_SERVER_ARGS
[copilot-harness] copilot-sdk driver mode: appended workspace --add-dir /home/runner/work/gh-aw/gh-aw
[copilot-harness] copilot-sdk driver mode: starting sidecar command=/home/runner/work/_temp/gh-aw/bin/copilot args=75
[copilot-harness] copilot-sdk: starting headless Copilot CLI server: /home/runner/work/_temp/gh-aw/bin/copilot --headless --no-auto-update --port 3002 --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-tool github --allow-tool safeoutputs --allow-tool shell(./gh-aw * --help) --allow-tool shell(./gh-aw --help) --allow-tool shell(awk) --allow-tool shell(cat .github/workflows/.md) --allow-tool shell(cat /tmp/gh-aw/agent/) --allow-tool shell(cat docs/src/content/docs/.md) --allow-tool shell(cat docs/src/content/docs/.mdx) --allow-tool shell(cat pkg//.go) --allow-tool shell(cat) --allow-tool shell(date) --allow-tool shell(echo) --allow-tool shell(find .github/workflows -name ".md") --allow-tool shell(find docs/src/content/docs -name ".md" -o -name ".mdx") --allow-tool shell(gh:) --allow-tool shell(grep) --allow-tool shell(head) --allow-tool shell(ls) --allow-tool shell(printf) --allow-tool shell(pwd) --allow-tool shell(safeoutputs:*) --allow-tool shell(sed) --allow-tool shell(shuf) --allow-tool shell(sort) --allow-tool shell(tail) --allow-tool shell(uniq) --allow-tool shell(wc) --allow-tool shell(yq) --allow-tool write --allow-all-paths --add-dir /home/runner/work/gh-aw/gh-aw
[copilot-harness] copilot-sdk stdout: CLI server listening on port 3002
[copilot-harness] copilot-sdk: headless server ready on 127.0.0.1:3002
[copilot-harness] attempt 1: process started (pid=436)
[copilot-harness] attempt 1: process exit event exitCode=0
[copilot-harness] attempt 1: process closed exitCode=0 duration=31s stdout=0B stderr=33
[Content truncated due to
[Content truncated due to length]

This is a structured incompletion signal (report_incomplete), not a real task outcome. Any other safe outputs emitted alongside this signal (e.g., comments) describe the failure state, not a completed review or action.

Action Required

Assign this issue to an agent to debug and fix the issue.

Debug with any coding agent

Use this prompt with any coding agent (GitHub Copilot, Claude, Gemini, etc.):

Debug the agentic workflow failure using https://raw.githubusercontent.com/github/gh-aw/main/debug.md

The failed workflow run is at https://github.com/github/gh-aw/actions/runs/37327958773
Manually invoke the agent

Debug this workflow failure using your favorite Agent CLI and the agentic-workflows prompt.

Tip

Stop reporting this workflow as a failure

To stop a workflow from creating failure issues, set report-failure-as-issue: false in its frontmatter:

safe-outputs:
  report-failure-as-issue: false

Generated from Delight · copilot · 16.8 AIC · ◷

  • expires on Oct 6, 2026, 2:58 AM UTC

Activity

  1. github-actions commented on Oct 6, 2026

    @github-actions
    ContributorAuthor

    This issue was automatically closed because it expired on 2026-10-06T02:58:53.068Z.

    Closed by Workflow

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions