Skip to content

feat: add AWF /reflect endpoint fetch to agent harness and step summary#29420

Merged
pelikhan merged 8 commits intomainfrom
copilot/add-js-helper-fetch-reflect-endpoint
May 1, 2026
Merged

feat: add AWF /reflect endpoint fetch to agent harness and step summary#29420
pelikhan merged 8 commits intomainfrom
copilot/add-js-helper-fetch-reflect-endpoint

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 1, 2026

Summary

Adds a JavaScript helper to the agent harness that fetches the AWF API proxy /reflect endpoint and exposes the available LLM providers and models in the GitHub Actions step summary. The reflect result is saved inside the AWF firewall sandbox folder so it is automatically included in the agent artifact.

Background

The AWF api-proxy sidecar exposes a /reflect management endpoint on port 10000. This endpoint returns the list of configured LLM providers (openai, anthropic, copilot, gemini, opencode) along with their available model lists, and a models_fetch_complete flag indicating whether model discovery has finished. This information is useful for debugging which providers were available during a workflow run.

Changes

actions/setup/js/copilot_harness.cjs

  • Added fetchAWFReflect() async helper that calls http://api-proxy:10000/reflect from inside the AWF container (using Node.js http module, 5s timeout)
  • Saves the JSON response to /tmp/gh-aw/sandbox/firewall/awf-reflect.json — co-located with other firewall observability data so it is covered by the existing chmod -R a+r step and included in the agent artifact
  • Creates the parent directory with mkdirSync({ recursive: true }) as a defensive guard
  • Called in main() just before the harness exits so models_fetch_complete is likely true
  • Best-effort: network/parse errors are logged but do not affect the agent exit code
  • Added extractModelIds(json) helper that parses both OpenAI/Anthropic/Copilot format ({ data: [{ id }] }) and Gemini format ({ models: [{ name }] }) API responses
  • Added fetchModelsFromUrl(url, timeout, logger) helper that fetches models from a models_url endpoint on the api-proxy; the api-proxy injects the correct auth headers when forwarding requests upstream
  • Added enrichReflectModels(reflectData, timeout, logger) that runs fallback fetches for all configured endpoints where the api-proxy's startup model-fetch left models as null; called inside fetchAWFReflect() before saving, so model names are populated in the artifact even when the api-proxy's startup fetch encountered a transient error
  • Exported constants: AWF_API_PROXY_REFLECT_URL, AWF_REFLECT_OUTPUT_PATH, AWF_REFLECT_TIMEOUT_MS, AWF_MODELS_URL_TIMEOUT_MS, GEMINI_MODEL_NAME_PREFIX

actions/setup/js/awf_reflect_summary.cjs (new)

  • GitHub Actions script (core global) that reads /tmp/gh-aw/sandbox/firewall/awf-reflect.json
  • Formats a markdown table showing provider, port, configured status (✅/❌), and available models (first 5, with overflow indicator)
  • Wraps output in a collapsible <details>/<summary> block so it doesn't dominate the step output
  • Gracefully handles missing file (AWF not enabled or /reflect not reachable)

actions/setup/js/awf_reflect_summary.test.cjs (new)

  • 18 unit tests covering readReflectData, formatModelList, buildReflectSummary, and main

actions/setup/js/copilot_harness.test.cjs

  • Added 16 new unit tests covering extractModelIds, fetchModelsFromUrl, enrichReflectModels, and the enriched fetchAWFReflect behavior (including mock HTTP servers with try-finally cleanup)

pkg/constants/constants.go

  • Added AWFReflectFilePath = "/tmp/gh-aw/sandbox/firewall/awf-reflect.json" constant

pkg/workflow/compiler_yaml_ai_execution.go

  • Added generateAWFReflectSummary() step generator following the same pattern as generateTokenUsageSummary

pkg/workflow/compiler_yaml_main_job.go

  • Wires the new step after the existing firewall token-usage summary step when firewall is enabled
  • Adds AWFReflectFilePath to the agent artifact paths alongside AWFConfigFilePath, AWFProxyLogsDir, and AWFAuditDir

