Skip to content

feat: add effective token template expressions to all footer templates#24150

Merged
pelikhan merged 4 commits intomainfrom
copilot/review-footers-in-agentic-workflows
Apr 2, 2026
Merged

feat: add effective token template expressions to all footer templates#24150
pelikhan merged 4 commits intomainfrom
copilot/review-footers-in-agentic-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 2, 2026

Summary

Ensures effective token template variables are available in all footer template contexts (not just the main attribution footer), adds a pre-formatted suffix variable for easy drop-in use, updates all agentic workflow footer templates, fixes a CI dependency list issue, fixes effective token data flowing across the agent→safe_outputs job boundary, and updates documentation.

Changes

JavaScript (actions/setup/js/messages_footer.cjs)

  • Added a getEffectiveTokensFromEnv() helper that reads GH_AW_EFFECTIVE_TOKENS and returns { effectiveTokens, effectiveTokensFormatted, effectiveTokensSuffix } — using isNaN() for clean NaN handling
  • getFooterMessage(): added effectiveTokensFormatted and effectiveTokensSuffix to the template context
  • getFooterWorkflowRecompileMessage(), getFooterWorkflowRecompileCommentMessage(), getFooterAgentFailureIssueMessage(), getFooterAgentFailureCommentMessage(): all now include {effective_tokens}, {effective_tokens_formatted}, and {effective_tokens_suffix} via the shared helper
  • generateFooterWithMessages(): refactored to use getEffectiveTokensFromEnv() instead of its own duplicate env-var parsing

JavaScript (actions/setup/js/parse_mcp_gateway_log.cjs)

  • Added core.setOutput("effective_tokens", ...) alongside the existing exportVariable call so the value is accessible as a step output and can flow to downstream jobs

JavaScript (actions/setup/js/messages_core.cjs)

  • Added {effective_tokens}, {effective_tokens_formatted}, and {effective_tokens_suffix} to the supported placeholders comment

Shell (actions/setup/setup.sh)

  • Added effective_tokens.cjs to SAFE_OUTPUTS_FILES (it was a transitive dependency of messages_footer.cjs but missing from the list, causing a CI test failure)

Workflow Compiler (pkg/workflow/)

  • Added id: parse-mcp-gateway step ID to the Parse MCP Gateway logs step in the agent job (compiler_yaml_ai_execution.go)
  • Added effective_tokens: ${{ steps.parse-mcp-gateway.outputs.effective_tokens }} to the agent job outputs (compiler_main_job.go)
  • Added GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens }} to the safe_outputs job env (compiler_safe_outputs_job.go)
  • Added ParseMCPGatewayStepID constant (pkg/constants/job_constants.go)
  • Updated golden fixture files

Agentic Workflows (39 files)

  • Updated all workflow footer templates that use {history_link} to also include {effective_tokens_suffix}, e.g.:
    footer: "> 📊 *Diagram rendered by [{workflow_name}]({run_url})*{effective_tokens_suffix}{history_link}"

Documentation

  • docs/reference/safe-outputs.md: added all three new variables to the Custom Messages variables list with an explanatory paragraph
  • docs/reference/footers.md: updated the Customizing Footer Messages section to mention {effective_tokens_suffix} and its format

Template Variables

Variable Value Notes
{effective_tokens} Raw integer (e.g. 1200) undefined when no token data — placeholder stays literal
{effective_tokens_formatted} Compact string (e.g. 1.2K, 3M) undefined when no token data — placeholder stays literal
{effective_tokens_suffix} Pre-formatted suffix (e.g. · ● 1.2K) or "" Always a string — safe for direct use next to {history_link}

{effective_tokens_suffix} follows the same {history_link} convention: it is always a string and can be placed directly in templates without conditional logic.

Cross-Job Data Flow Fix

core.exportVariable() only persists env vars within the same job. The safe_outputs job (which renders footer comments) is a separate downstream job and previously could not see GH_AW_EFFECTIVE_TOKENS. The fix uses the standard GitHub Actions job output mechanism: the parse_mcp_gateway_log step now sets a step output, which is promoted to an agent job output and then passed as an env var into the safe_outputs job.



✨ PR Review Safe Output Test - Run 23917275429

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

Copilot AI and others added 2 commits April 2, 2026 17:31
…er template contexts

