diff --git a/.changeset/patch-migrate-detection-artifacts.md b/.changeset/patch-migrate-detection-artifacts.md
new file mode 100644
index 0000000000..f959223a17
--- /dev/null
+++ b/.changeset/patch-migrate-detection-artifacts.md
@@ -0,0 +1,12 @@
+---
+"gh-aw": patch
+---
+
+Migrate detection job artifacts to the unified `/tmp/gh-aw/artifacts` path and add validations.
+
+- Update artifact download paths used by detection jobs to `/tmp/gh-aw/artifacts`.
+- Fail fast when `prompt.txt` or `agent_output.json` are missing.
+- Fail when `aw.patch` is expected but not present.
+
+This is an internal tooling fix and non-breaking (patch).
+
diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml
index 968645d102..08ee05315e 100644
--- a/.github/workflows/agent-performance-analyzer.lock.yml
+++ b/.github/workflows/agent-performance-analyzer.lock.yml
@@ -1518,13 +1518,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1535,6 +1535,7 @@ jobs:
env:
WORKFLOW_NAME: "Agent Performance Analyzer - Meta-Orchestrator"
WORKFLOW_DESCRIPTION: "Meta-orchestrator that analyzes AI agent performance, quality, and effectiveness across the repository"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml
index 17a55a74d5..a165ca419e 100644
--- a/.github/workflows/archie.lock.yml
+++ b/.github/workflows/archie.lock.yml
@@ -1073,13 +1073,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1090,6 +1090,7 @@ jobs:
env:
WORKFLOW_NAME: "Archie"
WORKFLOW_DESCRIPTION: "Generates Mermaid diagrams to visualize issue and pull request relationships when invoked with the /archie command"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml
index 2f68a9e0ee..8e786b5079 100644
--- a/.github/workflows/artifacts-summary.lock.yml
+++ b/.github/workflows/artifacts-summary.lock.yml
@@ -919,13 +919,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -936,6 +936,7 @@ jobs:
env:
WORKFLOW_NAME: "Artifacts Summary"
WORKFLOW_DESCRIPTION: "Generates a comprehensive summary of GitHub Actions artifacts usage across all workflows in the repository"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml
index 3e12511dca..981a374f49 100644
--- a/.github/workflows/audit-workflows.lock.yml
+++ b/.github/workflows/audit-workflows.lock.yml
@@ -1308,13 +1308,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1325,6 +1325,7 @@ jobs:
env:
WORKFLOW_NAME: "Agentic Workflow Audit Agent"
WORKFLOW_DESCRIPTION: "Daily audit of all agentic workflow runs from the last 24 hours to identify issues, missing tools, errors, and improvement opportunities"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml
index 4f2a8f1aa3..2b161aa0d8 100644
--- a/.github/workflows/blog-auditor.lock.yml
+++ b/.github/workflows/blog-auditor.lock.yml
@@ -1193,13 +1193,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1210,6 +1210,7 @@ jobs:
env:
WORKFLOW_NAME: "Blog Auditor"
WORKFLOW_DESCRIPTION: "Verifies that the GitHub Next Agentic Workflows blog page is accessible and contains expected content"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml
index 680725a518..7137d37bfd 100644
--- a/.github/workflows/brave.lock.yml
+++ b/.github/workflows/brave.lock.yml
@@ -966,13 +966,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -983,6 +983,7 @@ jobs:
env:
WORKFLOW_NAME: "Brave Web Search Agent"
WORKFLOW_DESCRIPTION: "Performs web searches using Brave search engine when invoked with /brave command in issues or PRs"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/breaking-change-checker.lock.yml b/.github/workflows/breaking-change-checker.lock.yml
index 8cfbcfcb4a..23563c3f44 100644
--- a/.github/workflows/breaking-change-checker.lock.yml
+++ b/.github/workflows/breaking-change-checker.lock.yml
@@ -1018,13 +1018,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1035,6 +1035,7 @@ jobs:
env:
WORKFLOW_NAME: "Breaking Change Checker"
WORKFLOW_DESCRIPTION: "Daily analysis of recent commits and merged PRs for breaking CLI changes"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/campaign-generator.lock.yml b/.github/workflows/campaign-generator.lock.yml
index 03a0b21450..7a1e467d35 100644
--- a/.github/workflows/campaign-generator.lock.yml
+++ b/.github/workflows/campaign-generator.lock.yml
@@ -929,13 +929,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -946,6 +946,7 @@ jobs:
env:
WORKFLOW_NAME: "Campaign Generator"
WORKFLOW_DESCRIPTION: "Campaign generator that updates issue status and assigns to Copilot agent for campaign design"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml
index cb8d9be2ed..8bf0cdc1c1 100644
--- a/.github/workflows/changeset.lock.yml
+++ b/.github/workflows/changeset.lock.yml
@@ -1129,13 +1129,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1146,6 +1146,7 @@ jobs:
env:
WORKFLOW_NAME: "Changeset Generator"
WORKFLOW_DESCRIPTION: "Automatically creates changeset files when PRs are labeled with 'changeset' or 'smoke' to document changes for release notes"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml
index be690f8153..19d20838cb 100644
--- a/.github/workflows/ci-coach.lock.yml
+++ b/.github/workflows/ci-coach.lock.yml
@@ -1563,13 +1563,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1580,6 +1580,7 @@ jobs:
env:
WORKFLOW_NAME: "CI Optimization Coach"
WORKFLOW_DESCRIPTION: "Daily CI optimization coach that analyzes workflow runs for efficiency improvements and cost reduction opportunities"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml
index ed24649477..768305bbc4 100644
--- a/.github/workflows/ci-doctor.lock.yml
+++ b/.github/workflows/ci-doctor.lock.yml
@@ -1103,13 +1103,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1120,6 +1120,7 @@ jobs:
env:
WORKFLOW_NAME: "CI Failure Doctor"
WORKFLOW_DESCRIPTION: "Investigates failed CI workflows to identify root causes and patterns, creating issues with diagnostic information"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml
index 73c3893d32..c447ebdb66 100644
--- a/.github/workflows/cli-consistency-checker.lock.yml
+++ b/.github/workflows/cli-consistency-checker.lock.yml
@@ -1001,13 +1001,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1018,6 +1018,7 @@ jobs:
env:
WORKFLOW_NAME: "CLI Consistency Checker"
WORKFLOW_DESCRIPTION: "Inspects the gh-aw CLI to identify inconsistencies, typos, bugs, or documentation gaps by running commands and analyzing output"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml
index e1f1c673d7..a73e4de149 100644
--- a/.github/workflows/cli-version-checker.lock.yml
+++ b/.github/workflows/cli-version-checker.lock.yml
@@ -1256,13 +1256,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1273,6 +1273,7 @@ jobs:
env:
WORKFLOW_NAME: "CLI Version Checker"
WORKFLOW_DESCRIPTION: "Monitors and updates agentic CLI tools (Claude Code, GitHub Copilot CLI, OpenAI Codex, GitHub MCP Server, Playwright MCP, Playwright Browser) for new versions"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml
index 4e9ac61672..eb82197599 100644
--- a/.github/workflows/cloclo.lock.yml
+++ b/.github/workflows/cloclo.lock.yml
@@ -1410,13 +1410,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1427,6 +1427,7 @@ jobs:
env:
WORKFLOW_NAME: "/cloclo"
WORKFLOW_DESCRIPTION: "No description provided"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml
index 5cca99a90c..046e9b925d 100644
--- a/.github/workflows/commit-changes-analyzer.lock.yml
+++ b/.github/workflows/commit-changes-analyzer.lock.yml
@@ -1106,13 +1106,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1123,6 +1123,7 @@ jobs:
env:
WORKFLOW_NAME: "Commit Changes Analyzer"
WORKFLOW_DESCRIPTION: "Analyzes and provides a comprehensive developer-focused report of all changes in the repository since a specified commit"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml
index 183d788e9f..717dae33a6 100644
--- a/.github/workflows/copilot-agent-analysis.lock.yml
+++ b/.github/workflows/copilot-agent-analysis.lock.yml
@@ -1539,13 +1539,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1556,6 +1556,7 @@ jobs:
env:
WORKFLOW_NAME: "Copilot Agent PR Analysis"
WORKFLOW_DESCRIPTION: "Analyzes GitHub Copilot agent usage patterns in pull requests to provide insights on agent effectiveness and behavior"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml
index 048051d26c..c6d4aff7cd 100644
--- a/.github/workflows/copilot-pr-merged-report.lock.yml
+++ b/.github/workflows/copilot-pr-merged-report.lock.yml
@@ -1076,13 +1076,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1093,6 +1093,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Copilot PR Merged Report"
WORKFLOW_DESCRIPTION: "Generates a daily report analyzing Copilot pull requests merged in the last 24 hours, tracking code generation, tests, and token usage"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
index 5957fa69f7..70e3c1a57a 100644
--- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
@@ -1767,13 +1767,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1784,6 +1784,7 @@ jobs:
env:
WORKFLOW_NAME: "Copilot PR Conversation NLP Analysis"
WORKFLOW_DESCRIPTION: "Performs natural language processing analysis on Copilot PR conversations to extract insights and patterns from user interactions"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml
index 156c8539e1..919dc5bef4 100644
--- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml
@@ -1278,13 +1278,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1295,6 +1295,7 @@ jobs:
env:
WORKFLOW_NAME: "Copilot PR Prompt Pattern Analysis"
WORKFLOW_DESCRIPTION: "Analyzes prompt patterns used in Copilot PR interactions to identify common usage patterns and optimization opportunities"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml
index 6b9034b49c..1f836e6e2e 100644
--- a/.github/workflows/copilot-session-insights.lock.yml
+++ b/.github/workflows/copilot-session-insights.lock.yml
@@ -2078,13 +2078,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -2095,6 +2095,7 @@ jobs:
env:
WORKFLOW_NAME: "Copilot Session Insights"
WORKFLOW_DESCRIPTION: "Analyzes GitHub Copilot agent sessions to provide detailed insights on usage patterns, success rates, and performance metrics"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml
index c926ce1d04..c5d1d306f5 100644
--- a/.github/workflows/craft.lock.yml
+++ b/.github/workflows/craft.lock.yml
@@ -1139,13 +1139,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1156,6 +1156,7 @@ jobs:
env:
WORKFLOW_NAME: "Workflow Craft Agent"
WORKFLOW_DESCRIPTION: "Generates new agentic workflow markdown files based on user requests when invoked with /craft command"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml
index 293852f8a4..80b9e94112 100644
--- a/.github/workflows/daily-assign-issue-to-user.lock.yml
+++ b/.github/workflows/daily-assign-issue-to-user.lock.yml
@@ -835,13 +835,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -852,6 +852,7 @@ jobs:
env:
WORKFLOW_NAME: "Auto-Assign Issue"
WORKFLOW_DESCRIPTION: "No description provided"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-choice-test.lock.yml b/.github/workflows/daily-choice-test.lock.yml
index d5c2eb1fe7..95a97bba38 100644
--- a/.github/workflows/daily-choice-test.lock.yml
+++ b/.github/workflows/daily-choice-test.lock.yml
@@ -816,13 +816,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -833,6 +833,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Choice Type Test"
WORKFLOW_DESCRIPTION: "Daily test workflow using Claude with custom safe-output job containing choice inputs"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-cli-performance.lock.yml b/.github/workflows/daily-cli-performance.lock.yml
index 52e8c2042e..324b4c976f 100644
--- a/.github/workflows/daily-cli-performance.lock.yml
+++ b/.github/workflows/daily-cli-performance.lock.yml
@@ -1483,13 +1483,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1500,6 +1500,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily CLI Performance Agent"
WORKFLOW_DESCRIPTION: "Daily CLI Performance - Runs benchmarks, tracks performance trends, and reports regressions"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml
index 8be195955b..7b1d01986b 100644
--- a/.github/workflows/daily-code-metrics.lock.yml
+++ b/.github/workflows/daily-code-metrics.lock.yml
@@ -1785,13 +1785,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1802,6 +1802,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Code Metrics and Trend Tracking Agent"
WORKFLOW_DESCRIPTION: "Tracks and visualizes daily code metrics and trends to monitor repository health and development patterns"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-copilot-token-report.lock.yml b/.github/workflows/daily-copilot-token-report.lock.yml
index e12009069a..5a08bac526 100644
--- a/.github/workflows/daily-copilot-token-report.lock.yml
+++ b/.github/workflows/daily-copilot-token-report.lock.yml
@@ -1877,13 +1877,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1894,6 +1894,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Copilot Token Consumption Report"
WORKFLOW_DESCRIPTION: "Daily report tracking Copilot token consumption and costs across all agentic workflows with trend analysis"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml
index 516f141e81..e1f4e02817 100644
--- a/.github/workflows/daily-doc-updater.lock.yml
+++ b/.github/workflows/daily-doc-updater.lock.yml
@@ -1097,13 +1097,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1114,6 +1114,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Documentation Updater"
WORKFLOW_DESCRIPTION: "Automatically reviews and updates documentation to ensure accuracy and completeness"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml
index 19b982a49c..1c68868d0b 100644
--- a/.github/workflows/daily-fact.lock.yml
+++ b/.github/workflows/daily-fact.lock.yml
@@ -800,13 +800,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -817,6 +817,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Fact About gh-aw"
WORKFLOW_DESCRIPTION: "Posts a daily poetic verse about the gh-aw project to a discussion thread"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml
index c69b7d68a6..05c509b433 100644
--- a/.github/workflows/daily-file-diet.lock.yml
+++ b/.github/workflows/daily-file-diet.lock.yml
@@ -1125,13 +1125,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1142,6 +1142,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily File Diet"
WORKFLOW_DESCRIPTION: "Analyzes the largest Go source file daily and creates an issue to refactor it into smaller files if it exceeds the healthy size threshold"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml
index f12cd2fd3d..cd0cf3fd34 100644
--- a/.github/workflows/daily-firewall-report.lock.yml
+++ b/.github/workflows/daily-firewall-report.lock.yml
@@ -1329,13 +1329,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1346,6 +1346,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Firewall Logs Collector and Reporter"
WORKFLOW_DESCRIPTION: "Collects and reports on firewall log events to monitor network security and access patterns"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml
index bb103e4665..477953381d 100644
--- a/.github/workflows/daily-issues-report.lock.yml
+++ b/.github/workflows/daily-issues-report.lock.yml
@@ -1908,13 +1908,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1925,6 +1925,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Issues Report Generator"
WORKFLOW_DESCRIPTION: "Daily report analyzing repository issues with clustering, metrics, and trend charts"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml
index 63c563e2e3..cfc0724c6d 100644
--- a/.github/workflows/daily-multi-device-docs-tester.lock.yml
+++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml
@@ -1082,13 +1082,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1099,6 +1099,7 @@ jobs:
env:
WORKFLOW_NAME: "Multi-Device Docs Tester"
WORKFLOW_DESCRIPTION: "Tests documentation site functionality and responsive design across multiple device form factors"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml
index 888a934134..b6dd9284a2 100644
--- a/.github/workflows/daily-news.lock.yml
+++ b/.github/workflows/daily-news.lock.yml
@@ -1693,13 +1693,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1710,6 +1710,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily News"
WORKFLOW_DESCRIPTION: "Generates a daily news digest of repository activity including issues, PRs, discussions, and workflow runs"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml
index 6b1c26a2aa..b44e41c377 100644
--- a/.github/workflows/daily-performance-summary.lock.yml
+++ b/.github/workflows/daily-performance-summary.lock.yml
@@ -1858,13 +1858,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1875,6 +1875,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Project Performance Summary Generator (Using Safe Inputs)"
WORKFLOW_DESCRIPTION: "Daily project performance summary (90-day window) with trend charts using safe-inputs"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml
index c074309ec1..b2cea337b0 100644
--- a/.github/workflows/daily-repo-chronicle.lock.yml
+++ b/.github/workflows/daily-repo-chronicle.lock.yml
@@ -1533,13 +1533,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1550,6 +1550,7 @@ jobs:
env:
WORKFLOW_NAME: "The Daily Repository Chronicle"
WORKFLOW_DESCRIPTION: "Creates a narrative chronicle of daily repository activity including commits, PRs, issues, and discussions"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml
index dd6edf7af5..7519a9aff1 100644
--- a/.github/workflows/daily-team-status.lock.yml
+++ b/.github/workflows/daily-team-status.lock.yml
@@ -926,13 +926,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -943,6 +943,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Team Status"
WORKFLOW_DESCRIPTION: "This workflow created daily team status reporter creating upbeat activity summaries.\nGathers recent repository activity (issues, PRs, releases, code changes)\nand generates engaging GitHub issues with productivity insights, community\nhighlights, and project recommendations. Uses a positive, encouraging tone with\nmoderate emoji usage to boost team morale."
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml
index 5efb5e4fae..f4a20356c0 100644
--- a/.github/workflows/daily-workflow-updater.lock.yml
+++ b/.github/workflows/daily-workflow-updater.lock.yml
@@ -988,13 +988,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1005,6 +1005,7 @@ jobs:
env:
WORKFLOW_NAME: "Daily Workflow Updater"
WORKFLOW_DESCRIPTION: "Automatically updates GitHub Actions versions and creates a PR if changes are detected"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml
index db6f9de02e..17c7a77059 100644
--- a/.github/workflows/deep-report.lock.yml
+++ b/.github/workflows/deep-report.lock.yml
@@ -1409,13 +1409,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1426,6 +1426,7 @@ jobs:
env:
WORKFLOW_NAME: "DeepReport - Intelligence Gathering Agent"
WORKFLOW_DESCRIPTION: "Intelligence gathering agent that continuously reviews and aggregates information from agent-generated reports in discussions"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml
index c772bd64b7..75cff8ac9a 100644
--- a/.github/workflows/dependabot-go-checker.lock.yml
+++ b/.github/workflows/dependabot-go-checker.lock.yml
@@ -1281,13 +1281,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1298,6 +1298,7 @@ jobs:
env:
WORKFLOW_NAME: "Dependabot Dependency Checker"
WORKFLOW_DESCRIPTION: "Checks for Go module and NPM dependency updates and analyzes Dependabot PRs for compatibility and breaking changes"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml
index 1bd23fb93c..710070a9b4 100644
--- a/.github/workflows/dev-hawk.lock.yml
+++ b/.github/workflows/dev-hawk.lock.yml
@@ -1076,13 +1076,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1093,6 +1093,7 @@ jobs:
env:
WORKFLOW_NAME: "Dev Hawk"
WORKFLOW_DESCRIPTION: "Monitors development workflow activities and provides real-time alerts and insights on pull requests and CI status"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml
index 7c45a05529..c59739a42a 100644
--- a/.github/workflows/dev.lock.yml
+++ b/.github/workflows/dev.lock.yml
@@ -780,13 +780,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -797,6 +797,7 @@ jobs:
env:
WORKFLOW_NAME: "Dev"
WORKFLOW_DESCRIPTION: "Read an issue and post a poem about it"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml
index 9d87ac577f..b738d2285d 100644
--- a/.github/workflows/developer-docs-consolidator.lock.yml
+++ b/.github/workflows/developer-docs-consolidator.lock.yml
@@ -1627,13 +1627,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1644,6 +1644,7 @@ jobs:
env:
WORKFLOW_NAME: "Developer Documentation Consolidator"
WORKFLOW_DESCRIPTION: "Consolidates and organizes developer documentation from multiple sources into a unified, searchable knowledge base"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml
index 7eac9249c5..9e6919f4b6 100644
--- a/.github/workflows/dictation-prompt.lock.yml
+++ b/.github/workflows/dictation-prompt.lock.yml
@@ -884,13 +884,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -901,6 +901,7 @@ jobs:
env:
WORKFLOW_NAME: "Dictation Prompt Generator"
WORKFLOW_DESCRIPTION: "Generates optimized prompts for voice dictation and speech-to-text workflows"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml
index b0e50a6a4c..3ed20bf5bd 100644
--- a/.github/workflows/docs-noob-tester.lock.yml
+++ b/.github/workflows/docs-noob-tester.lock.yml
@@ -1018,13 +1018,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1035,6 +1035,7 @@ jobs:
env:
WORKFLOW_NAME: "Documentation Noob Tester"
WORKFLOW_DESCRIPTION: "Tests documentation as a new user would, identifying confusing or broken steps in getting started guides"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/docs-quality-maintenance-project67.campaign.lock.yml b/.github/workflows/docs-quality-maintenance-project67.campaign.lock.yml
index 8e852423ed..894dc94453 100644
--- a/.github/workflows/docs-quality-maintenance-project67.campaign.lock.yml
+++ b/.github/workflows/docs-quality-maintenance-project67.campaign.lock.yml
@@ -1295,13 +1295,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1312,6 +1312,7 @@ jobs:
env:
WORKFLOW_NAME: "Documentation Quality & Maintenance Campaign (Project 69)"
WORKFLOW_DESCRIPTION: "Systematically improve documentation quality, consistency, and maintainability. Success: all docs follow Diรกtaxis framework, maintain accessibility standards, and pass quality checks."
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml
index 6f5e1d8721..f2d131c5fe 100644
--- a/.github/workflows/duplicate-code-detector.lock.yml
+++ b/.github/workflows/duplicate-code-detector.lock.yml
@@ -1051,13 +1051,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1068,6 +1068,7 @@ jobs:
env:
WORKFLOW_NAME: "Duplicate Code Detector"
WORKFLOW_DESCRIPTION: "Identifies duplicate code patterns across the codebase and suggests refactoring opportunities"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml
index 370b3f0600..d726a504af 100644
--- a/.github/workflows/example-workflow-analyzer.lock.yml
+++ b/.github/workflows/example-workflow-analyzer.lock.yml
@@ -887,13 +887,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -904,6 +904,7 @@ jobs:
env:
WORKFLOW_NAME: "Weekly Workflow Analysis"
WORKFLOW_DESCRIPTION: "Analyzes workflow examples to identify patterns, best practices, and potential improvements"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/file-size-reduction-project71.campaign.lock.yml b/.github/workflows/file-size-reduction-project71.campaign.lock.yml
index 7858e6a64e..97f828e0c1 100644
--- a/.github/workflows/file-size-reduction-project71.campaign.lock.yml
+++ b/.github/workflows/file-size-reduction-project71.campaign.lock.yml
@@ -1284,13 +1284,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1301,6 +1301,7 @@ jobs:
env:
WORKFLOW_NAME: "Campaign: File Size Reduction (Project 71)"
WORKFLOW_DESCRIPTION: "Systematically reduce oversized Go files to improve maintainability. Success: all files โค800 LOC, maintain coverage, no regressions."
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml
index b113487cb5..f693f09dec 100644
--- a/.github/workflows/github-mcp-structural-analysis.lock.yml
+++ b/.github/workflows/github-mcp-structural-analysis.lock.yml
@@ -1579,13 +1579,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1596,6 +1596,7 @@ jobs:
env:
WORKFLOW_NAME: "GitHub MCP Structural Analysis"
WORKFLOW_DESCRIPTION: "Structural analysis of GitHub MCP tool responses with schema evaluation and usefulness ratings for agentic work"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml
index 68810685bc..369d49b705 100644
--- a/.github/workflows/github-mcp-tools-report.lock.yml
+++ b/.github/workflows/github-mcp-tools-report.lock.yml
@@ -1467,13 +1467,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1484,6 +1484,7 @@ jobs:
env:
WORKFLOW_NAME: "GitHub MCP Remote Server Tools Report Generator"
WORKFLOW_DESCRIPTION: "Generates a comprehensive report of available MCP server tools and their capabilities for GitHub integration"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml
index d42b950445..9df7ff9b6e 100644
--- a/.github/workflows/glossary-maintainer.lock.yml
+++ b/.github/workflows/glossary-maintainer.lock.yml
@@ -1532,13 +1532,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1549,6 +1549,7 @@ jobs:
env:
WORKFLOW_NAME: "Glossary Maintainer"
WORKFLOW_DESCRIPTION: "Maintains and updates the documentation glossary based on codebase changes"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml
index 250900e238..f016af5e5b 100644
--- a/.github/workflows/go-fan.lock.yml
+++ b/.github/workflows/go-fan.lock.yml
@@ -1248,13 +1248,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1265,6 +1265,7 @@ jobs:
env:
WORKFLOW_NAME: "Go Fan"
WORKFLOW_DESCRIPTION: "Daily Go module usage reviewer - analyzes direct dependencies prioritizing recently updated ones"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml
index 5b0acbdd1f..91a807089f 100644
--- a/.github/workflows/go-logger.lock.yml
+++ b/.github/workflows/go-logger.lock.yml
@@ -1193,13 +1193,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1210,6 +1210,7 @@ jobs:
env:
WORKFLOW_NAME: "Go Logger Enhancement"
WORKFLOW_DESCRIPTION: "Analyzes and enhances Go logging practices across the codebase for improved debugging and observability"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml
index 56e13ceb5e..f4c1d9b10d 100644
--- a/.github/workflows/go-pattern-detector.lock.yml
+++ b/.github/workflows/go-pattern-detector.lock.yml
@@ -1057,13 +1057,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1074,6 +1074,7 @@ jobs:
env:
WORKFLOW_NAME: "Go Pattern Detector"
WORKFLOW_DESCRIPTION: "Detects common Go code patterns and anti-patterns to maintain code quality and consistency"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml
index 104e6a0dd7..6074b3b7d4 100644
--- a/.github/workflows/grumpy-reviewer.lock.yml
+++ b/.github/workflows/grumpy-reviewer.lock.yml
@@ -1080,13 +1080,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1097,6 +1097,7 @@ jobs:
env:
WORKFLOW_NAME: "Grumpy Code Reviewer ๐ฅ"
WORKFLOW_DESCRIPTION: "Performs critical code review with a focus on edge cases, potential bugs, and code quality issues"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/hourly-ci-cleaner.lock.yml b/.github/workflows/hourly-ci-cleaner.lock.yml
index 069d9f798d..7b4d72ce0a 100644
--- a/.github/workflows/hourly-ci-cleaner.lock.yml
+++ b/.github/workflows/hourly-ci-cleaner.lock.yml
@@ -1236,13 +1236,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1253,6 +1253,7 @@ jobs:
env:
WORKFLOW_NAME: "CI Cleaner"
WORKFLOW_DESCRIPTION: "CI cleaner that fixes format, lint, and test issues when CI fails on main branch. Runs twice daily (6am, 6pm UTC) to optimize token spend. Includes early exit when CI is passing to prevent unnecessary token consumption."
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml
index 60e62c2cf9..c0e099b765 100644
--- a/.github/workflows/instructions-janitor.lock.yml
+++ b/.github/workflows/instructions-janitor.lock.yml
@@ -1073,13 +1073,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1090,6 +1090,7 @@ jobs:
env:
WORKFLOW_NAME: "Instructions Janitor"
WORKFLOW_DESCRIPTION: "Reviews and cleans up instruction files to ensure clarity, consistency, and adherence to best practices"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml
index 081fbec10b..038ecbee9b 100644
--- a/.github/workflows/issue-arborist.lock.yml
+++ b/.github/workflows/issue-arborist.lock.yml
@@ -1120,13 +1120,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1137,6 +1137,7 @@ jobs:
env:
WORKFLOW_NAME: "Issue Arborist"
WORKFLOW_DESCRIPTION: "Daily workflow that analyzes recent issues and links related issues as sub-issues"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/issue-classifier.lock.yml b/.github/workflows/issue-classifier.lock.yml
index 84fc9cd47c..cc8abf0e8a 100644
--- a/.github/workflows/issue-classifier.lock.yml
+++ b/.github/workflows/issue-classifier.lock.yml
@@ -790,13 +790,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -807,6 +807,7 @@ jobs:
env:
WORKFLOW_NAME: "Issue Classifier"
WORKFLOW_DESCRIPTION: "Automatically classifies and labels issues based on content analysis and predefined categories"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml
index 8550e7d838..731ad349e5 100644
--- a/.github/workflows/issue-monster.lock.yml
+++ b/.github/workflows/issue-monster.lock.yml
@@ -1028,13 +1028,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1045,6 +1045,7 @@ jobs:
env:
WORKFLOW_NAME: "Issue Monster"
WORKFLOW_DESCRIPTION: "The Cookie Monster of issues - assigns issues to Copilot agents one at a time"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/issue-template-optimizer.lock.yml b/.github/workflows/issue-template-optimizer.lock.yml
index 112657fb98..186eb0704a 100644
--- a/.github/workflows/issue-template-optimizer.lock.yml
+++ b/.github/workflows/issue-template-optimizer.lock.yml
@@ -1126,13 +1126,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1143,6 +1143,7 @@ jobs:
env:
WORKFLOW_NAME: "Issue Template Optimizer"
WORKFLOW_DESCRIPTION: "Maintains GitHub issue templates based on Copilot PR success patterns"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml
index b9c10f84f7..feb649914c 100644
--- a/.github/workflows/issue-triage-agent.lock.yml
+++ b/.github/workflows/issue-triage-agent.lock.yml
@@ -813,13 +813,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -830,6 +830,7 @@ jobs:
env:
WORKFLOW_NAME: "Issue Triage Agent"
WORKFLOW_DESCRIPTION: "No description provided"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml
index 5bb12b04c3..ea032a5b6f 100644
--- a/.github/workflows/jsweep.lock.yml
+++ b/.github/workflows/jsweep.lock.yml
@@ -1163,13 +1163,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1180,6 +1180,7 @@ jobs:
env:
WORKFLOW_NAME: "jsweep - JavaScript Unbloater"
WORKFLOW_DESCRIPTION: "Daily JavaScript unbloater that cleans one .cjs file per day, prioritizing files with @ts-nocheck to enable type checking"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml
index a21fb4087d..826fad6578 100644
--- a/.github/workflows/layout-spec-maintainer.lock.yml
+++ b/.github/workflows/layout-spec-maintainer.lock.yml
@@ -1103,13 +1103,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1120,6 +1120,7 @@ jobs:
env:
WORKFLOW_NAME: "Layout Specification Maintainer"
WORKFLOW_DESCRIPTION: "Maintains specs/layout.md with patterns of file paths, folder names, and artifact names used in lock.yml files"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml
index 2798865d7d..1789386499 100644
--- a/.github/workflows/lockfile-stats.lock.yml
+++ b/.github/workflows/lockfile-stats.lock.yml
@@ -1248,13 +1248,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1265,6 +1265,7 @@ jobs:
env:
WORKFLOW_NAME: "Lockfile Statistics Analysis Agent"
WORKFLOW_DESCRIPTION: "Analyzes package lockfiles to track dependency statistics, vulnerabilities, and update patterns"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml
index 38ad635b45..92b938e320 100644
--- a/.github/workflows/mcp-inspector.lock.yml
+++ b/.github/workflows/mcp-inspector.lock.yml
@@ -1436,13 +1436,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1453,6 +1453,7 @@ jobs:
env:
WORKFLOW_NAME: "MCP Inspector Agent"
WORKFLOW_DESCRIPTION: "Inspects MCP (Model Context Protocol) server configurations and validates their functionality"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml
index e889ccb363..8a3409a1ca 100644
--- a/.github/workflows/mergefest.lock.yml
+++ b/.github/workflows/mergefest.lock.yml
@@ -1173,13 +1173,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1190,6 +1190,7 @@ jobs:
env:
WORKFLOW_NAME: "Mergefest"
WORKFLOW_DESCRIPTION: "Automatically merges the main branch into pull request branches when invoked with /mergefest command"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/notion-issue-summary.lock.yml b/.github/workflows/notion-issue-summary.lock.yml
index 10fdbce4df..00d2db0e71 100644
--- a/.github/workflows/notion-issue-summary.lock.yml
+++ b/.github/workflows/notion-issue-summary.lock.yml
@@ -812,13 +812,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -829,6 +829,7 @@ jobs:
env:
WORKFLOW_NAME: "Issue Summary to Notion"
WORKFLOW_DESCRIPTION: "Creates issue summaries and syncs them to Notion for project management and tracking"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml
index 14ac7f8705..6ae5c96024 100644
--- a/.github/workflows/org-health-report.lock.yml
+++ b/.github/workflows/org-health-report.lock.yml
@@ -1687,13 +1687,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1704,6 +1704,7 @@ jobs:
env:
WORKFLOW_NAME: "Organization Health Report"
WORKFLOW_DESCRIPTION: "Generate an organization-wide health report for all public repositories in the GitHub org"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/org-wide-rollout.lock.yml b/.github/workflows/org-wide-rollout.lock.yml
index e689c2a671..f5622eacbf 100644
--- a/.github/workflows/org-wide-rollout.lock.yml
+++ b/.github/workflows/org-wide-rollout.lock.yml
@@ -1491,13 +1491,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1508,6 +1508,7 @@ jobs:
env:
WORKFLOW_NAME: "Campaign - Org-Wide Rollout"
WORKFLOW_DESCRIPTION: "Coordinate changes across 100+ repos with phased rollout, dependency tracking, and rollback"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml
index 25da028c16..b1aa6782c3 100644
--- a/.github/workflows/pdf-summary.lock.yml
+++ b/.github/workflows/pdf-summary.lock.yml
@@ -1071,13 +1071,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1088,6 +1088,7 @@ jobs:
env:
WORKFLOW_NAME: "Resource Summarizer Agent"
WORKFLOW_DESCRIPTION: "Summarizes PDF and other documents by analyzing URLs provided via /summarize command or workflow dispatch"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml
index 3724eca911..8fd9e9fdd5 100644
--- a/.github/workflows/plan.lock.yml
+++ b/.github/workflows/plan.lock.yml
@@ -1110,13 +1110,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1127,6 +1127,7 @@ jobs:
env:
WORKFLOW_NAME: "Plan Command"
WORKFLOW_DESCRIPTION: "Generates project plans and task breakdowns when invoked with /plan command in issues or PRs"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/playground-org-project-update-issue.lock.yml b/.github/workflows/playground-org-project-update-issue.lock.yml
index 87a7136ebf..64b43eb690 100644
--- a/.github/workflows/playground-org-project-update-issue.lock.yml
+++ b/.github/workflows/playground-org-project-update-issue.lock.yml
@@ -827,13 +827,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -844,6 +844,7 @@ jobs:
env:
WORKFLOW_NAME: "Playground: Org project update issue"
WORKFLOW_DESCRIPTION: "Update issues on an org-owned Project Board"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/playground-snapshots-refresh.lock.yml b/.github/workflows/playground-snapshots-refresh.lock.yml
index f818b168f7..10eff86a92 100644
--- a/.github/workflows/playground-snapshots-refresh.lock.yml
+++ b/.github/workflows/playground-snapshots-refresh.lock.yml
@@ -858,13 +858,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -875,6 +875,7 @@ jobs:
env:
WORKFLOW_NAME: "Refresh playground snapshots"
WORKFLOW_DESCRIPTION: "Regenerates docs playground snapshots and adds AI-written job summaries"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml
index c612470a04..761e740af9 100644
--- a/.github/workflows/poem-bot.lock.yml
+++ b/.github/workflows/poem-bot.lock.yml
@@ -1498,13 +1498,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1515,6 +1515,7 @@ jobs:
env:
WORKFLOW_NAME: "Poem Bot - A Creative Agentic Workflow"
WORKFLOW_DESCRIPTION: "Generates creative poems on specified themes when invoked with /poem-bot command"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/portfolio-analyst.lock.yml b/.github/workflows/portfolio-analyst.lock.yml
index cca8b8f7d6..f912538bf0 100644
--- a/.github/workflows/portfolio-analyst.lock.yml
+++ b/.github/workflows/portfolio-analyst.lock.yml
@@ -1648,13 +1648,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1665,6 +1665,7 @@ jobs:
env:
WORKFLOW_NAME: "Automated Portfolio Analyst"
WORKFLOW_DESCRIPTION: "Weekly portfolio analyst that identifies cost reduction opportunities (20%+) while improving workflow reliability"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml
index 424f25d4ba..672da25a62 100644
--- a/.github/workflows/pr-nitpick-reviewer.lock.yml
+++ b/.github/workflows/pr-nitpick-reviewer.lock.yml
@@ -1394,13 +1394,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1411,6 +1411,7 @@ jobs:
env:
WORKFLOW_NAME: "PR Nitpick Reviewer ๐"
WORKFLOW_DESCRIPTION: "Provides detailed nitpicky code review focusing on style, best practices, and minor improvements"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml
index 2a17848c91..9fc1bb0b02 100644
--- a/.github/workflows/prompt-clustering-analysis.lock.yml
+++ b/.github/workflows/prompt-clustering-analysis.lock.yml
@@ -1669,13 +1669,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1686,6 +1686,7 @@ jobs:
env:
WORKFLOW_NAME: "Copilot Agent Prompt Clustering Analysis"
WORKFLOW_DESCRIPTION: "Analyzes and clusters GitHub Copilot agent prompts to identify patterns and usage trends"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml
index 03fa84993a..a454d09159 100644
--- a/.github/workflows/python-data-charts.lock.yml
+++ b/.github/workflows/python-data-charts.lock.yml
@@ -1936,13 +1936,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1953,6 +1953,7 @@ jobs:
env:
WORKFLOW_NAME: "Python Data Visualization Generator"
WORKFLOW_DESCRIPTION: "Generates high-quality data visualizations and trend charts using Python scientific computing libraries"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml
index c13a311416..dda4ec4adf 100644
--- a/.github/workflows/q.lock.yml
+++ b/.github/workflows/q.lock.yml
@@ -1420,13 +1420,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1437,6 +1437,7 @@ jobs:
env:
WORKFLOW_NAME: "Q"
WORKFLOW_DESCRIPTION: "Intelligent assistant that answers questions, analyzes repositories, and can create PRs for workflow optimizations"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml
index c1c30f584f..3fb2e6ef60 100644
--- a/.github/workflows/release.lock.yml
+++ b/.github/workflows/release.lock.yml
@@ -949,13 +949,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -966,6 +966,7 @@ jobs:
env:
WORKFLOW_NAME: "Release"
WORKFLOW_DESCRIPTION: "Build, test, and release gh-aw extension, then generate and prepend release highlights"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml
index f807989f15..6a501b711c 100644
--- a/.github/workflows/repo-tree-map.lock.yml
+++ b/.github/workflows/repo-tree-map.lock.yml
@@ -917,13 +917,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -934,6 +934,7 @@ jobs:
env:
WORKFLOW_NAME: "Repository Tree Map Generator"
WORKFLOW_DESCRIPTION: "Generates ASCII tree map visualization of repository file structure weekly"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml
index bcce565bae..28f2a48f07 100644
--- a/.github/workflows/repository-quality-improver.lock.yml
+++ b/.github/workflows/repository-quality-improver.lock.yml
@@ -1434,13 +1434,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1451,6 +1451,7 @@ jobs:
env:
WORKFLOW_NAME: "Repository Quality Improvement Agent"
WORKFLOW_DESCRIPTION: "Daily analysis and improvement of repository quality focusing on different software development lifecycle areas"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml
index 53f94a5e9e..5bad88c788 100644
--- a/.github/workflows/research.lock.yml
+++ b/.github/workflows/research.lock.yml
@@ -874,13 +874,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -891,6 +891,7 @@ jobs:
env:
WORKFLOW_NAME: "Basic Research Agent"
WORKFLOW_DESCRIPTION: "Performs web research on any topic using Tavily search and creates a discussion with findings"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml
index 2ba404324e..d671861477 100644
--- a/.github/workflows/safe-output-health.lock.yml
+++ b/.github/workflows/safe-output-health.lock.yml
@@ -1374,13 +1374,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1391,6 +1391,7 @@ jobs:
env:
WORKFLOW_NAME: "Safe Output Health Monitor"
WORKFLOW_DESCRIPTION: "Monitors and analyzes the health of safe output operations across all agentic workflows"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml
index 7cca641742..67437c1299 100644
--- a/.github/workflows/schema-consistency-checker.lock.yml
+++ b/.github/workflows/schema-consistency-checker.lock.yml
@@ -1223,13 +1223,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1240,6 +1240,7 @@ jobs:
env:
WORKFLOW_NAME: "Schema Consistency Checker"
WORKFLOW_DESCRIPTION: "Detects inconsistencies between JSON schema, implementation code, and documentation"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml
index aedde1b546..d3b53139ba 100644
--- a/.github/workflows/scout.lock.yml
+++ b/.github/workflows/scout.lock.yml
@@ -1319,13 +1319,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1336,6 +1336,7 @@ jobs:
env:
WORKFLOW_NAME: "Scout"
WORKFLOW_DESCRIPTION: "Performs deep research investigations using web search to gather and synthesize comprehensive information on any topic"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/security-compliance.lock.yml b/.github/workflows/security-compliance.lock.yml
index 5165959be1..b8022a7eec 100644
--- a/.github/workflows/security-compliance.lock.yml
+++ b/.github/workflows/security-compliance.lock.yml
@@ -1140,13 +1140,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1157,6 +1157,7 @@ jobs:
env:
WORKFLOW_NAME: "Security Compliance Campaign"
WORKFLOW_DESCRIPTION: "Fix critical vulnerabilities before audit deadline with full tracking and reporting"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml
index 4e5fe95d19..dd84f32f42 100644
--- a/.github/workflows/security-fix-pr.lock.yml
+++ b/.github/workflows/security-fix-pr.lock.yml
@@ -1062,13 +1062,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1079,6 +1079,7 @@ jobs:
env:
WORKFLOW_NAME: "Security Fix PR"
WORKFLOW_DESCRIPTION: "Identifies and automatically fixes code security issues by creating pull requests with remediation"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml
index f6ee04133f..c0af86e37a 100644
--- a/.github/workflows/semantic-function-refactor.lock.yml
+++ b/.github/workflows/semantic-function-refactor.lock.yml
@@ -1378,13 +1378,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1395,6 +1395,7 @@ jobs:
env:
WORKFLOW_NAME: "Semantic Function Refactoring"
WORKFLOW_DESCRIPTION: "Analyzes Go codebase daily to identify opportunities for semantic function extraction and refactoring"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/slide-deck-maintainer.lock.yml b/.github/workflows/slide-deck-maintainer.lock.yml
index d63998d7e4..8324b54f79 100644
--- a/.github/workflows/slide-deck-maintainer.lock.yml
+++ b/.github/workflows/slide-deck-maintainer.lock.yml
@@ -1148,13 +1148,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1165,6 +1165,7 @@ jobs:
env:
WORKFLOW_NAME: "Slide Deck Maintainer"
WORKFLOW_DESCRIPTION: "Maintains the gh-aw slide deck by scanning repository content and detecting layout issues using Playwright"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml
index 26d391f907..55ce05666b 100644
--- a/.github/workflows/smoke-claude.lock.yml
+++ b/.github/workflows/smoke-claude.lock.yml
@@ -1229,13 +1229,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1246,6 +1246,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Claude"
WORKFLOW_DESCRIPTION: "Smoke test workflow that validates Claude engine functionality by reviewing recent PRs twice daily"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-codex-firewall.lock.yml b/.github/workflows/smoke-codex-firewall.lock.yml
index c0001ef5eb..7ee61571b5 100644
--- a/.github/workflows/smoke-codex-firewall.lock.yml
+++ b/.github/workflows/smoke-codex-firewall.lock.yml
@@ -949,13 +949,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -966,6 +966,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Codex Firewall"
WORKFLOW_DESCRIPTION: "Smoke test workflow that validates Codex engine functionality with AWF firewall enabled"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml
index 17ecbd6d71..2e08556d17 100644
--- a/.github/workflows/smoke-codex.lock.yml
+++ b/.github/workflows/smoke-codex.lock.yml
@@ -1043,13 +1043,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1060,6 +1060,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Codex"
WORKFLOW_DESCRIPTION: "Smoke test workflow that validates Codex engine functionality by reviewing recent PRs twice daily"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-copilot-no-firewall.lock.yml b/.github/workflows/smoke-copilot-no-firewall.lock.yml
index c05008dde0..92858e1e6c 100644
--- a/.github/workflows/smoke-copilot-no-firewall.lock.yml
+++ b/.github/workflows/smoke-copilot-no-firewall.lock.yml
@@ -1074,13 +1074,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1091,6 +1091,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Copilot No Firewall"
WORKFLOW_DESCRIPTION: "Smoke test workflow that validates Copilot engine functionality without firewall by reviewing recent PRs twice daily"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-copilot-playwright.lock.yml b/.github/workflows/smoke-copilot-playwright.lock.yml
index 504f7128e6..dd0532b503 100644
--- a/.github/workflows/smoke-copilot-playwright.lock.yml
+++ b/.github/workflows/smoke-copilot-playwright.lock.yml
@@ -1174,13 +1174,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1191,6 +1191,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Copilot Playwright"
WORKFLOW_DESCRIPTION: "Smoke test workflow that validates Copilot engine functionality by reviewing recent PRs every 6 hours"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-copilot-safe-inputs.lock.yml b/.github/workflows/smoke-copilot-safe-inputs.lock.yml
index dc5a037d81..4eabe4fea9 100644
--- a/.github/workflows/smoke-copilot-safe-inputs.lock.yml
+++ b/.github/workflows/smoke-copilot-safe-inputs.lock.yml
@@ -904,13 +904,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -921,6 +921,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Copilot Safe Inputs"
WORKFLOW_DESCRIPTION: "Smoke Copilot Safe Inputs"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml
index 8f12ec3257..3c925a0c49 100644
--- a/.github/workflows/smoke-copilot.lock.yml
+++ b/.github/workflows/smoke-copilot.lock.yml
@@ -997,13 +997,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1014,6 +1014,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Copilot"
WORKFLOW_DESCRIPTION: "Smoke Copilot"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml
index c64241de12..68b7bde18a 100644
--- a/.github/workflows/smoke-detector.lock.yml
+++ b/.github/workflows/smoke-detector.lock.yml
@@ -1296,13 +1296,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1313,6 +1313,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke Detector - Smoke Test Failure Investigator"
WORKFLOW_DESCRIPTION: "Reusable workflow that analyzes failed workflow runs and provides diagnostic information"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/smoke-srt.lock.yml b/.github/workflows/smoke-srt.lock.yml
index 3517bb0393..78e6191541 100644
--- a/.github/workflows/smoke-srt.lock.yml
+++ b/.github/workflows/smoke-srt.lock.yml
@@ -956,13 +956,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -973,6 +973,7 @@ jobs:
env:
WORKFLOW_NAME: "Smoke SRT"
WORKFLOW_DESCRIPTION: "Smoke test workflow for Sandbox Runtime (SRT) - validates SRT functionality with Copilot"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/spec-kit-execute.lock.yml b/.github/workflows/spec-kit-execute.lock.yml
index f5fa8fd2b4..45351e6e9c 100644
--- a/.github/workflows/spec-kit-execute.lock.yml
+++ b/.github/workflows/spec-kit-execute.lock.yml
@@ -1293,13 +1293,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1310,6 +1310,7 @@ jobs:
env:
WORKFLOW_NAME: "Spec-Kit Execute"
WORKFLOW_DESCRIPTION: "Execute pending spec-kit specifications"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/spec-kit-executor.lock.yml b/.github/workflows/spec-kit-executor.lock.yml
index ab464e39db..3f566365a7 100644
--- a/.github/workflows/spec-kit-executor.lock.yml
+++ b/.github/workflows/spec-kit-executor.lock.yml
@@ -1140,13 +1140,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1157,6 +1157,7 @@ jobs:
env:
WORKFLOW_NAME: "Spec Kit Executor"
WORKFLOW_DESCRIPTION: "Automatically executes pending spec-kit tasks on a schedule"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/speckit-dispatcher.lock.yml b/.github/workflows/speckit-dispatcher.lock.yml
index 9bf4c3b1f8..6fd567e1ef 100644
--- a/.github/workflows/speckit-dispatcher.lock.yml
+++ b/.github/workflows/speckit-dispatcher.lock.yml
@@ -1349,13 +1349,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1366,6 +1366,7 @@ jobs:
env:
WORKFLOW_NAME: "Spec-Kit Command Dispatcher"
WORKFLOW_DESCRIPTION: "Dispatches user requests to appropriate spec-kit commands for spec-driven development"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml
index 96c0bfdf35..27c61a4a0a 100644
--- a/.github/workflows/stale-repo-identifier.lock.yml
+++ b/.github/workflows/stale-repo-identifier.lock.yml
@@ -1659,13 +1659,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1676,6 +1676,7 @@ jobs:
env:
WORKFLOW_NAME: "Stale Repository Identifier"
WORKFLOW_DESCRIPTION: "Monthly workflow that identifies stale repositories in an organization and creates detailed activity reports"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml
index cc5277faed..a25078dd3c 100644
--- a/.github/workflows/static-analysis-report.lock.yml
+++ b/.github/workflows/static-analysis-report.lock.yml
@@ -1282,13 +1282,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1299,6 +1299,7 @@ jobs:
env:
WORKFLOW_NAME: "Static Analysis Report"
WORKFLOW_DESCRIPTION: "Scans agentic workflows daily for security vulnerabilities using zizmor, poutine, and actionlint"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/sub-issue-closer.lock.yml b/.github/workflows/sub-issue-closer.lock.yml
index eacc9c003f..78fc3e412d 100644
--- a/.github/workflows/sub-issue-closer.lock.yml
+++ b/.github/workflows/sub-issue-closer.lock.yml
@@ -959,13 +959,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -976,6 +976,7 @@ jobs:
env:
WORKFLOW_NAME: "Sub-Issue Closer"
WORKFLOW_DESCRIPTION: "Scheduled workflow that recursively closes parent issues when all sub-issues are 100% complete"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml
index c3acb222b2..df3265b27f 100644
--- a/.github/workflows/super-linter.lock.yml
+++ b/.github/workflows/super-linter.lock.yml
@@ -1021,13 +1021,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1038,6 +1038,7 @@ jobs:
env:
WORKFLOW_NAME: "Super Linter Report"
WORKFLOW_DESCRIPTION: "Runs Markdown quality checks using Super Linter and creates issues for violations"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml
index 11d0af5be5..6b358690a0 100644
--- a/.github/workflows/technical-doc-writer.lock.yml
+++ b/.github/workflows/technical-doc-writer.lock.yml
@@ -1356,13 +1356,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1373,6 +1373,7 @@ jobs:
env:
WORKFLOW_NAME: "Technical Doc Writer"
WORKFLOW_DESCRIPTION: "Reviews and improves technical documentation based on provided topics"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/terminal-stylist.lock.yml b/.github/workflows/terminal-stylist.lock.yml
index de0d5db772..c31f7748dc 100644
--- a/.github/workflows/terminal-stylist.lock.yml
+++ b/.github/workflows/terminal-stylist.lock.yml
@@ -941,13 +941,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -958,6 +958,7 @@ jobs:
env:
WORKFLOW_NAME: "Terminal Stylist"
WORKFLOW_DESCRIPTION: "Analyzes and improves console output styling and formatting in the codebase"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml
index e18180be62..c28c9b2da3 100644
--- a/.github/workflows/tidy.lock.yml
+++ b/.github/workflows/tidy.lock.yml
@@ -1001,13 +1001,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1018,6 +1018,7 @@ jobs:
env:
WORKFLOW_NAME: "Tidy"
WORKFLOW_DESCRIPTION: "Automatically formats and tidies code files (Go, JS, TypeScript) when code changes are pushed or on command"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml
index 54423a5cdb..e19ce6670b 100644
--- a/.github/workflows/typist.lock.yml
+++ b/.github/workflows/typist.lock.yml
@@ -1376,13 +1376,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1393,6 +1393,7 @@ jobs:
env:
WORKFLOW_NAME: "Typist - Go Type Analysis"
WORKFLOW_DESCRIPTION: "Analyzes Go type usage patterns and identifies opportunities for better type safety and code improvements"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml
index 5c70fc8b1e..f9140ed71d 100644
--- a/.github/workflows/unbloat-docs.lock.yml
+++ b/.github/workflows/unbloat-docs.lock.yml
@@ -1363,13 +1363,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1380,6 +1380,7 @@ jobs:
env:
WORKFLOW_NAME: "Documentation Unbloat"
WORKFLOW_DESCRIPTION: "Reviews and simplifies documentation by reducing verbosity while maintaining clarity and completeness"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml
index 01a5a54d49..2bc833111a 100644
--- a/.github/workflows/video-analyzer.lock.yml
+++ b/.github/workflows/video-analyzer.lock.yml
@@ -1124,13 +1124,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1141,6 +1141,7 @@ jobs:
env:
WORKFLOW_NAME: "Video Analysis Agent"
WORKFLOW_DESCRIPTION: "Analyzes video files using ffmpeg to extract metadata, frames, and other technical information"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml
index 9cccbe8093..7f0ae15614 100644
--- a/.github/workflows/weekly-issue-summary.lock.yml
+++ b/.github/workflows/weekly-issue-summary.lock.yml
@@ -1464,13 +1464,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1481,6 +1481,7 @@ jobs:
env:
WORKFLOW_NAME: "Weekly Issue Summary"
WORKFLOW_DESCRIPTION: "Creates weekly summary of issue activity including trends, charts, and insights every Monday"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml
index abf39f3827..4cab41eea9 100644
--- a/.github/workflows/workflow-generator.lock.yml
+++ b/.github/workflows/workflow-generator.lock.yml
@@ -945,13 +945,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -962,6 +962,7 @@ jobs:
env:
WORKFLOW_NAME: "Workflow Generator"
WORKFLOW_DESCRIPTION: "Workflow generator that updates issue status and assigns to Copilot agent for workflow design"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml
index 7667487c4a..7cfc644234 100644
--- a/.github/workflows/workflow-health-manager.lock.yml
+++ b/.github/workflows/workflow-health-manager.lock.yml
@@ -1379,13 +1379,13 @@ jobs:
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-artifacts
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-artifacts
- name: Download agent output artifact
continue-on-error: true
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: agent-output
- path: /tmp/gh-aw/threat-detection/
+ path: /tmp/gh-aw/threat-detection/agent-output
- name: Echo agent output types
env:
AGENT_OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
@@ -1396,6 +1396,7 @@ jobs:
env:
WORKFLOW_NAME: "Workflow Health Manager - Meta-Orchestrator"
WORKFLOW_DESCRIPTION: "Meta-orchestrator for monitoring and managing health of all agentic workflows in the repository"
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
with:
script: |
const { setupGlobals } = require('/tmp/gh-aw/actions/setup_globals.cjs');
diff --git a/actions/setup/js/file_helpers.cjs b/actions/setup/js/file_helpers.cjs
new file mode 100644
index 0000000000..189a710e33
--- /dev/null
+++ b/actions/setup/js/file_helpers.cjs
@@ -0,0 +1,84 @@
+// @ts-check
+///
+
+/**
+ * File Helper Functions
+ *
+ * This module provides helper functions for file operations,
+ * particularly for listing directories and checking file existence
+ * with helpful error messages.
+ */
+
+const fs = require("fs");
+const path = require("path");
+const { getErrorMessage } = require("./error_helpers.cjs");
+
+/**
+ * List all files recursively in a directory
+ * @param {string} dirPath - The directory path to list
+ * @param {string} [relativeTo] - Optional base path to show relative paths
+ * @returns {string[]} Array of file paths
+ */
+function listFilesRecursively(dirPath, relativeTo) {
+ const files = [];
+ try {
+ if (!fs.existsSync(dirPath)) {
+ return files;
+ }
+ const entries = fs.readdirSync(dirPath, { withFileTypes: true });
+ for (const entry of entries) {
+ const fullPath = path.join(dirPath, entry.name);
+ if (entry.isDirectory()) {
+ files.push(...listFilesRecursively(fullPath, relativeTo));
+ } else {
+ const displayPath = relativeTo ? path.relative(relativeTo, fullPath) : fullPath;
+ files.push(displayPath);
+ }
+ }
+ } catch (error) {
+ core.warning("Failed to list files in " + dirPath + ": " + getErrorMessage(error));
+ }
+ return files;
+}
+
+/**
+ * Check if file exists and provide helpful error message with directory listing
+ * @param {string} filePath - The file path to check
+ * @param {string} artifactDir - The artifact directory to list if file not found
+ * @param {string} fileDescription - Description of the file (e.g., "Prompt file", "Agent output file")
+ * @param {boolean} required - Whether the file is required
+ * @returns {boolean} True if file exists (or not required), false otherwise
+ */
+function checkFileExists(filePath, artifactDir, fileDescription, required) {
+ if (fs.existsSync(filePath)) {
+ try {
+ const stats = fs.statSync(filePath);
+ const fileInfo = filePath + " (" + stats.size + " bytes)";
+ core.info(fileDescription + " found: " + fileInfo);
+ return true;
+ } catch (error) {
+ core.warning("Failed to stat " + fileDescription.toLowerCase() + ": " + getErrorMessage(error));
+ return false;
+ }
+ } else {
+ if (required) {
+ core.error("โ " + fileDescription + " not found at: " + filePath);
+ // List all files in artifact directory for debugging
+ core.info("๐ Listing all files in artifact directory: " + artifactDir);
+ const files = listFilesRecursively(artifactDir, artifactDir);
+ if (files.length === 0) {
+ core.warning(" No files found in " + artifactDir);
+ } else {
+ core.info(" Found " + files.length + " file(s):");
+ files.forEach(file => core.info(" - " + file));
+ }
+ core.setFailed("โ " + fileDescription + " not found at: " + filePath);
+ return false;
+ } else {
+ core.info("No " + fileDescription.toLowerCase() + " found at: " + filePath);
+ return true;
+ }
+ }
+}
+
+module.exports = { listFilesRecursively, checkFileExists };
diff --git a/actions/setup/js/file_helpers.test.cjs b/actions/setup/js/file_helpers.test.cjs
new file mode 100644
index 0000000000..b272e9a453
--- /dev/null
+++ b/actions/setup/js/file_helpers.test.cjs
@@ -0,0 +1,141 @@
+// @ts-check
+///
+
+const { describe, it, expect, beforeEach, afterEach } = require("vitest");
+const fs = require("fs");
+const path = require("path");
+const os = require("os");
+const { listFilesRecursively, checkFileExists } = require("./file_helpers.cjs");
+
+// Mock core object for testing
+global.core = {
+ info: () => {},
+ warning: () => {},
+ error: () => {},
+ setFailed: () => {},
+};
+
+describe("listFilesRecursively", () => {
+ let tempDir;
+
+ beforeEach(() => {
+ // Create a temporary directory for testing
+ tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "file-helpers-test-"));
+ });
+
+ afterEach(() => {
+ // Clean up temporary directory
+ if (fs.existsSync(tempDir)) {
+ fs.rmSync(tempDir, { recursive: true, force: true });
+ }
+ });
+
+ it("should return empty array for non-existent directory", () => {
+ const result = listFilesRecursively("/non/existent/path");
+ expect(result).toEqual([]);
+ });
+
+ it("should list files in flat directory", () => {
+ // Create test files
+ fs.writeFileSync(path.join(tempDir, "file1.txt"), "content1");
+ fs.writeFileSync(path.join(tempDir, "file2.txt"), "content2");
+
+ const result = listFilesRecursively(tempDir);
+ expect(result).toHaveLength(2);
+ expect(result.some(f => f.endsWith("file1.txt"))).toBe(true);
+ expect(result.some(f => f.endsWith("file2.txt"))).toBe(true);
+ });
+
+ it("should list files recursively in nested directories", () => {
+ // Create nested structure
+ const subDir = path.join(tempDir, "subdir");
+ fs.mkdirSync(subDir);
+ fs.writeFileSync(path.join(tempDir, "root.txt"), "root");
+ fs.writeFileSync(path.join(subDir, "nested.txt"), "nested");
+
+ const result = listFilesRecursively(tempDir);
+ expect(result).toHaveLength(2);
+ expect(result.some(f => f.endsWith("root.txt"))).toBe(true);
+ expect(result.some(f => f.endsWith("nested.txt"))).toBe(true);
+ });
+
+ it("should return relative paths when relativeTo is provided", () => {
+ fs.writeFileSync(path.join(tempDir, "file.txt"), "content");
+
+ const result = listFilesRecursively(tempDir, tempDir);
+ expect(result).toHaveLength(1);
+ expect(result[0]).toBe("file.txt");
+ });
+});
+
+describe("checkFileExists", () => {
+ let tempDir;
+ let mockCore;
+
+ beforeEach(() => {
+ tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "file-helpers-test-"));
+
+ // Create mock core with tracking
+ mockCore = {
+ infoCalls: [],
+ warningCalls: [],
+ errorCalls: [],
+ setFailedCalls: [],
+ info: function (msg) {
+ this.infoCalls.push(msg);
+ },
+ warning: function (msg) {
+ this.warningCalls.push(msg);
+ },
+ error: function (msg) {
+ this.errorCalls.push(msg);
+ },
+ setFailed: function (msg) {
+ this.setFailedCalls.push(msg);
+ },
+ };
+ global.core = mockCore;
+ });
+
+ afterEach(() => {
+ if (fs.existsSync(tempDir)) {
+ fs.rmSync(tempDir, { recursive: true, force: true });
+ }
+ });
+
+ it("should return true for existing file", () => {
+ const filePath = path.join(tempDir, "exists.txt");
+ fs.writeFileSync(filePath, "content");
+
+ const result = checkFileExists(filePath, tempDir, "Test file", true);
+ expect(result).toBe(true);
+ expect(mockCore.infoCalls.some(msg => msg.includes("Test file found"))).toBe(true);
+ });
+
+ it("should return false and call setFailed for missing required file", () => {
+ const filePath = path.join(tempDir, "missing.txt");
+
+ const result = checkFileExists(filePath, tempDir, "Test file", true);
+ expect(result).toBe(false);
+ expect(mockCore.errorCalls.some(msg => msg.includes("Test file not found"))).toBe(true);
+ expect(mockCore.setFailedCalls).toHaveLength(1);
+ });
+
+ it("should return true for missing non-required file", () => {
+ const filePath = path.join(tempDir, "missing.txt");
+
+ const result = checkFileExists(filePath, tempDir, "Test file", false);
+ expect(result).toBe(true);
+ expect(mockCore.infoCalls.some(msg => msg.includes("No test file found"))).toBe(true);
+ });
+
+ it("should list directory contents when file not found", () => {
+ const filePath = path.join(tempDir, "missing.txt");
+ fs.writeFileSync(path.join(tempDir, "other.txt"), "other");
+
+ checkFileExists(filePath, tempDir, "Test file", true);
+ expect(mockCore.infoCalls.some(msg => msg.includes("Listing all files"))).toBe(true);
+ expect(mockCore.infoCalls.some(msg => msg.includes("Found 1 file(s)"))).toBe(true);
+ expect(mockCore.infoCalls.some(msg => msg.includes("other.txt"))).toBe(true);
+ });
+});
diff --git a/actions/setup/js/parse_threat_detection_results.cjs b/actions/setup/js/parse_threat_detection_results.cjs
index 61dc30217a..9f0bff91b8 100644
--- a/actions/setup/js/parse_threat_detection_results.cjs
+++ b/actions/setup/js/parse_threat_detection_results.cjs
@@ -11,7 +11,9 @@
*/
const fs = require("fs");
+const path = require("path");
const { getErrorMessage } = require("./error_helpers.cjs");
+const { listFilesRecursively } = require("./file_helpers.cjs");
/**
* Main entry point for parsing threat detection results
@@ -22,18 +24,32 @@ async function main() {
let verdict = { prompt_injection: false, secret_leak: false, malicious_patch: false, reasons: [] };
try {
- const outputPath = "/tmp/gh-aw/threat-detection/agent_output.json";
- if (fs.existsSync(outputPath)) {
- const outputContent = fs.readFileSync(outputPath, "utf8");
- const lines = outputContent.split("\n");
+ // Agent output is downloaded to /tmp/gh-aw/threat-detection/agent-output
+ const agentOutputDir = "/tmp/gh-aw/threat-detection/agent-output";
+ const outputPath = path.join(agentOutputDir, "agent_output.json");
+ if (!fs.existsSync(outputPath)) {
+ core.error("โ Agent output file not found at: " + outputPath);
+ // List all files in artifact directory for debugging
+ core.info("๐ Listing all files in artifact directory: " + agentOutputDir);
+ const files = listFilesRecursively(agentOutputDir, agentOutputDir);
+ if (files.length === 0) {
+ core.warning(" No files found in " + agentOutputDir);
+ } else {
+ core.info(" Found " + files.length + " file(s):");
+ files.forEach(file => core.info(" - " + file));
+ }
+ core.setFailed("โ Agent output file not found at: " + outputPath);
+ return;
+ }
+ const outputContent = fs.readFileSync(outputPath, "utf8");
+ const lines = outputContent.split("\n");
- for (const line of lines) {
- const trimmedLine = line.trim();
- if (trimmedLine.startsWith("THREAT_DETECTION_RESULT:")) {
- const jsonPart = trimmedLine.substring("THREAT_DETECTION_RESULT:".length);
- verdict = { ...verdict, ...JSON.parse(jsonPart) };
- break;
- }
+ for (const line of lines) {
+ const trimmedLine = line.trim();
+ if (trimmedLine.startsWith("THREAT_DETECTION_RESULT:")) {
+ const jsonPart = trimmedLine.substring("THREAT_DETECTION_RESULT:".length);
+ verdict = { ...verdict, ...JSON.parse(jsonPart) };
+ break;
}
}
} catch (error) {
diff --git a/actions/setup/js/setup_threat_detection.cjs b/actions/setup/js/setup_threat_detection.cjs
index 06b8cfd427..5306f95150 100644
--- a/actions/setup/js/setup_threat_detection.cjs
+++ b/actions/setup/js/setup_threat_detection.cjs
@@ -12,7 +12,8 @@
*/
const fs = require("fs");
-const { getErrorMessage } = require("./error_helpers.cjs");
+const path = require("path");
+const { checkFileExists } = require("./file_helpers.cjs");
/**
* Main entry point for setting up threat detection
@@ -21,56 +22,42 @@ const { getErrorMessage } = require("./error_helpers.cjs");
*/
async function main(templateContent) {
// Check if prompt file exists
- // Since agent-artifacts is downloaded to /tmp/gh-aw/threat-detection/,
- // and the artifact contains files with full paths like /tmp/gh-aw/aw-prompts/prompt.txt,
- // the downloaded file will be at /tmp/gh-aw/threat-detection/tmp/gh-aw/aw-prompts/prompt.txt
- const promptPath = "/tmp/gh-aw/threat-detection/tmp/gh-aw/aw-prompts/prompt.txt";
- let promptFileInfo = "No prompt file found";
- if (fs.existsSync(promptPath)) {
- try {
- const stats = fs.statSync(promptPath);
- promptFileInfo = promptPath + " (" + stats.size + " bytes)";
- core.info("Prompt file found: " + promptFileInfo);
- } catch (error) {
- core.warning("Failed to stat prompt file: " + getErrorMessage(error));
- }
- } else {
- core.info("No prompt file found at: " + promptPath);
+ // Since agent-artifacts is downloaded to /tmp/gh-aw/threat-detection/agent-artifacts,
+ // and the artifact contains files like aw-prompts/prompt.txt (GitHub Actions strips the common /tmp/gh-aw/ parent),
+ // the downloaded file will be at /tmp/gh-aw/threat-detection/agent-artifacts/aw-prompts/prompt.txt
+ const artifactsDir = "/tmp/gh-aw/threat-detection/agent-artifacts";
+ const promptPath = path.join(artifactsDir, "aw-prompts/prompt.txt");
+ if (!checkFileExists(promptPath, artifactsDir, "Prompt file", true)) {
+ return;
}
// Check if agent output file exists
- // Agent output is still a separate artifact downloaded to /tmp/gh-aw/threat-detection/,
- // so it appears directly as /tmp/gh-aw/threat-detection/agent_output.json
- const agentOutputPath = "/tmp/gh-aw/threat-detection/agent_output.json";
- let agentOutputFileInfo = "No agent output file found";
- if (fs.existsSync(agentOutputPath)) {
- try {
- const stats = fs.statSync(agentOutputPath);
- agentOutputFileInfo = agentOutputPath + " (" + stats.size + " bytes)";
- core.info("Agent output file found: " + agentOutputFileInfo);
- } catch (error) {
- core.warning("Failed to stat agent output file: " + getErrorMessage(error));
- }
- } else {
- core.info("No agent output file found at: " + agentOutputPath);
+ // Agent output is a separate artifact downloaded to /tmp/gh-aw/threat-detection/agent-output,
+ // so it appears directly as /tmp/gh-aw/threat-detection/agent-output/agent_output.json
+ const agentOutputDir = "/tmp/gh-aw/threat-detection/agent-output";
+ const agentOutputPath = path.join(agentOutputDir, "agent_output.json");
+ if (!checkFileExists(agentOutputPath, agentOutputDir, "Agent output file", true)) {
+ return;
}
// Check if patch file exists
- // Since agent-artifacts is downloaded to /tmp/gh-aw/threat-detection/,
- // and the artifact contains /tmp/gh-aw/aw.patch,
- // the downloaded file will be at /tmp/gh-aw/threat-detection/tmp/gh-aw/aw.patch
- const patchPath = "/tmp/gh-aw/threat-detection/tmp/gh-aw/aw.patch";
+ // Since agent-artifacts is downloaded to /tmp/gh-aw/threat-detection/agent-artifacts,
+ // and the artifact contains aw.patch (GitHub Actions strips the common /tmp/gh-aw/ parent),
+ // the downloaded file will be at /tmp/gh-aw/threat-detection/agent-artifacts/aw.patch
+ const patchPath = path.join(artifactsDir, "aw.patch");
+ const hasPatch = process.env.HAS_PATCH === "true";
+ if (!checkFileExists(patchPath, artifactsDir, "Patch file", hasPatch)) {
+ if (hasPatch) {
+ return;
+ }
+ }
+
+ // Get file info for template replacement
+ const promptFileInfo = promptPath + " (" + fs.statSync(promptPath).size + " bytes)";
+ const agentOutputFileInfo = agentOutputPath + " (" + fs.statSync(agentOutputPath).size + " bytes)";
let patchFileInfo = "No patch file found";
if (fs.existsSync(patchPath)) {
- try {
- const stats = fs.statSync(patchPath);
- patchFileInfo = patchPath + " (" + stats.size + " bytes)";
- core.info("Patch file found: " + patchFileInfo);
- } catch (error) {
- core.warning("Failed to stat patch file: " + getErrorMessage(error));
- }
- } else {
- core.info("No patch file found at: " + patchPath);
+ patchFileInfo = patchPath + " (" + fs.statSync(patchPath).size + " bytes)";
}
// Create threat detection prompt with embedded template
diff --git a/pkg/campaign/schemas/project_update_schema.json b/pkg/campaign/schemas/project_update_schema.json
index 4ba26f3c61..efa78a5e2d 100644
--- a/pkg/campaign/schemas/project_update_schema.json
+++ b/pkg/campaign/schemas/project_update_schema.json
@@ -4,13 +4,7 @@
"type": "object",
"$comment": "Governed contract for campaign orchestrator writes. See prompts/project_update_instructions.md (law) and prompts/project_update_contract_checklist.md (enforcement). This schema validates payload shape only; it cannot enforce read/write phase separation or equality to a specific campaign ID value.",
"additionalProperties": false,
- "required": [
- "project",
- "campaign_id",
- "content_type",
- "content_number",
- "fields"
- ],
+ "required": ["project", "campaign_id", "content_type", "content_number", "fields"],
"properties": {
"project": {
"type": "string",
@@ -23,10 +17,7 @@
},
"content_type": {
"type": "string",
- "enum": [
- "issue",
- "pull_request"
- ]
+ "enum": ["issue", "pull_request"]
},
"content_number": {
"type": "integer",
@@ -39,11 +30,7 @@
"$defs": {
"status": {
"type": "string",
- "enum": [
- "Todo",
- "In Progress",
- "Done"
- ]
+ "enum": ["Todo", "In Progress", "Done"]
},
"isoDate": {
"type": "string",
@@ -60,9 +47,7 @@
"$ref": "#/$defs/status"
}
},
- "required": [
- "status"
- ],
+ "required": ["status"],
"maxProperties": 1
},
{
@@ -88,19 +73,11 @@
},
"priority": {
"type": "string",
- "enum": [
- "High",
- "Medium",
- "Low"
- ]
+ "enum": ["High", "Medium", "Low"]
},
"size": {
"type": "string",
- "enum": [
- "Small",
- "Medium",
- "Large"
- ]
+ "enum": ["Small", "Medium", "Large"]
},
"start_date": {
"$ref": "#/$defs/isoDate"
@@ -109,16 +86,7 @@
"$ref": "#/$defs/isoDate"
}
},
- "required": [
- "status",
- "campaign_id",
- "worker_workflow",
- "repository",
- "priority",
- "size",
- "start_date",
- "end_date"
- ]
+ "required": ["status", "campaign_id", "worker_workflow", "repository", "priority", "size", "start_date", "end_date"]
}
]
}
diff --git a/pkg/parser/schemas/included_file_schema.json b/pkg/parser/schemas/included_file_schema.json
index a6cf976984..44a9cf8caa 100644
--- a/pkg/parser/schemas/included_file_schema.json
+++ b/pkg/parser/schemas/included_file_schema.json
@@ -9,11 +9,7 @@
"description": {
"type": "string",
"description": "Optional description for the included file or custom agent configuration. Used for documentation and clarity.",
- "examples": [
- "Agent instructions",
- "Shared tool configuration",
- "Common workflow steps"
- ]
+ "examples": ["Agent instructions", "Shared tool configuration", "Common workflow steps"]
},
"metadata": {
"type": "object",
@@ -66,12 +62,7 @@
},
"type": {
"type": "string",
- "enum": [
- "string",
- "choice",
- "boolean",
- "number"
- ],
+ "enum": ["string", "choice", "boolean", "number"],
"description": "Input type"
},
"options": {
@@ -99,11 +90,7 @@
{
"type": "string",
"description": "Single glob pattern for files/directories where these instructions apply (for custom agent instruction files)",
- "examples": [
- "**/*.py",
- "src/**/*.js",
- "pkg/workflow/*.go"
- ]
+ "examples": ["**/*.py", "src/**/*.js", "pkg/workflow/*.go"]
},
{
"type": "array",
@@ -113,14 +100,8 @@
"description": "Glob pattern for file/directory matching"
},
"examples": [
- [
- "**/*.py",
- "**/*.pyw"
- ],
- [
- "src/**/*.ts",
- "src/**/*.tsx"
- ]
+ ["**/*.py", "**/*.pyw"],
+ ["src/**/*.ts", "src/**/*.tsx"]
]
}
]
@@ -461,16 +442,9 @@
"description": "Playwright tool configuration with custom version and domain restrictions",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Optional Playwright container version (e.g., 'v1.41.0', 1.41, 20). Numeric values are automatically converted to strings at runtime.",
- "examples": [
- "v1.41.0",
- 1.41,
- 20
- ]
+ "examples": ["v1.41.0", 1.41, 20]
},
"allowed_domains": {
"description": "Domains allowed for Playwright browser network access. Defaults to localhost only for security.",
@@ -512,14 +486,7 @@
"description": "Short syntax: array of language identifiers to enable (e.g., [\"go\", \"typescript\"])",
"items": {
"type": "string",
- "enum": [
- "go",
- "typescript",
- "python",
- "java",
- "rust",
- "csharp"
- ]
+ "enum": ["go", "typescript", "python", "java", "rust", "csharp"]
}
},
{
@@ -527,16 +494,9 @@
"description": "Serena configuration with custom version and language-specific settings",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Optional Serena MCP version. Numeric values are automatically converted to strings at runtime.",
- "examples": [
- "latest",
- "0.1.0",
- 1.0
- ]
+ "examples": ["latest", "0.1.0", 1.0]
},
"args": {
"type": "array",
@@ -559,10 +519,7 @@
"type": "object",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Go version (e.g., \"1.21\", 1.21)"
},
"go-mod-file": {
@@ -588,10 +545,7 @@
"type": "object",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Node.js version for TypeScript (e.g., \"22\", 22)"
}
},
@@ -609,10 +563,7 @@
"type": "object",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Python version (e.g., \"3.12\", 3.12)"
}
},
@@ -630,10 +581,7 @@
"type": "object",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Java version (e.g., \"21\", 21)"
}
},
@@ -651,10 +599,7 @@
"type": "object",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Rust version (e.g., \"stable\", \"1.75\")"
}
},
@@ -672,10 +617,7 @@
"type": "object",
"properties": {
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": ".NET version for C# (e.g., \"8.0\", 8.0)"
}
},
@@ -703,10 +645,7 @@
"description": "Enable agentic-workflows tool with default settings (same as true)"
}
],
- "examples": [
- true,
- null
- ]
+ "examples": [true, null]
},
"edit": {
"description": "File editing tool for reading, creating, and modifying files in the repository",
@@ -758,11 +697,7 @@
"type": "integer",
"minimum": 1,
"description": "Timeout in seconds for tool/MCP server operations. Applies to all tools and MCP servers if supported by the engine. Default varies by engine (Claude: 60s, Codex: 120s).",
- "examples": [
- 60,
- 120,
- 300
- ]
+ "examples": [60, 120, 300]
},
"startup-timeout": {
"type": "integer",
@@ -840,13 +775,7 @@
"properties": {
"type": {
"type": "string",
- "enum": [
- "string",
- "number",
- "boolean",
- "array",
- "object"
- ],
+ "enum": ["string", "number", "boolean", "array", "object"],
"description": "JSON schema type for the input parameter"
},
"description": {
@@ -888,17 +817,10 @@
"description": "Timeout in seconds for tool execution. Default is 60 seconds. Applies to shell (run) and Python (py) tools.",
"default": 60,
"minimum": 1,
- "examples": [
- 30,
- 60,
- 120,
- 300
- ]
+ "examples": [30, 60, 120, 300]
}
},
- "required": [
- "description"
- ],
+ "required": ["description"],
"additionalProperties": false
}
},
@@ -956,9 +878,7 @@
"oneOf": [
{
"type": "string",
- "enum": [
- "defaults"
- ],
+ "enum": ["defaults"],
"description": "Use default network access"
},
{
@@ -987,9 +907,7 @@
},
{
"type": "string",
- "enum": [
- "disable"
- ],
+ "enum": ["disable"],
"description": "Disable AWF firewall (triggers warning if allowed != *, error in strict mode if allowed is not * or engine does not support firewall)"
},
{
@@ -1004,27 +922,14 @@
}
},
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "AWF version to use (empty = latest release). Can be a string (e.g., 'v1.0.0', 'latest') or number (e.g., 20, 3.11). Numeric values are automatically converted to strings at runtime.",
- "examples": [
- "v1.0.0",
- "latest",
- 20,
- 3.11
- ]
+ "examples": ["v1.0.0", "latest", 20, 3.11]
},
"log-level": {
"type": "string",
"description": "AWF log level (default: info). Valid values: debug, info, warn, error",
- "enum": [
- "debug",
- "info",
- "warn",
- "error"
- ]
+ "enum": ["debug", "info", "warn", "error"]
}
},
"additionalProperties": false
@@ -1041,12 +946,7 @@
"oneOf": [
{
"type": "string",
- "enum": [
- "read-all",
- "write-all",
- "read",
- "write"
- ],
+ "enum": ["read-all", "write-all", "read", "write"],
"description": "Simple permissions string: 'read-all' (all read permissions), 'write-all' (all write permissions), 'read' or 'write' (basic level)"
},
{
@@ -1055,137 +955,77 @@
"properties": {
"actions": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for GitHub Actions"
},
"checks": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for checks"
},
"contents": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for repository contents"
},
"deployments": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for deployments"
},
"discussions": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for discussions"
},
"id-token": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for ID token"
},
"issues": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for issues"
},
"metadata": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for metadata"
},
"packages": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for packages"
},
"pages": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for GitHub Pages"
},
"pull-requests": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for pull requests"
},
"security-events": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for security events"
},
"statuses": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for commit statuses"
},
"attestations": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for attestations"
},
"models": {
"type": "string",
- "enum": [
- "read",
- "write",
- "none"
- ],
+ "enum": ["read", "write", "none"],
"description": "Permission for AI models"
}
},
@@ -1202,10 +1042,7 @@
"properties": {
"type": {
"type": "string",
- "enum": [
- "stdio",
- "local"
- ],
+ "enum": ["stdio", "local"],
"description": "MCP connection type for stdio (local is an alias for stdio)"
},
"registry": {
@@ -1225,17 +1062,9 @@
"description": "Container image for stdio MCP connections"
},
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Optional version/tag for the container image (e.g., 'latest', 'v1.0.0', 20, 3.11). Numeric values are automatically converted to strings at runtime.",
- "examples": [
- "latest",
- "v1.0.0",
- 20,
- 3.11
- ]
+ "examples": ["latest", "v1.0.0", 20, 3.11]
},
"args": {
"type": "array",
@@ -1299,70 +1128,49 @@
"$comment": "Validation constraints: (1) Mutual exclusion: 'command' and 'container' cannot both be specified. (2) Requirement: Either 'command' or 'container' must be provided (via 'anyOf'). (3) Dependency: 'network' requires 'container' (validated in 'allOf'). (4) Type constraint: When 'type' is 'stdio' or 'local', either 'command' or 'container' is required.",
"anyOf": [
{
- "required": [
- "type"
- ]
+ "required": ["type"]
},
{
- "required": [
- "command"
- ]
+ "required": ["command"]
},
{
- "required": [
- "container"
- ]
+ "required": ["container"]
}
],
"not": {
"allOf": [
{
- "required": [
- "command"
- ]
+ "required": ["command"]
},
{
- "required": [
- "container"
- ]
+ "required": ["container"]
}
]
},
"allOf": [
{
"if": {
- "required": [
- "network"
- ]
+ "required": ["network"]
},
"then": {
- "required": [
- "container"
- ]
+ "required": ["container"]
}
},
{
"if": {
"properties": {
"type": {
- "enum": [
- "stdio",
- "local"
- ]
+ "enum": ["stdio", "local"]
}
}
},
"then": {
"anyOf": [
{
- "required": [
- "command"
- ]
+ "required": ["command"]
},
{
- "required": [
- "container"
- ]
+ "required": ["container"]
}
]
}
@@ -1375,9 +1183,7 @@
"properties": {
"type": {
"type": "string",
- "enum": [
- "http"
- ],
+ "enum": ["http"],
"description": "MCP connection type for HTTP"
},
"registry": {
@@ -1407,9 +1213,7 @@
}
}
},
- "required": [
- "url"
- ],
+ "required": ["url"],
"additionalProperties": false
},
"safe_job": {
@@ -1502,12 +1306,7 @@
},
"type": {
"type": "string",
- "enum": [
- "string",
- "number",
- "boolean",
- "choice"
- ],
+ "enum": ["string", "number", "boolean", "choice"],
"description": "Input type"
},
"options": {
@@ -1533,9 +1332,7 @@
"description": "Custom output message"
}
},
- "required": [
- "inputs"
- ],
+ "required": ["inputs"],
"additionalProperties": false
},
"engine_config": {
@@ -1562,12 +1359,7 @@
"oneOf": [
{
"type": "string",
- "enum": [
- "claude",
- "codex",
- "copilot",
- "custom"
- ],
+ "enum": ["claude", "codex", "copilot", "custom"],
"description": "Simple engine name: 'claude' (default, Claude Code), 'copilot' (GitHub Copilot CLI), 'codex' (OpenAI Codex CLI), or 'custom' (user-defined steps)"
},
{
@@ -1576,26 +1368,13 @@
"properties": {
"id": {
"type": "string",
- "enum": [
- "claude",
- "codex",
- "custom",
- "copilot"
- ],
+ "enum": ["claude", "codex", "custom", "copilot"],
"description": "AI engine identifier: 'claude' (Claude Code), 'codex' (OpenAI Codex CLI), 'copilot' (GitHub Copilot CLI), or 'custom' (user-defined GitHub Actions steps)"
},
"version": {
- "type": [
- "string",
- "number"
- ],
+ "type": ["string", "number"],
"description": "Optional version of the AI engine action (e.g., 'beta', 'stable', 20). Has sensible defaults and can typically be omitted. Numeric values are automatically converted to strings at runtime.",
- "examples": [
- "beta",
- "stable",
- 20,
- 3.11
- ]
+ "examples": ["beta", "stable", 20, 3.11]
},
"model": {
"type": "string",
@@ -1633,9 +1412,7 @@
"description": "Whether to cancel in-progress runs of the same concurrency group. Defaults to false for agentic workflow runs."
}
},
- "required": [
- "group"
- ],
+ "required": ["group"],
"additionalProperties": false
}
],
@@ -1690,9 +1467,7 @@
"description": "Human-readable description of what this pattern matches"
}
},
- "required": [
- "pattern"
- ],
+ "required": ["pattern"],
"additionalProperties": false
}
},
@@ -1708,12 +1483,10 @@
"description": "Optional array of command-line arguments to pass to the AI engine CLI. These arguments are injected after all other args but before the prompt."
}
},
- "required": [
- "id"
- ],
+ "required": ["id"],
"additionalProperties": false
}
]
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/workflow/threat_detection.go b/pkg/workflow/threat_detection.go
index 7f95792ea6..9e773812bd 100644
--- a/pkg/workflow/threat_detection.go
+++ b/pkg/workflow/threat_detection.go
@@ -168,7 +168,7 @@ func (c *Compiler) buildThreatDetectionSteps(data *WorkflowData, mainJobName str
steps = append(steps, c.buildEchoAgentOutputsStep(mainJobName)...)
// Step 3: Setup and run threat detection
- steps = append(steps, c.buildThreatDetectionAnalysisStep(data)...)
+ steps = append(steps, c.buildThreatDetectionAnalysisStep(data, mainJobName)...)
// Step 4: Add custom steps if configured
if len(data.SafeOutputs.ThreatDetection.Steps) > 0 {
@@ -190,17 +190,19 @@ func (c *Compiler) buildDownloadArtifactStep(mainJobName string) []string {
var steps []string
// Download unified agent-artifacts (contains prompt, patch, logs, etc.)
+ // Use separate subdirectory to avoid conflicts with agent-output artifact
steps = append(steps, buildArtifactDownloadSteps(ArtifactDownloadConfig{
ArtifactName: "agent-artifacts",
- DownloadPath: "/tmp/gh-aw/threat-detection/",
+ DownloadPath: "/tmp/gh-aw/threat-detection/agent-artifacts",
SetupEnvStep: false,
StepName: "Download agent artifacts",
})...)
// Download agent output artifact (still separate)
+ // Use separate subdirectory to avoid conflicts with agent-artifacts
steps = append(steps, buildArtifactDownloadSteps(ArtifactDownloadConfig{
ArtifactName: constants.AgentOutputArtifactName,
- DownloadPath: "/tmp/gh-aw/threat-detection/",
+ DownloadPath: "/tmp/gh-aw/threat-detection/agent-output",
SetupEnvStep: false,
StepName: "Download agent output artifact",
})...)
@@ -220,7 +222,7 @@ func (c *Compiler) buildEchoAgentOutputsStep(mainJobName string) []string {
}
// buildThreatDetectionAnalysisStep creates the main threat analysis step
-func (c *Compiler) buildThreatDetectionAnalysisStep(data *WorkflowData) []string {
+func (c *Compiler) buildThreatDetectionAnalysisStep(data *WorkflowData, mainJobName string) []string {
var steps []string
// Setup step
@@ -231,6 +233,9 @@ func (c *Compiler) buildThreatDetectionAnalysisStep(data *WorkflowData) []string
}...)
steps = append(steps, c.buildWorkflowContextEnvVars(data)...)
+ // Add HAS_PATCH environment variable from agent job output
+ steps = append(steps, fmt.Sprintf(" HAS_PATCH: ${{ needs.%s.outputs.has_patch }}\n", mainJobName))
+
// Add custom prompt instructions if configured
customPrompt := ""
if data.SafeOutputs != nil && data.SafeOutputs.ThreatDetection != nil {
diff --git a/pkg/workflow/threat_detection_test.go b/pkg/workflow/threat_detection_test.go
index bb9df9cf70..8ff4457241 100644
--- a/pkg/workflow/threat_detection_test.go
+++ b/pkg/workflow/threat_detection_test.go
@@ -743,7 +743,7 @@ func TestDownloadArtifactStepIncludesPrompt(t *testing.T) {
"continue-on-error: true",
"uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53",
"name: agent-artifacts",
- "path: /tmp/gh-aw/threat-detection/",
+ "path: /tmp/gh-aw/threat-detection/agent-artifacts",
}
for _, expected := range expectedComponents {
@@ -756,6 +756,11 @@ func TestDownloadArtifactStepIncludesPrompt(t *testing.T) {
if !strings.Contains(stepsString, "Download agent output artifact") {
t.Error("Expected download steps to include agent output artifact")
}
+
+ // Verify agent output uses separate subdirectory to avoid conflicts
+ if !strings.Contains(stepsString, "path: /tmp/gh-aw/threat-detection/agent-output") {
+ t.Error("Expected agent output to use separate subdirectory path")
+ }
}
func TestDownloadPatchArtifactHasConditional(t *testing.T) {