Compiled workflows (lock files)

  • All 205 workflows recompiled; firewall-enabled workflows now include a "Print AWF reflect summary" step and /tmp/gh-aw/sandbox/firewall/awf-reflect.json in the artifact upload

Example step summary output

<details>
<summary>AWF API proxy: 2 of 5 providers configured</summary>

| Provider | Port | Configured | Available models |
|----------|------|:----------:|-----------------|
| openai   | 10000 | ✅ | gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo |
| anthropic | 10001 | ❌ | — |
| copilot  | 10002 | ✅ | claude-sonnet-4.6, gpt-4o |
| gemini   | 10003 | ❌ | — |
| opencode | 10004 | ❌ | — |

</details>

Changeset

  • Type: patch
  • Description: Add an AWF reflect summary and artifact capture so firewall-enabled runs show configured providers and available models.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

Generated by Changeset Generator for issue #29420 ·



✨ PR Review Safe Output Test - Run 25201607850

💥 [THE END] — Illustrated by Smoke Claude · ● 235.3K ·

- Add fetchAWFReflect() helper to copilot_harness.cjs that calls
  http://api-proxy:10000/reflect from inside the AWF container and
  persists the response to /tmp/gh-aw/awf-reflect.json before exit

- Create awf_reflect_summary.cjs GitHub Actions script that reads
  the saved reflect data and writes a provider/model table to
  core.summary (wrapped in a collapsible <details> block)

- Create awf_reflect_summary.test.cjs with 18 unit tests covering
  readReflectData, formatModelList, buildReflectSummary, and main

- Add generateAWFReflectSummary() step generator in
  compiler_yaml_ai_execution.go

- Wire the new step in compiler_yaml_main_job.go alongside the
  existing firewall token-usage summary steps

- Update wasm golden test fixtures to include the new step

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/0a7f35fc-382f-421a-969b-6329c1a31f8b

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

pelikhan commented May 1, 2026

@copilot save reflect result to a folder that will be added to the agent artifact

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions Bot removed the smoke label May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

⚠️ Smoke Crush failed. Crush encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

⚠️ Smoke Gemini failed. Gemini encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🚀 Smoke OpenCode MISSION COMPLETE! OpenCode delivered. 🔥

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

…nclusion

Move AWF_REFLECT_OUTPUT_PATH from /tmp/gh-aw/awf-reflect.json to
/tmp/gh-aw/sandbox/firewall/awf-reflect.json so the file is:
- co-located with other firewall observability data
- covered by the existing chmod -R a+r /tmp/gh-aw/sandbox/firewall step
- explicitly added to the agent artifact alongside AWFConfigFilePath,
  AWFProxyLogsDir and AWFAuditDir

Also add fs.mkdirSync(recursive) before writing in fetchAWFReflect()
to ensure the parent directory exists (defensive, since AWF normally
creates /tmp/gh-aw/sandbox/firewall/ before the harness runs).

Add AWFReflectFilePath constant to pkg/constants/constants.go.
Update tests to create /tmp/gh-aw/sandbox/firewall before writing.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/27d4ced8-fe09-4875-bb07-b81a5fae232c

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 1, 2026

@copilot save reflect result to a folder that will be added to the agent artifact