- In getFooterMessage(): add effectiveTokensFormatted to template context so custom
  templates can use {effective_tokens_formatted} (compact form like "1.2K")
- In getFooterWorkflowRecompileMessage/Comment: read GH_AW_EFFECTIVE_TOKENS from env
  and add both {effective_tokens} and {effective_tokens_formatted} to template context
- In getFooterAgentFailureIssueMessage/Comment: same - read from env and add to context
- Update messages_core.cjs supported placeholders comment
- Update docs/reference/safe-outputs.md variables list and add description
- Update docs/reference/footers.md to mention the new template expressions

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/e681e19e-5f30-4dd7-843b-8ac437940a6b

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Address code review feedback: replace duplicated effective tokens reading
pattern across four footer functions with a shared getEffectiveTokensFromEnv()
helper that properly uses isNaN() instead of parseInt || 0 fallback.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/e681e19e-5f30-4dd7-843b-8ac437940a6b

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan pelikhan marked this pull request as ready for review April 2, 2026 17:41
Copilot AI review requested due to automatic review settings April 2, 2026 17:41
@pelikhan pelikhan added the smoke label Apr 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 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 Apr 2, 2026
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented Apr 2, 2026

@copilot don't add · tokens:

@github-actions

This comment has been minimized.

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

Extends footer template rendering so {effective_tokens} and {effective_tokens_formatted} can be used across more footer template contexts, and updates reference docs to describe the new placeholders.

Changes:

  • Added an env-based helper to derive effective token counts and a compact formatted string for template contexts.
  • Expanded footer template contexts to include {effective_tokens} / {effective_tokens_formatted} where previously missing.
  • Updated documentation to list and explain the new template variables.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
docs/src/content/docs/reference/safe-outputs.md Documents {effective_tokens} and {effective_tokens_formatted} in the Custom Messages variables list and explains availability/usage.
docs/src/content/docs/reference/footers.md Mentions the new token placeholders in messages.footer customization guidance.
actions/setup/js/messages_footer.cjs Adds getEffectiveTokensFromEnv() and injects formatted/raw effective token values into multiple footer template contexts.
actions/setup/js/messages_core.cjs Updates the supported placeholders comment to include effective token placeholders.
Comments suppressed due to low confidence (2)

actions/setup/js/messages_footer.cjs:63

  • getFooterMessage() only derives effectiveTokensFormatted from ctx.effectiveTokens, and does not fall back to GH_AW_EFFECTIVE_TOKENS when effectiveTokens is missing from the provided context. This means callers that construct a minimal ctx (e.g. activation-comment updates) won’t be able to use {effective_tokens} / {effective_tokens_formatted} in a custom messages.footer template even when the env var is available. Consider populating effectiveTokens/effectiveTokensFormatted in getFooterMessage() via getEffectiveTokensFromEnv() when ctx.effectiveTokens is undefined (and prefer explicit ctx values when present).
  // Pre-compute effective_tokens_formatted using compact format (e.g. "1.2K") for use in custom templates
  const effectiveTokensFormatted = ctx.effectiveTokens ? formatET(ctx.effectiveTokens) : undefined;

  // Create context with both camelCase and snake_case keys, including computed history_link and agentic_workflow_url
  const templateContext = toSnakeCase({ ...ctx, historyLink, agenticWorkflowUrl, effectiveTokensFormatted });

actions/setup/js/messages_footer.cjs:135

  • There are existing unit tests for footer templating (actions/setup/js/messages.test.cjs), but the new {effective_tokens_formatted} placeholder (and env-derived {effective_tokens} / {effective_tokens_formatted} for the workflow-recompile / agent-failure footers) is not covered. Adding tests that assert these placeholders resolve when GH_AW_EFFECTIVE_TOKENS is set (and remain literal when not set) would help prevent regressions.