Done in ce0f732. The reflect result is now saved to /tmp/gh-aw/sandbox/firewall/awf-reflect.json (co-located with the proxy logs and audit dirs). The file is explicitly added to the agent artifact alongside AWFProxyLogsDir and AWFAuditDir, and the existing chmod -R a+r /tmp/gh-aw/sandbox/firewall step covers its permissions before upload. A mkdirSync guard was also added in fetchAWFReflect() to ensure the parent directory exists.

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:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw security /usr/local/bin/sh git rev-�� --show-toplevel sh /usr/bin/git &#34;vitest&#34; run awfnode owner /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw security /home/REDACTED/work/gh-aw/gh-aw/ac--show-toplevel git runs�� --show-toplevel node me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } run awf_reflect_summjs/fuzz_sanitize_output_harness.cjs /opt/hostedtoolcache/go/1.25.8/x--show-toplevel git (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv --show-toplevel (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv get --local k/gh-aw/gh-aw/actions/setup/js/node_modules/.bin/sh core.hooksPath (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv js (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv xterm-color (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 git sv .test.cjs copilogit --global cal/bin/git git rev-�� --show-toplevel git /usr/bin/git get --local iptables git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv ect-endpoint^{commit} (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv .test.cjs copilot_harness.test.cjs --get om/github/gh-aw (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv --show-toplevel (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv &#34;vitest&#34; run awf_reflect_summary.test.cjs copilot_harness.test.cjs (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv &#34;vitest&#34; run awf_reflect_summary.test.cjs copilot_harness.test.cjs 53 /usr/bin/git ry.test.cjs (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv --show-toplevel (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv &#34;vitest&#34; run awf_reflect_summary.test.cjs copilot_harness.test.cjs (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv .test.cjs copilot_harness.test.cjs --get cal/bin/bash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv &#34;vitest&#34; run awf_reflect_summary.test.cjs copilot_harness.test.cjs (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv ect-endpoint^{commit} (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv --show-toplevel bash /usr/bin/git --noprofile (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --get-regexp --global 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv --show-toplevel node /usr/bin/git run awf_reflect_summjs/fuzz_sanitize_output_harness.cjs /opt/hostedtoolcache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv --show-toplevel node /usr/bin/git run awf_reflect_summjs/fuzz_sanitize_output_harness.cjs /home/REDACTED/work/_temp/uv-pytho--show-toplevel git rev-�� --show-toplevel bash /usr/bin/git --noprofile (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch --show-toplevel git 1/x64/bin/node --show-toplevel (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv &#34;vitest&#34; run awf_reflect_summary.test.cjs copilot_harness.test.cjs (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv get --local k/_temp/uv-python-dir/bash http.https://gitgit (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv --get-regexp --global /opt/pipx_bin/git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Smoke Test Results for PR #29420

Test Status
GitHub MCP
MCP Scripts GH CLI
Serena CLI
Playwright
Web Fetch
File Writing
Bash Tool
Discussion Interaction
Build gh-aw
Upload artifact
Discussion Creation
Workflow Dispatch
PR Review
Comment Memory

Overall: ✅ PASS
Author: @pelikhan | Assignees: @pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot · ● 950.3K ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🤖 BEEP BOOP — The smoke test agent was here! 🎉

I've successfully completed my mission: running through all the tests, building binaries, navigating the web, and generally causing harmless robotic mischief.

Your workflows are in good hands (or rather, good circuits). 🦾

— Copilot Smoke Test Agent, on duty since 2026-05-01

📰 BREAKING: Report filed by Smoke Copilot · ● 950.3K ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Comment Memory

Quiet build lights glow
Actions trace the passing checks
Green labels settle

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

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex ·

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.

This PR consistently adds the AWF /reflect endpoint fetch step across all lock files. The implementation is clean — using continue-on-error: true ensures observability data collection doesn't block workflows. Good systematic approach to adding telemetry.

📰 BREAKING: Report filed by Smoke Copilot · ● 950.3K

uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
with:
script: |
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
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 AWF reflect summary step uses continue-on-error: true which is good practice for observability steps that shouldn't block the workflow on failure.

uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
with:
script: |
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
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.

Consistent pattern across all lock files: the AWF reflect summary step is inserted after token usage parsing. This systematic approach ensures all workflows capture reflect endpoint data.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot merge main and recompile

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 1, 2026

@copilot this is node 24, use fetch. do not use http module

Done in 09025d7. Replaced the http module with the native fetch API throughout fetchAWFReflect() and fetchModelsFromUrl(), using AbortController for timeouts. Tests updated to use vi.stubGlobal('fetch', ...) instead of real HTTP servers.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🚀 Smoke OpenCode MISSION COMPLETE! OpenCode delivered. 🔥

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