function getFooterWorkflowRecompileMessage(ctx) {
  const messages = getMessages();

  // Pre-compute agentic_workflow_url as the direct link to the agentic workflow page
  const agenticWorkflowUrl = ctx.agenticWorkflowUrl || (ctx.runUrl ? `${ctx.runUrl}/agentic_workflow` : "");

  // Read effective tokens from environment variable if available
  const { effectiveTokens, effectiveTokensFormatted } = getEffectiveTokensFromEnv();

  // Create context with both camelCase and snake_case keys
  const templateContext = toSnakeCase({ ...ctx, agenticWorkflowUrl, effectiveTokens, effectiveTokensFormatted });


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

Comment on lines +23 to +30
function getEffectiveTokensFromEnv() {
const raw = process.env.GH_AW_EFFECTIVE_TOKENS;
const parsed = raw ? parseInt(raw, 10) : NaN;
if (!isNaN(parsed) && parsed > 0) {
return { effectiveTokens: parsed, effectiveTokensFormatted: formatET(parsed) };
}
return { effectiveTokens: undefined, effectiveTokensFormatted: undefined };
}
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

Now that getEffectiveTokensFromEnv() exists, generateFooterWithMessages() still has separate parsing logic for GH_AW_EFFECTIVE_TOKENS later in this file. To avoid future divergence (edge-case parsing, >0 gating, formatting rules), it would be more maintainable to reuse the helper (and/or thread the helper’s result into the ctx) rather than parsing the env var in multiple places.

This issue also appears in the following locations of the same file:

  • line 59
  • line 124

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

Smoke Test: Copilot - 23913798196 ⚠️ PARTIAL PASS (10/12)

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

Overall: ⚠️ PARTIAL PASS — Serena MCP unavailable, Playwright log dir permission denied.

PR author: @Copilot | Assignees: @pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot ·

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 for PR #24150. The {effective_tokens} and {effective_tokens_formatted} additions look well-structured. Two minor observations left as inline comments.

📰 BREAKING: Report filed by Smoke Copilot

const templateContext = toSnakeCase({ ...ctx, historyLink, agenticWorkflowUrl, effectiveTokensFormatted });

// Use custom footer template if configured (no automatic suffix appended)
if (messages?.footer) {
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.

Consider also reading effectiveTokens from the environment for getFooterMessage() (not just computing effectiveTokensFormatted), so that {effective_tokens} is available in the messages.footer custom template for users who want the raw count.

const raw = process.env.GH_AW_EFFECTIVE_TOKENS;
const parsed = raw ? parseInt(raw, 10) : NaN;
if (!isNaN(parsed) && parsed > 0) {
return { effectiveTokens: parsed, effectiveTokensFormatted: formatET(parsed) };
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 getEffectiveTokensFromEnv() helper nicely centralizes the env var reading. One small nit: using Number.isNaN(parsed) instead of isNaN(parsed) would be slightly more precise since isNaN coerces its argument first.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented Apr 2, 2026

@github-actions

This comment has been minimized.

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!

💥 [THE END] — Illustrated by Smoke Claude

const parsed = raw ? parseInt(raw, 10) : NaN;
if (!isNaN(parsed) && parsed > 0) {
return { effectiveTokens: parsed, effectiveTokensFormatted: formatET(parsed) };
}
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 getEffectiveTokensFromEnv helper cleanly centralizes env var parsing. Consider also exporting it so other modules can reuse it without re-parsing the same env var independently.

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.

Agreed! Exporting getEffectiveTokensFromEnv would improve reusability across modules. 👍

📰 BREAKING: Report filed by Smoke Copilot

* - {workflow_source} - Source specification (owner/repo/path@ref)
* - {workflow_source_url} - GitHub URL for the workflow source
* - {triggering_number} - Issue/PR/Discussion number that triggered this workflow
* - {effective_tokens} - Raw total effective token count for the run (e.g. 1200), only present when > 0
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.

Good doc comment additions. It would help to clarify the unit for {effective_tokens} — e.g., "token count as defined by the provider" — so users know what to expect when the provider changes.

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented Apr 2, 2026

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented Apr 2, 2026

@copilot review all agentic workflows using "messages" and update with the ET expression.

Copilot AI requested a review from pelikhan April 2, 2026 18:21
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 2, 2026

@pelikhan Unfortunately I hit an unexpected error while processing your comment. I've automatically reported this to GitHub.

You can ask me to try again later by mentioning me in a new comment.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 0594dc6d-4886-41d3-879a-c8dbdf42b1ff

Sorry for the inconvenience!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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

Copilot AI changed the title feat: add {effective_tokens} and {effective_tokens_formatted} template expressions to all footer templates feat: add effective token template expressions to all footer templates Apr 2, 2026
@github-actions

This comment has been minimized.

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented Apr 2, 2026

@copilot debug why this footer does not have effective token data

#24150 (comment)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

Smoke Test §23916041313

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

Overall: ⚠️ PARTIAL PASS (Playwright ❌ — permission error on log dir)
PR Author: @Copilot | Assignees: @pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot ·

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 ✅ — The effective token suffix pattern is clean and consistent. Minor: prefer Number.isNaN() over isNaN() for precision.

📰 BREAKING: Report filed by Smoke Copilot

GH_AW_WORKFLOW_NAME: "Archie"
GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📊 *Diagram rendered by [{workflow_name}]({run_url})*{history_link}\",\"footerWorkflowRecompile\":\"\\u003e 🔧 *Workflow sync report by [{workflow_name}]({run_url}) for {repository}*\",\"footerWorkflowRecompileComment\":\"\\u003e 🔄 *Update from [{workflow_name}]({run_url}) for {repository}*\",\"runStarted\":\"📐 [{workflow_name}]({run_url}) is analyzing the architecture for this {event_type}...\",\"runSuccess\":\"🎨 [{workflow_name}]({run_url}) has completed the architecture visualization. ✅\",\"runFailure\":\"📐 [{workflow_name}]({run_url}) encountered an issue and could not complete the architecture diagram. Check the [run logs]({run_url}) for details.\"}"
GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📊 *Diagram rendered by [{workflow_name}]({run_url})*{effective_tokens_suffix}{history_link}\",\"footerWorkflowRecompile\":\"\\u003e 🔧 *Workflow sync report by [{workflow_name}]({run_url}) for {repository}*\",\"footerWorkflowRecompileComment\":\"\\u003e 🔄 *Update from [{workflow_name}]({run_url}) for {repository}*\",\"runStarted\":\"📐 [{workflow_name}]({run_url}) is analyzing the architecture for this {event_type}...\",\"runSuccess\":\"🎨 [{workflow_name}]({run_url}) has completed the architecture visualization. ✅\",\"runFailure\":\"📐 [{workflow_name}]({run_url}) encountered an issue and could not complete the architecture diagram. Check the [run logs]({run_url}) for details.\"}"
with:
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 {effective_tokens_suffix} addition here is a clean drop-in pattern — it follows the same "always a string, safe to concatenate" contract as {history_link}. Nice consistency! 🎉

if (!isNaN(parsed) && parsed > 0) {
const effectiveTokensFormatted = formatET(parsed);
return { effectiveTokens: parsed, effectiveTokensFormatted, effectiveTokensSuffix: ` · ● ${effectiveTokensFormatted}` };
}
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.

Good use of isNaN() for NaN detection. One minor nit: Number.isNaN() would be slightly more precise here since it doesn't coerce non-numeric types, e.g. Number.isNaN(undefined) returns false while isNaN(undefined) returns true. For this use case it likely doesn't matter, but it's worth noting for robustness.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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

@github-actions

This comment has been minimized.

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!

💥 [THE END] — Illustrated by Smoke Claude

@@ -26,7 +26,7 @@ safe-outputs:
add-comment:
max: 1
messages:
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 {effective_tokens_suffix} template variable is correctly placed between the run URL and the history link. This provides useful token usage context in the footer without disrupting the existing layout. Good addition for observability!

@@ -16,7 +16,7 @@ safe-outputs:
add-comment:
max: 1
messages:
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 application of {effective_tokens_suffix} across workflow footer templates. This keeps the token reporting uniform. Consider adding a comment in a shared doc explaining the meaning of this template variable for future workflow authors.

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.

+1 from the smoke test agent! Exporting getEffectiveTokensFromEnv would make cross-module token reporting cleaner. 🤖

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

Root cause: core.exportVariable() only persists env vars within the same job.
The safe_outputs job (which generates footers) is a separate job and cannot
see GH_AW_EFFECTIVE_TOKENS set in the agent job.

Fix:
- Add step ID 'parse-mcp-gateway' to the generateMCPGatewayLogParsing step
- Add 'effective_tokens' to agent job outputs via the step output
- Have parse_mcp_gateway_log.cjs call core.setOutput() in addition to exportVariable()
- Pass GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens }} to safe_outputs job
- Add ParseMCPGatewayStepID constant in pkg/constants/job_constants.go
- Update golden fixture files to match new output

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/adf67452-a5a1-475a-b48f-d92bf0fcff60

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

Copilot AI commented Apr 2, 2026

@copilot debug why this footer does not have effective token data

#24150 (comment)

Root cause: core.exportVariable("GH_AW_EFFECTIVE_TOKENS", ...) (called in parse_mcp_gateway_log.cjs) only persists env vars within the same job. The safe_outputs job that renders footers is a separate downstream job, so it never sees that value.

Fixed in c5516a4:

  1. Added id: parse-mcp-gateway step ID to the Parse MCP Gateway logs step in the agent job
  2. parse_mcp_gateway_log.cjs now also calls core.setOutput("effective_tokens", ...) alongside exportVariable()
  3. Agent job exposes effective_tokens: ${{ steps.parse-mcp-gateway.outputs.effective_tokens }} as a job-level output
  4. safe_outputs job now receives GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens }}