⚠️ Smoke Crush failed. Crush encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions Bot removed the smoke label May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq 4.52.5
curl 8.5.0
gh 2.89.0
node 22.22.2
python3 3.10.16 (PyPy 7.3.19)
go 1.24.13
java OpenJDK 21.0.10
dotnet 10.0.201

Result: 12/12 tools available ✅

Overall Status: PASS

🔧 Tool validation by Agent Container Smoke Test · ● 122.1K ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

⚠️ Smoke Gemini failed. Gemini encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

PRs: #29429 Fix integration tests: update domain checks from CLI flags to JSON config keys; #29418 Convert 55.8% of agentic workflows to use tools.github mode: gh-proxy and tools.cli-proxy
GitHub MCP ✅ | Serena ✅ | Playwright ✅ | Web fetch ❌
File/bash ✅ | Build ✅ | Comment memory ✅
Overall: FAIL

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Commit pushed: 49ee17b

Generated by Changeset Generator

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🤖 Beep boop! Smoke test agent dropped by for a visit! All systems are go — Copilot is feeling especially sparkly today. May your builds be green and your deploys be boring! 🚀✨

📰 BREAKING: Report filed by Smoke Copilot · ● 1.2M ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Smoke Test 25201607915 — Copilot ✅ PASS

Test Status
GitHub MCP
MCP Scripts GH CLI
Serena CLI
Playwright
File Writing
Discussion Interaction
Build gh-aw
Upload artifact
Discussion Creation
Haiku dispatch
PR Review
Comment Memory

Overall: PASS 🎉
PR author: @app/copilot-swe-agent | Assignees: @pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot · ● 1.2M ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Comment Memory

# Smoke Test Haiku

Code flows like water,
Tests pass through the midnight build,
Green lights all the way.

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

📰 BREAKING: Report filed by Smoke Copilot · ● 1.2M ·

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.

Smoke test review: PR systematically adds AWF /reflect observability to all lock files. Implementation is clean with proper error handling (continue-on-error: true) and artifact collection. ✅

📰 BREAKING: Report filed by Smoke Copilot · ● 1.2M

uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
with:
script: |
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
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 new 'Print AWF reflect summary' step correctly uses continue-on-error: true, ensuring that observability data collection never blocks the main workflow. Good defensive design.

@@ -808,6 +818,7 @@ jobs:
/tmp/gh-aw/awf-config.json
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.

Including awf-reflect.json in the artifact upload paths is a great addition — it ensures the reflect payload is preserved for post-run debugging and analysis.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

💥 Smoke Test 25201607850 — Claude Engine

# Test Result
1 GitHub MCP
2 mcpscripts-gh
3 Serena MCP
4 Make Build
5 Playwright
6 Tavily Search
7 File Writing
8 Bash Tool
9 Discussion
10 AWF MCP Status
11 Slack
12 Code Scanning
13 Update PR
14 Review Comments
15 Submit Review
16 Resolve Thread
17 Add Reviewer
18 Push to Branch
19 Close PR ⚠️ skipped

Overall: PARTIAL (test #10 failed — AWF MCP tool unavailable)

💥 [THE END] — Illustrated by Smoke Claude · ● 235.3K ·

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.

💥 Automated smoke test review - all systems nominal! This review validates PR review safe output tooling for Claude engine run 25201607850. The inline review comments above test review comment creation on the PR diff. The continue-on-error: true pattern for observability steps is correctly applied across all compiled lock files.

💥 [THE END] — Illustrated by Smoke Claude · ● 235.3K

uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
with:
script: |
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
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.

🔍 Smoke test review comment #1 — The continue-on-error: true pattern here is good defensive programming for the AWF reflect summary step. This ensures observability data collection failures don't block the main workflow execution. ✅ Approved pattern.

uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
with:
script: |
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
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.

🔍 Smoke test review comment #2 — The AWF reflect summary step placement after parse_token_usage.cjs ensures consistent ordering across all 205 compiled workflows. The systematic recompilation approach is the right call here — no manual inconsistencies possible. ✅

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot collect reflect info on all agent engine runs

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