All 179 lock files recompiled.

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 committer.name (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 ache/go/1.25.0/xrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse /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 node /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git rting.md en_CompileFixturrev-parse 0/x64/bin/node git (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-p-f git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git _out�� .js&#39; --ignore-path .prettierignore --log-level=error git tions/setup/node_modules/.bin/node --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name repository(owne--show-toplevel git /usr/bin/git --show-toplevel node /usr/bin/gh git rev-�� --show-toplevel gh /usr/bin/git download 3 /usr/bin/git 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 -unreachable=false /tmp/go-build4141657399/b099/vet.cfg /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha 64/pkg/tool/linu--show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git node js/f�� uildJobLevel\|Te--show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --noprofile -extld=gcc /usr/local/sbin/grep --show-toplevel git /usr/bin/git grep -l effective_tokens /home/REDACTED/work/gh-aw/gh-aw/pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilotrev-parse /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /home/REDACTED/worgit /home/REDACTED/worrev-parse /home/REDACTED/wor--show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (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 --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git 0/x64/bin/node --show-toplevel git /usr/bin/git git cjs --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel g/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden 64/pkg/tool/linux_amd64/compile g/workflow/testdgit g/workflow/testdrev-parse g/workflow/testd--show-toplevel 64/pkg/tool/linux_amd64/compile js/f�� /usr/bin/bash git cal/bin/bash --show-toplevel bash /usr/bin/git node (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 --local user.email de/node/bin/bash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -bool -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git rev-�� --show-toplevel -tests /usr/bin/git get --local ndor/bin/bash git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git --noprofile (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 -x c /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet - (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --noprofile est.go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git --noprofile (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 echo &#34;��� Action scripts synced successfully&#34; (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha /home/REDACTED/work/gh-aw/gh-aw/pkg/constants/tool_constants.go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --noprofile (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 /tmp/go-build3550291199/b063/_pkg_.a -trimpath /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -p github.com/githurev-parse -lang=go1.25 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -uns�� -unreachable=false /tmp/go-build4141657399/b053/vet.cfg 1657399/b353/vet.cfg -c=4 -nolocalimports -importcfg /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel x_amd64/vet /usr/bin/git git rev-�� --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha k/gh-aw/gh-aw/pkg/workflow/testdata/wasm_golden/fixtures/shared/mcp/tavily.md k/gh-aw/gh-aw/pkg/workflow/testdata/wasm_golden/fixtures/shared/gh.md /opt/hostedtoolcache/node/24.14.0/x64/bin/grep --show-toplevel .golden etwork.golden golden ols.�� .golden /home/REDACTED/work/gh-aw/gh-aw/pkg/workflow/prompts/github_context_prompt.md /home/REDACTED/.cargo/bin/bash /home/REDACTED/worgit /home/REDACTED/worrev-parse /home/REDACTED/wor--show-toplevel bash (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 /tmp/go-build3550291199/b287/_pkg_.a -trimpath /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -p github.com/githurev-parse -lang=go1.25 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -uns�� -unreachable=false /tmp/go-build4141657399/b067/vet.cfg 1657399/b351/vet.cfg -c=4 -nolocalimports -importcfg /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel x_amd64/vet /usr/bin/git git rev-�� --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha k/gh-aw/gh-aw/pkg/workflow/testdata/wasm_golden/fixtures/shared/mcp/tavily.md k/gh-aw/gh-aw/pkg/workflow/testdata/wasm_golden/fixtures/shared/gh.md /home/REDACTED/go/bin/grep --show-toplevel .golden etwork.golden golden ols.�� .golden /home/REDACTED/work/gh-aw/gh-aw/pkg/workflow/prompts/github_context_prompt.md /home/REDACTED/.local/bin/bash /home/REDACTED/worgit /home/REDACTED/worrev-parse /home/REDACTED/wor--show-toplevel bash (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 --show-toplevel bash /usr/bin/sed --noprofile git /home/REDACTED/wor&#34;prettier&#34; --write &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettierignore sed -n s/.*&#34;branch&#34;[[:space:]]*:[[:space:]]*&#34;\([^&#34;]*\)&#34;.*/\1/p bash /usr/bin/git --noprofile git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility json&#39; --ignore-path ../../../.pr**/*.json git 0/x64/bin/node --show-toplevel git /usr/bin/git git cjs th .prettierignore --log-level=error git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0 --jq .object.sha --show-toplevel bash /sh --noprofile git /usr/sbin/bash /bin/sh -c w/js/**/*.json&#39; --ignore-path git-upload-pack ../../../.prettierignore /usr/bin/git --noprofile infocmp /usr/bin/gh git (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 --porcelain (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel x_amd64/vet /usr/bin/git git rev-�� --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/infocmp--show-toplevel node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha --noprofile git /usr/local/.ghcup/bin/bash --show-toplevel git /usr/bin/git bash --no�� --noprofile git /usr/bin/bash --show-toplevel git /usr/bin/git bash (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 /var/lib/waagent (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel bash 0/x64/bin/node --noprofile -tests /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel node /usr/bin/git git _out�� --show-toplevel git 0/x64/bin/bash --show-toplevel git /usr/bin/git git (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 /var/lib/waagent .cfg 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel bash 0/x64/bin/node --noprofile -tests /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel node /usr/bin/git git _out�� --show-toplevel git cal/bin/bash --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 format:cjs /home/REDACTED/node_modules/.bin/s-importcfg --show-toplevel node /usr/bin/git sh -c 3565873376/.github/workflows git /usr/local/bin/sh --show-toplevel node /usr/bin/git sh (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git /usr/bin/git --show-toplevel 0/x64/bin/node /usr/bin/git git rev-�� OnlyCompiledOutput3961445270/001 git e/git --show-toplevel infocmp /usr/bin/git e/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 actions/setup/js/node_modules/fl-nolocalimports /home/REDACTED/.local/bin/node cmd/gh-aw/capitagit cmd/gh-aw/commanconfig cmd/gh-aw/formatuser.email node /opt�� 3267388222/.github/workflows --write (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 pkg/workflow/concurrency_validation_test.go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 format:cjs me: String!) { repository(owne-q /v0.47.4 node /usr/bin/git sh -c k/gh-aw/gh-aw/.github/workflows git me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l node /usr/bin/git sh (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git /usr/bin/git --show-toplevel /usr/lib/git-correv-parse /usr/bin/git git rev-�� --show-toplevel git e/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git e/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 format:cjs /node_modules/.bin/sh l node /usr/bin/git sh -c k/gh-aw/gh-aw/.github/workflows git 64/bin/bash --show-toplevel node /usr/bin/git sh (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/git --show-toplevel 0/x64/bin/node /usr/bin/git git rev-�� --show-toplevel git e/git --show-toplevel 0167729/b439/imprev-parse /usr/bin/git e/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 format:cjs er: String!, $name: String!) { -test.short=true --show-toplevel node ed } } Dg/mCTHgOgtaCf7iQExit-m/eomy2WHMX-sif4aHRWEK -c 578422237/.github/workflows git 0/x64/bin/bash l node ed } } prettier (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git 1012643/b375/vet.cfg --show-toplevel /usr/lib/git-correv-parse /usr/bin/git git rev-�� --show-toplevel git e/git --show-toplevel git /usr/bin/git e/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 git /home/REDACTED/work/_temp/uv-pytho--quiet --show-toplevel node /usr/bin/git sh -c 578422237/.github/workflows git de/node/bin/bash --show-toplevel node /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pr**/*.json git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git _out�� .js&#39; --ignore-pa-f git repository(owne-f --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 git /usr/bin/git node js/f�� .version=dd20ba6-dirty&#34; -o gh-awremote.origin.url git k/gh-aw/gh-aw/actions/setup/node_modules/.bin/sh nore git otOrdering164163/tmp/gh-aw-test-runs/20260402-185941-31156/test-1143885050/.github/workflows node (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 nly /usr/bin/git node /hom�� ithub/workflows **/*.cjs (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 /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq /usr/bin/git get --local es git rev-�� --show-toplevel git /usr/bin/git --local credential.helpeshow-ref (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.0/xshow-ref /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel node /usr/bin/git git (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 get --local es committer.email (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git om/stretchr/testnode om/stretchr/testjs/fuzz_mentions_harness.cjs ache/go/1.25.0/x64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git se 1657399/b046/vetjs/fuzz_sanitize_label_harness.cjs .cfg git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /opt/hostedtoolc--noprofile git rev-�� --show-toplevel node /usr/bin/git 64/pkg/tool/linubash git /opt/hostedtoolc--noprofile git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git k/gh-aw/node_mod-short son git /usr/bin/git node k/gh�� ache/node/24.14.--thin /generate_footer--delta-base-offset sh nore git /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� 01 git /usr/bin/git --show-toplevel /usr/bin/gh /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha *.json&#39; &#39;!../../-errorsas git ache/go/1.25.0/x-nilfunc --show-toplevel git /usr/bin/git node k/gh�� ache/node/24.14.--show-toplevel /generate_footer.test.cjs repository(owner: $owner, name:-f --show-toplevel git /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha *.json&#39; &#39;!../../-errorsas git sh --show-toplevel git /usr/bin/git node js/f�� x_amd64/link git me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel x_amd64/link /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha *.json&#39; &#39;!../../-errorsas git bash --show-toplevel git 86_64/node node js/f�� ithub/workflows git cal/bin/node --show-toplevel git /usr/bin/git node (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha *.json&#39; &#39;!../../-errorsas git ache/go/1.25.0/x-nilfunc --show-toplevel git 0/x64/bin/node node js/f�� x_amd64/cgo git k/gh-aw/gh-aw/actions/node_modul-f --show-toplevel x_amd64/cgo /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel /usr/bin/gh /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel docker /usr/bin/git git (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha re --log-level=error head $name) { hasDiscussionsEnabled } } ache/node/24.14./usr/bin/gh git /usr/local/bin/bgraphql git /pre�� --show-toplevel bash 0/x64/bin/node --noprofile type d -name bin-C /usr/bin/git git (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 n_reference.go n_reference_test.go n_resolver.go n_resolver_test./opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet n_sha_checker.go-unsafeptr=false n_sha_checker_in-unreachable=false n_sha_checker_te/tmp/go-build4141657399/b209/vet.cfg n_sh�� ation_checkout_test.go ation_github_token_test.go n-dir/bash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /opt/hostedtoolc--noprofile git rev-�� --show-toplevel node /usr/bin/du 64/pkg/tool/linubash git /opt/hostedtoolc--noprofile du (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion _file_lists.testgit node /usr/bin/git node /hom�� y_with_explicit_repo1410039002/001 scripts/**/*.js /home/REDACTED/go/bin/node .prettierignore --log-level=erro/tmp/js-hash-test-3764756374/test-hash.js DiscussionsEnabl/home/REDACTED/work/gh-aw/gh-aw/.github/workflows/auto-triage-issues.md node (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --show-toplevel nly /usr/bin/git git rev-�� blog-auditor.md git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel git /usr/bin/git git 8d51�� --show-toplevel git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel engines/gemini.m-o /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo ules/.bin/node --show-toplevel git /usr/bin/git git 8d51�� --show-toplevel git n-dir/node --show-toplevel engines/gemini.mconfig /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/git --show-toplevel iptables /usr/bin/git git rev-�� --show-toplevel /usr/bin/git /usr/bin/git -v sh /usr/bin/git git (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build2060167729/b396/cli.test /tmp/go-build2060167729/b396/cli.test -test.testlogfile=/tmp/go-build2060167729/b396/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true --show-toplevel git /usr/bin/git git _har�� &#39;**/*.ts&#39; &#39;**/*.remote.origin.url git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /tmp/go-build2471012643/b373/cli.test /tmp/go-build2471012643/b373/cli.test -test.testlogfile=/tmp/go-build2471012643/b373/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� --show-toplevel git /usr/bin/git /usr/bin/git node /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel node /usr/bin/git /home/REDACTED/worgit erignore /usr/bin/git git (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name 51027756/001&#39; 51027756/001&#39; r: $owner, name: $name) { hasDiscussionsEnabled } } Action pins syninfocmp git /usr/bin/git git _out�� .js&#39; --ignore-path .prettierignore --log-level=error git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel git /usr/bin/git --show-toplevel ilot_github_mcp_rev-parse /usr/bin/infocmp--show-toplevel git rev-�� --show-toplevel infocmp /usr/bin/git xterm-color iginal /usr/bin/git git (http block)

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

@pelikhan pelikhan added the smoke label Apr 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 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 Apr 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq v4.52.5
curl 8.5.0
gh 2.89.0
node v20.20.2
python3 3.12.3
go 1.24.13
java 10.0.201
dotnet 10.0.201

Result: 12/12 tools available ✅

Overall Status: PASS

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

@pelikhan pelikhan merged commit 2962622 into main Apr 2, 2026
232 of 234 checks passed
@pelikhan pelikhan deleted the copilot/review-footers-in-agentic-workflows branch April 2, 2026 19:13
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🤖 Smoke test §23917275390 results for @Copilot / assignees @pelikhan @Copilot:

Test
GitHub MCP
MCP Scripts GH CLI
Serena MCP ❌ (tools unavailable)
Playwright
Web Fetch
File Writing
Bash Tool
Discussion Interaction
Build gh-aw
Discussion Creation
Workflow Dispatch
PR Review

Overall: ⚠️ PARTIAL PASS (11/12)

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

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 adds effective_tokens observability across all workflow lock files — clean, consistent pattern. The getEffectiveTokensFromEnv() helper centralizes env var parsing nicely. LGTM! 🚀

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

env:
GH_AW_WORKFLOW_ID_SANITIZED: aceeditor
outputs:
effective_tokens: ${{ steps.parse-mcp-gateway.outputs.effective_tokens }}
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 effective_tokens output is now correctly wired from steps.parse-mcp-gateway.outputs.effective_tokens. This pattern is consistently applied across all workflow lock files — good for observability! 🔭

const templateContext = toSnakeCase({ ...ctx, historyLink, agenticWorkflowUrl, effectiveTokensFormatted, effectiveTokensSuffix });

// Use custom footer template if configured (no automatic suffix appended)
if (messages?.footer) {
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 with the getEffectiveTokensFromEnv() helper pattern introduced earlier. The formatted suffix (N tokens) provides a nice human-readable token count in footer messages.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 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 Apr 2, 2026


Warning

The push_to_pull_request_branch operation failed: Cannot push to pull request branch: patch modifies files outside the allowed-files list (.smoke-tests/claude-23917275429.txt). Add the files to the allowed-files configuration field or remove them from the patch.. The code changes were not applied.

Smoke Test 23917275429 — Claude Engine

Test Status
1 GitHub MCP
2 GH CLI
3 Serena (17 symbols)
4 Make Build
5 Playwright ❌ EACCES host uid
6 Tavily Search
7 File Write
8 Bash Verify
9 Discussion Comment
10 AW MCP Status
11 Slack
12 Update PR
13 Review Comments
14 Submit Review
15 Resolve Thread ⚠️ skipped
16 Add Reviewer
17 Push to Branch
18 Close PR ⚠️ skipped

Overall: PARTIAL (Playwright ❌, 2 skipped)

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

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!

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

env:
GH_AW_WORKFLOW_ID_SANITIZED: aceeditor
outputs:
effective_tokens: ${{ steps.parse-mcp-gateway.outputs.effective_tokens }}
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.

Good addition — exposing effective_tokens as a job output enables downstream footer jobs to consume it. Consider adding a fallback value (e.g. || '') to ensure the output is always defined even if the step is skipped.

await main();
- name: Parse MCP Gateway logs for step summary
if: always()
id: parse-mcp-gateway
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.

Adding id: parse-mcp-gateway here is necessary so the effective_tokens output reference resolves correctly. This is a clean, targeted change.

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