From 014c2f9dc195d4162377255ce7269054a65d1e22 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Apr 2026 22:23:18 +0000 Subject: [PATCH 01/12] Initial plan From 5a4b4b55b6173dfbc2b9e8f5f826c15d513887c2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Apr 2026 22:44:07 +0000 Subject: [PATCH 02/12] fix: resolve {{#import}} directives in markdown body at runtime MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Body-level {{#import filepath}} directives were never resolved — they appeared as raw literal text in the agent's prompt. The fix normalizes {{#import}} (and its variants: with ?, with colon, with both) to {{#runtime-import}} at the start of processRuntimeImports, and updates the recursive check to also detect {{#import}} in imported file content. Fixes the bug where {{#import shared/broken.md}} in a workflow body was listed as an 'Include' in the lock file manifest but its content was never injected into the agent's prompt. Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cba000e1-4909-4342-8c90-ecfd5788a601 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- actions/setup/js/runtime_import.cjs | 28 +++++++++-- actions/setup/js/runtime_import.test.cjs | 59 +++++++++++++++++++++++- 2 files changed, 81 insertions(+), 6 deletions(-) diff --git a/actions/setup/js/runtime_import.cjs b/actions/setup/js/runtime_import.cjs index 5870887b5dc..138b33f2eca 100644 --- a/actions/setup/js/runtime_import.cjs +++ b/actions/setup/js/runtime_import.cjs @@ -906,7 +906,10 @@ async function processRuntimeImport(filepathOrUrl, optional, workspaceDir, start } /** - * Processes all runtime-import macros in the content recursively + * Processes all runtime-import macros in the content recursively. + * Also handles body-level {{#import}} directives by normalizing them to + * {{#runtime-import}} before processing, so that both the frontmatter `imports:` + * style and the inline `{{#import filepath}}` style resolve correctly at runtime. * @param {string} content - The markdown content containing runtime-import macros * @param {string} workspaceDir - The GITHUB_WORKSPACE directory path * @param {Set} [importedFiles] - Set of already imported files (for recursion tracking) @@ -915,6 +918,21 @@ async function processRuntimeImport(filepathOrUrl, optional, workspaceDir, start * @returns {Promise} - Content with runtime-import macros replaced by file/URL contents */ async function processRuntimeImports(content, workspaceDir, importedFiles = new Set(), importCache = new Map(), importStack = []) { + // Normalize body-level {{#import}} directives to {{#runtime-import}} equivalents. + // This resolves the bug where {{#import filepath}} in the markdown body was never injected + // into the agent prompt. Both colon and no-colon syntax are supported: + // {{#import filepath}} {{#import? filepath}} + // {{#import: filepath}} {{#import?: filepath}} + const bodyImportRe = /\{\{#import(\?)?(?:[ \t]+|[ \t]*:[ \t]*)([^\}]+?)\}\}/g; + if (bodyImportRe.test(content)) { + bodyImportRe.lastIndex = 0; + content = content.replace(bodyImportRe, (_, optional, importPath) => { + const trimmedPath = importPath.trim(); + core.info(`Resolving body-level {{#import}} directive as runtime-import: ${trimmedPath}`); + return `{{#runtime-import${optional || ""} ${trimmedPath}}}`; + }); + } + // Pattern to match {{#runtime-import filepath}} or {{#runtime-import? filepath}} // Captures: optional flag (?), whitespace, filepath/URL (which may include :startline-endline) const pattern = /\{\{#runtime-import(\?)?[ \t]+([^\}]+?)\}\}/g; @@ -983,9 +1001,11 @@ async function processRuntimeImports(content, workspaceDir, importedFiles = new // Import the file content let importedContent = await processRuntimeImport(filepathOrUrl, optional, workspaceDir, startLine, endLine); - // Recursively process any runtime-import macros in the imported content - if (importedContent && /\{\{#runtime-import/.test(importedContent)) { - core.info(`Recursively processing runtime-imports in ${filepathWithRange}`); + // Recursively process any runtime-import or body-level {{#import}} macros in the + // imported content. The recursive call to processRuntimeImports will normalize + // any {{#import}} directives before processing them. + if (importedContent && /\{\{#(?:runtime-import|import)/.test(importedContent)) { + core.info(`Recursively processing imports in ${filepathWithRange}`); importedContent = await processRuntimeImports(importedContent, workspaceDir, importedFiles, importCache, [...importStack]); } diff --git a/actions/setup/js/runtime_import.test.cjs b/actions/setup/js/runtime_import.test.cjs index 5ecf330eba5..ca4581b438e 100644 --- a/actions/setup/js/runtime_import.test.cjs +++ b/actions/setup/js/runtime_import.test.cjs @@ -616,6 +616,61 @@ describe("runtime_import", () => { expect(result).toBe("Content"); })); }), + describe("body-level {{#import}} directives", () => { + (it("should resolve {{#import filepath}} (no colon) as runtime-import", async () => { + fs.writeFileSync(path.join(workflowsDir, "import.md"), "Imported content"); + const result = await processRuntimeImports("Before\n{{#import import.md}}\nAfter", tempDir); + expect(result).toBe("Before\nImported content\nAfter"); + }), + it("should resolve {{#import? filepath}} optional variant", async () => { + fs.writeFileSync(path.join(workflowsDir, "import.md"), "Optional content"); + const result = await processRuntimeImports("Before\n{{#import? import.md}}\nAfter", tempDir); + expect(result).toBe("Before\nOptional content\nAfter"); + }), + it("should resolve {{#import: filepath}} colon syntax", async () => { + fs.writeFileSync(path.join(workflowsDir, "import.md"), "Colon content"); + const result = await processRuntimeImports("Before\n{{#import: import.md}}\nAfter", tempDir); + expect(result).toBe("Before\nColon content\nAfter"); + }), + it("should resolve {{#import?: filepath}} optional colon syntax", async () => { + fs.writeFileSync(path.join(workflowsDir, "import.md"), "Optional colon content"); + const result = await processRuntimeImports("Before\n{{#import?: import.md}}\nAfter", tempDir); + expect(result).toBe("Before\nOptional colon content\nAfter"); + }), + it("should return empty string for missing optional {{#import?}} file", async () => { + const result = await processRuntimeImports("Before\n{{#import? missing.md}}\nAfter", tempDir); + expect(result).toBe("Before\n\nAfter"); + expect(core.warning).toHaveBeenCalled(); + }), + it("should throw for missing required {{#import}} file", async () => { + await expect(processRuntimeImports("Before\n{{#import missing.md}}\nAfter", tempDir)).rejects.toThrow(); + }), + it("should resolve {{#import}} inside a file read via {{#runtime-import}} (nested fix)", async () => { + // This is the main bug scenario: a workflow file is loaded via {{#runtime-import}}, + // and its body contains {{#import shared/broken.md}} which must be resolved. + const sharedDir = path.join(workflowsDir, "shared"); + fs.mkdirSync(sharedDir, { recursive: true }); + fs.writeFileSync(path.join(sharedDir, "broken.md"), "Shared instructions"); + // The workflow body contains a body-level {{#import}} directive + fs.writeFileSync(path.join(workflowsDir, "my-workflow.md"), "# My Workflow\n\n{{#import shared/broken.md}}\n\nDo the work."); + // Simulate the compiled prompt: {{#runtime-import .github/workflows/my-workflow.md}} + // (the .github/ prefix is stripped by processRuntimeImport and resolved against the .github folder) + const result = await processRuntimeImports("{{#runtime-import .github/workflows/my-workflow.md}}", tempDir); + expect(result).toContain("Shared instructions"); + expect(result).not.toContain("{{#import"); + }), + it("should resolve multiple {{#import}} directives in one file", async () => { + fs.writeFileSync(path.join(workflowsDir, "a.md"), "Content A"); + fs.writeFileSync(path.join(workflowsDir, "b.md"), "Content B"); + const result = await processRuntimeImports("Before\n{{#import a.md}}\nMiddle\n{{#import b.md}}\nAfter", tempDir); + expect(result).toBe("Before\nContent A\nMiddle\nContent B\nAfter"); + }), + it("should not treat {{#importantthing}} (no space/colon) as an import directive", async () => { + const content = "Text {{#importantthing}} more text"; + const result = await processRuntimeImports(content, tempDir); + expect(result).toBe(content); + })); + }), describe("Edge Cases", () => { (it("should handle very large files", async () => { const largeContent = "x".repeat(1e5); @@ -1027,8 +1082,8 @@ describe("runtime_import", () => { const result = await processRuntimeImports("{{#runtime-import main.md}}", tempDir); expect(result).toBe("Main before\nLevel 1 before\nLevel 2 content\nLevel 1 after\nMain after"); - expect(core.info).toHaveBeenCalledWith(expect.stringContaining("Recursively processing runtime-imports in main.md")); - expect(core.info).toHaveBeenCalledWith(expect.stringContaining("Recursively processing runtime-imports in level1.md")); + expect(core.info).toHaveBeenCalledWith(expect.stringContaining("Recursively processing imports in main.md")); + expect(core.info).toHaveBeenCalledWith(expect.stringContaining("Recursively processing imports in level1.md")); }); it("should handle multiple recursive imports at different levels", async () => { From e7472d144684c392c8a5f993223aa4268082074b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Apr 2026 22:45:53 +0000 Subject: [PATCH 03/12] refactor: address code review feedback - safer regex, cleaner logging Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cba000e1-4909-4342-8c90-ecfd5788a601 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- actions/setup/js/runtime_import.cjs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/actions/setup/js/runtime_import.cjs b/actions/setup/js/runtime_import.cjs index 138b33f2eca..7523a99983f 100644 --- a/actions/setup/js/runtime_import.cjs +++ b/actions/setup/js/runtime_import.cjs @@ -923,14 +923,16 @@ async function processRuntimeImports(content, workspaceDir, importedFiles = new // into the agent prompt. Both colon and no-colon syntax are supported: // {{#import filepath}} {{#import? filepath}} // {{#import: filepath}} {{#import?: filepath}} - const bodyImportRe = /\{\{#import(\?)?(?:[ \t]+|[ \t]*:[ \t]*)([^\}]+?)\}\}/g; - if (bodyImportRe.test(content)) { - bodyImportRe.lastIndex = 0; - content = content.replace(bodyImportRe, (_, optional, importPath) => { - const trimmedPath = importPath.trim(); - core.info(`Resolving body-level {{#import}} directive as runtime-import: ${trimmedPath}`); - return `{{#runtime-import${optional || ""} ${trimmedPath}}}`; - }); + // Use [^\{\}] to avoid matching across brace boundaries (e.g. nested expressions). + const bodyImportRe = /\{\{#import(\?)?(?:[ \t]+|[ \t]*:[ \t]*)([^\{\}]+?)\}\}/g; + let bodyImportCount = 0; + content = content.replace(bodyImportRe, (_, optional, importPath) => { + bodyImportCount++; + const trimmedPath = importPath.trim(); + return `{{#runtime-import${optional || ""} ${trimmedPath}}}`; + }); + if (bodyImportCount > 0) { + core.info(`Normalized ${bodyImportCount} body-level {{#import}} directive(s) to runtime-import`); } // Pattern to match {{#runtime-import filepath}} or {{#runtime-import? filepath}} From 0eab0c43c0cf920685bdca029e0a56e8a7a4e7a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Apr 2026 23:28:37 +0000 Subject: [PATCH 04/12] feat: add editorial tone shared file and import it in daily workflows Create .github/shared/editorial.md with a short newspaper editorial tone prompt. Use {{#import: .github/shared/editorial.md}} in daily-news.md, daily-issues-report.md, and daily-team-status.md to exercise the body-level {{#import}} directive fix. Agent-Logs-Url: https://github.com/github/gh-aw/sessions/b42f35fb-511d-4d63-a077-72511fa7397c Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/shared/editorial.md | 3 +++ .github/workflows/daily-issues-report.lock.yml | 1 + .github/workflows/daily-issues-report.md | 2 ++ .github/workflows/daily-news.lock.yml | 1 + .github/workflows/daily-news.md | 2 ++ .github/workflows/daily-team-status.lock.yml | 1 + .github/workflows/daily-team-status.md | 2 ++ 7 files changed, 12 insertions(+) create mode 100644 .github/shared/editorial.md diff --git a/.github/shared/editorial.md b/.github/shared/editorial.md new file mode 100644 index 00000000000..79fb62bab63 --- /dev/null +++ b/.github/shared/editorial.md @@ -0,0 +1,3 @@ +## Writing Style + +Write in a **newspaper editorial tone**: clear, authoritative, and concise. Lead with the most important finding, use active voice, and keep sentences tight. Present data-driven observations as confident conclusions, not hedged guesses. Favor short paragraphs over long ones, and use subheadings to guide the reader through the report. diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 98553f9a4a5..43b09bacf34 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -37,6 +37,7 @@ # - shared/daily-audit-base.md # - shared/trends.md # Includes: +# - /home/runner/work/gh-aw/gh-aw/.github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: diff --git a/.github/workflows/daily-issues-report.md b/.github/workflows/daily-issues-report.md index 49e2ff4818d..afacbd6ba89 100644 --- a/.github/workflows/daily-issues-report.md +++ b/.github/workflows/daily-issues-report.md @@ -35,6 +35,8 @@ features: --- {{#runtime-import? .github/shared-instructions.md}} +{{#import: .github/shared/editorial.md}} + # Daily Issues Report Generator You are an expert analyst that generates comprehensive daily reports about repository issues, using Python for clustering and visualization. diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index 4fd66d92f5a..618a2e4744e 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -35,6 +35,7 @@ # - shared/reporting-otlp.md # - shared/trends.md # Includes: +# - /home/runner/work/gh-aw/gh-aw/.github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: diff --git a/.github/workflows/daily-news.md b/.github/workflows/daily-news.md index 43ee2dfb838..b3bb26e1707 100644 --- a/.github/workflows/daily-news.md +++ b/.github/workflows/daily-news.md @@ -301,6 +301,8 @@ features: {{#runtime-import? .github/shared-instructions.md}} +{{#import: .github/shared/editorial.md}} + # Daily News Write an upbeat, friendly, motivating summary of recent activity in the repo. diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index f0870ca9a77..1f1b7ba9889 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -36,6 +36,7 @@ # - shared/reporting.md # - shared/reporting-otlp.md # Includes: +# - /home/runner/work/gh-aw/gh-aw/.github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: diff --git a/.github/workflows/daily-team-status.md b/.github/workflows/daily-team-status.md index d6a0940ee2b..691dae683d8 100644 --- a/.github/workflows/daily-team-status.md +++ b/.github/workflows/daily-team-status.md @@ -36,6 +36,8 @@ features: {{#runtime-import? .github/shared-instructions.md}} +{{#import: .github/shared/editorial.md}} + # Daily Team Status Create an upbeat daily status report for the team as a GitHub issue. From 38459c85440c95587838f8ee3b79e8d2ebce381c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Apr 2026 23:59:48 +0000 Subject: [PATCH 05/12] fix: use repo-root-relative paths in lock file Includes header When an included file lives in a sibling .github/ subdirectory (e.g. .github/shared/editorial.md when baseDir is .github/workflows/), filepath.Rel returns ../shared/editorial.md which starts with ".." and was stored as an absolute path. Fix include_expander.go to fall back to a repo-root-relative path (found by walking up to the parent of the .github directory) before resorting to the absolute path. This ensures editorial.md appears as .github/shared/editorial.md in the Includes: header. Add TestManifestIncludePathRelativeToRepoRoot to verify this behavior. Agent-Logs-Url: https://github.com/github/gh-aw/sessions/7475afe9-3b87-4bca-a04f-8c226cf82113 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../workflows/daily-issues-report.lock.yml | 2 +- .github/workflows/daily-news.lock.yml | 2 +- .github/workflows/daily-team-status.lock.yml | 2 +- pkg/parser/include_expander.go | 46 ++++++++-- pkg/workflow/manifest_test.go | 84 +++++++++++++++++++ 5 files changed, 127 insertions(+), 9 deletions(-) diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 43b09bacf34..44662b0177e 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -37,7 +37,7 @@ # - shared/daily-audit-base.md # - shared/trends.md # Includes: -# - /home/runner/work/gh-aw/gh-aw/.github/shared/editorial.md +# - .github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index 618a2e4744e..ab1c87192c8 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -35,7 +35,7 @@ # - shared/reporting-otlp.md # - shared/trends.md # Includes: -# - /home/runner/work/gh-aw/gh-aw/.github/shared/editorial.md +# - .github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index 1f1b7ba9889..523c06f3833 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -36,7 +36,7 @@ # - shared/reporting.md # - shared/reporting-otlp.md # Includes: -# - /home/runner/work/gh-aw/gh-aw/.github/shared/editorial.md +# - .github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: diff --git a/pkg/parser/include_expander.go b/pkg/parser/include_expander.go index 0c93c03b6a1..bc86cf8cb2d 100644 --- a/pkg/parser/include_expander.go +++ b/pkg/parser/include_expander.go @@ -48,20 +48,37 @@ func ExpandIncludesWithManifest(content, baseDir string, extractTools bool) (str currentContent = processedContent } - // Convert visited map to slice of file paths (make them relative to baseDir if possible) + // Find the repo root by walking up from baseDir to the parent of the .github folder. + // This allows files outside baseDir (e.g. .github/shared/ when baseDir is .github/workflows/) + // to be recorded with a clean repo-root-relative path instead of an absolute path. + repoRoot := findGitHubRepoRoot(baseDir) + + // Convert visited map to slice of file paths (make them relative to baseDir if possible, + // falling back to repo-root-relative, and only as a last resort using the absolute path) var includedFiles []string for filePath := range visited { - // Try to make path relative to baseDir for cleaner output + // First: try to make path relative to baseDir for cleaner output relPath, err := filepath.Rel(baseDir, filePath) if err == nil && !strings.HasPrefix(relPath, "..") { // Normalize to Unix paths (forward slashes) for cross-platform compatibility relPath = filepath.ToSlash(relPath) includedFiles = append(includedFiles, relPath) - } else { - // Normalize to Unix paths (forward slashes) for cross-platform compatibility - filePath = filepath.ToSlash(filePath) - includedFiles = append(includedFiles, filePath) + continue + } + + // Second: try repo-root-relative path to avoid absolute paths for files in sibling + // directories (e.g. .github/shared/ relative to .github/workflows/) + if repoRoot != "" { + repoRelPath, repoRelErr := filepath.Rel(repoRoot, filePath) + if repoRelErr == nil && !strings.HasPrefix(repoRelPath, "..") { + repoRelPath = filepath.ToSlash(repoRelPath) + includedFiles = append(includedFiles, repoRelPath) + continue + } } + + // Fallback: use the absolute path (should be rare) + includedFiles = append(includedFiles, filepath.ToSlash(filePath)) } includeExpanderLog.Printf("Include expansion complete: visited_files=%d", len(includedFiles)) @@ -74,6 +91,23 @@ func ExpandIncludesWithManifest(content, baseDir string, extractTools bool) (str return currentContent, includedFiles, nil } +// findGitHubRepoRoot walks up from dir to find the parent of the first ".github" directory. +// Returns "" if no ".github" directory is found. +func findGitHubRepoRoot(dir string) string { + current := filepath.Clean(dir) + for { + if filepath.Base(current) == ".github" { + return filepath.Dir(current) + } + parent := filepath.Dir(current) + if parent == current { + // Reached filesystem root + return "" + } + current = parent + } +} + // ExpandIncludesForEngines recursively expands @include and @import directives to extract engine configurations func ExpandIncludesForEngines(content, baseDir string) ([]string, error) { includeExpanderLog.Printf("Expanding includes for engines: baseDir=%s", baseDir) diff --git a/pkg/workflow/manifest_test.go b/pkg/workflow/manifest_test.go index a6929b9dd38..1ee0859d0b1 100644 --- a/pkg/workflow/manifest_test.go +++ b/pkg/workflow/manifest_test.go @@ -311,3 +311,87 @@ Handle the issue.` } } } + +// TestManifestIncludePathRelativeToRepoRoot verifies that included files in sibling +// .github/ subdirectories (e.g. .github/shared/ when the workflow is in .github/workflows/) +// are recorded with a repo-root-relative path instead of an absolute path. +func TestManifestIncludePathRelativeToRepoRoot(t *testing.T) { + tmpDir := testutil.TempDir(t, "manifest-sibling-test") + + // Create .github/workflows/ and .github/shared/ structure + workflowsDir := filepath.Join(tmpDir, ".github", "workflows") + sharedDir := filepath.Join(tmpDir, ".github", "shared") + if err := os.MkdirAll(workflowsDir, 0755); err != nil { + t.Fatal(err) + } + if err := os.MkdirAll(sharedDir, 0755); err != nil { + t.Fatal(err) + } + + // Create an include file in .github/shared/ (sibling of .github/workflows/) + editorialFile := filepath.Join(sharedDir, "editorial.md") + editorialContent := `## Writing Style + +Write in a newspaper editorial tone.` + if err := os.WriteFile(editorialFile, []byte(editorialContent), 0644); err != nil { + t.Fatal(err) + } + + // Create workflow that includes the file via .github/-prefixed path + workflowContent := `--- +on: issues +permissions: + contents: read + issues: read + pull-requests: read +engine: copilot +--- + +# Test Workflow + +{{#import: .github/shared/editorial.md}} + +Handle the issue.` + + compiler := NewCompiler() + testFile := filepath.Join(workflowsDir, "test-workflow.md") + if err := os.WriteFile(testFile, []byte(workflowContent), 0644); err != nil { + t.Fatal(err) + } + + if err := compiler.CompileWorkflow(testFile); err != nil { + t.Fatalf("Unexpected error compiling workflow: %v", err) + } + + lockFile := stringutil.MarkdownToLockFile(testFile) + content, err := os.ReadFile(lockFile) + if err != nil { + t.Fatalf("Failed to read generated lock file: %v", err) + } + + lockContent := string(content) + + // The Includes section should show .github/shared/editorial.md (relative to repo root), + // NOT an absolute path like /tmp/.../.../.github/shared/editorial.md + expectedLine := "# - .github/shared/editorial.md" + if !strings.Contains(lockContent, expectedLine) { + t.Errorf("Expected relative include path %q in lock file, but not found.\nLock file content excerpt:\n%s", + expectedLine, extractLockFileHeader(lockContent)) + } + + // Verify no absolute path appears in the Includes section + for line := range strings.SplitSeq(lockContent, "\n") { + if strings.HasPrefix(line, "# - /") { + t.Errorf("Found absolute path in lock file Includes section: %q", line) + } + } +} + +// extractLockFileHeader returns the first 50 lines of a lock file for test diagnostics. +func extractLockFileHeader(content string) string { + lines := strings.Split(content, "\n") + if len(lines) > 50 { + lines = lines[:50] + } + return strings.Join(lines, "\n") +} From ce58197942df8674b77c5b09e3e942049cdc2971 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 25 Apr 2026 00:05:45 +0000 Subject: [PATCH 06/12] docs: improve findGitHubRepoRoot docstring per code review Agent-Logs-Url: https://github.com/github/gh-aw/sessions/7475afe9-3b87-4bca-a04f-8c226cf82113 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- pkg/parser/include_expander.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/parser/include_expander.go b/pkg/parser/include_expander.go index bc86cf8cb2d..9282a726dbd 100644 --- a/pkg/parser/include_expander.go +++ b/pkg/parser/include_expander.go @@ -91,8 +91,14 @@ func ExpandIncludesWithManifest(content, baseDir string, extractTools bool) (str return currentContent, includedFiles, nil } -// findGitHubRepoRoot walks up from dir to find the parent of the first ".github" directory. -// Returns "" if no ".github" directory is found. +// findGitHubRepoRoot walks up the directory tree from dir to find the parent of the +// first ".github" directory encountered. It is used to compute repo-root-relative +// paths for files that live in sibling .github/ subdirectories (e.g. .github/shared/) +// so that the lock file Includes header shows ".github/shared/editorial.md" rather +// than an absolute system path. +// +// Returns the repo root directory (the parent of ".github"), or "" if no ".github" +// ancestor directory is found before reaching the filesystem root. func findGitHubRepoRoot(dir string) string { current := filepath.Clean(dir) for { From 8733c09f96c1c3e8ed2f286c1b4edcad6e6be43a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 25 Apr 2026 00:56:18 +0000 Subject: [PATCH 07/12] fix: promote body-level {{#import:}} directives to explicit runtime-import macros in compiled prompt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Body-level {{#import: path}} directives were inlined into mainWorkflowMarkdown at compile time but the compiled lock file prompt only showed {{#runtime-import .github/workflows/daily-team-status.md}} — the editorial content was invisible until the agent ran. Add ExtractBodyLevelImportPaths to pkg/parser/include_expander.go. It scans the markdown body for {{#import:}} directives (non-legacy) and returns their paths converted to workspace-root-relative form. In compiler_orchestrator_tools.go, call it and append the results to importPaths. This causes generatePrompt to emit an explicit {{#runtime-import .github/shared/editorial.md}} macro BEFORE {{#runtime-import .github/workflows/daily-team-status.md}}. At runtime, runtime_import.cjs's importedFiles Set prevents the editorial file from being imported a second time when the workflow body is processed. Recompile all 201 workflows — daily-news, daily-issues-report, and daily-team-status now show: {{#runtime-import .github/shared/editorial.md}} {{#runtime-import .github/workflows/.md}} Add TestBodyLevelImportPromotedToRuntimeImport to verify behavior. Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6f08bfc3-56a4-46d4-895b-c901d8fd9844 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../agent-performance-analyzer.lock.yml | 1 + .github/workflows/ai-moderator.lock.yml | 1 + .github/workflows/archie.lock.yml | 1 + .../workflows/architecture-guardian.lock.yml | 1 + .github/workflows/artifacts-summary.lock.yml | 1 + .github/workflows/audit-workflows.lock.yml | 1 + .github/workflows/auto-triage-issues.lock.yml | 1 + .github/workflows/blog-auditor.lock.yml | 1 + .github/workflows/bot-detection.lock.yml | 1 + .github/workflows/brave.lock.yml | 1 + .github/workflows/ci-coach.lock.yml | 1 + .../claude-code-user-docs-review.lock.yml | 1 + .../cli-consistency-checker.lock.yml | 1 + .../workflows/cli-version-checker.lock.yml | 1 + .github/workflows/cloclo.lock.yml | 1 + .../workflows/code-scanning-fixer.lock.yml | 1 + .github/workflows/code-simplifier.lock.yml | 1 + .../commit-changes-analyzer.lock.yml | 1 + .github/workflows/contribution-check.lock.yml | 1 + .../workflows/copilot-agent-analysis.lock.yml | 1 + .../copilot-cli-deep-research.lock.yml | 1 + .github/workflows/copilot-opt.lock.yml | 1 + .../copilot-pr-merged-report.lock.yml | 1 + .../copilot-pr-nlp-analysis.lock.yml | 1 + .../copilot-pr-prompt-analysis.lock.yml | 1 + .../copilot-session-insights.lock.yml | 1 + .github/workflows/craft.lock.yml | 1 + .../daily-assign-issue-to-user.lock.yml | 1 + .github/workflows/daily-choice-test.lock.yml | 1 + .../workflows/daily-cli-performance.lock.yml | 1 + .github/workflows/daily-code-metrics.lock.yml | 1 + .../workflows/daily-compiler-quality.lock.yml | 1 + .github/workflows/daily-doc-updater.lock.yml | 1 + .github/workflows/daily-fact.lock.yml | 18 ++-- .github/workflows/daily-file-diet.lock.yml | 1 + .../workflows/daily-firewall-report.lock.yml | 1 + .../workflows/daily-issues-report.lock.yml | 2 + .github/workflows/daily-news.lock.yml | 2 + .../daily-observability-report.lock.yml | 13 +-- .../daily-performance-summary.lock.yml | 1 + .github/workflows/daily-regulatory.lock.yml | 1 + .../daily-rendering-scripts-verifier.lock.yml | 1 + .../workflows/daily-repo-chronicle.lock.yml | 1 + .../daily-safe-output-optimizer.lock.yml | 1 + .../workflows/daily-secrets-analysis.lock.yml | 1 + .github/workflows/daily-semgrep-scan.lock.yml | 1 + .../daily-syntax-error-quality.lock.yml | 1 + .../daily-team-evolution-insights.lock.yml | 1 + .github/workflows/daily-team-status.lock.yml | 2 + .../daily-testify-uber-super-expert.lock.yml | 1 + .../daily-token-consumption-report.lock.yml | 1 + .../workflows/daily-workflow-updater.lock.yml | 1 + .github/workflows/deep-report.lock.yml | 1 + .github/workflows/delight.lock.yml | 1 + .github/workflows/dependabot-burner.lock.yml | 1 + .../workflows/dependabot-go-checker.lock.yml | 1 + .github/workflows/dev-hawk.lock.yml | 1 + .github/workflows/dev.lock.yml | 1 + .../developer-docs-consolidator.lock.yml | 1 + .github/workflows/dictation-prompt.lock.yml | 1 + .../workflows/discussion-task-miner.lock.yml | 1 + .github/workflows/docs-noob-tester.lock.yml | 1 + .github/workflows/draft-pr-cleanup.lock.yml | 1 + .../example-workflow-analyzer.lock.yml | 1 + .github/workflows/firewall-escape.lock.yml | 1 + .../workflows/functional-pragmatist.lock.yml | 1 + .../github-mcp-structural-analysis.lock.yml | 1 + .../github-mcp-tools-report.lock.yml | 1 + .../github-remote-mcp-auth-test.lock.yml | 1 + .../workflows/glossary-maintainer.lock.yml | 1 + .github/workflows/go-fan.lock.yml | 1 + .github/workflows/go-logger.lock.yml | 1 + .../workflows/go-pattern-detector.lock.yml | 1 + .github/workflows/gpclean.lock.yml | 1 + .github/workflows/grumpy-reviewer.lock.yml | 13 +-- .../workflows/instructions-janitor.lock.yml | 1 + .github/workflows/issue-arborist.lock.yml | 13 +-- .github/workflows/issue-triage-agent.lock.yml | 1 + .github/workflows/jsweep.lock.yml | 1 + .../workflows/layout-spec-maintainer.lock.yml | 1 + .github/workflows/lockfile-stats.lock.yml | 1 + .github/workflows/mcp-inspector.lock.yml | 1 + .github/workflows/mergefest.lock.yml | 1 + .github/workflows/org-health-report.lock.yml | 1 + .github/workflows/pdf-summary.lock.yml | 1 + .github/workflows/plan.lock.yml | 1 + .github/workflows/poem-bot.lock.yml | 1 + .../workflows/pr-nitpick-reviewer.lock.yml | 1 + .github/workflows/pr-triage-agent.lock.yml | 1 + .../prompt-clustering-analysis.lock.yml | 1 + .github/workflows/python-data-charts.lock.yml | 1 + .github/workflows/q.lock.yml | 1 + .github/workflows/refiner.lock.yml | 1 + .github/workflows/release.lock.yml | 1 + .../workflows/repo-audit-analyzer.lock.yml | 1 + .github/workflows/repo-tree-map.lock.yml | 1 + .../repository-quality-improver.lock.yml | 1 + .github/workflows/research.lock.yml | 1 + .github/workflows/safe-output-health.lock.yml | 1 + .../schema-consistency-checker.lock.yml | 1 + .github/workflows/scout.lock.yml | 1 + .../workflows/security-compliance.lock.yml | 1 + .github/workflows/security-review.lock.yml | 1 + .../semantic-function-refactor.lock.yml | 1 + .github/workflows/sergo.lock.yml | 1 + .github/workflows/smoke-claude.lock.yml | 6 ++ .github/workflows/smoke-codex.lock.yml | 13 +-- .github/workflows/smoke-copilot-arm.lock.yml | 1 + .github/workflows/smoke-copilot.lock.yml | 1 + .github/workflows/smoke-crush.lock.yml | 1 + .github/workflows/smoke-gemini.lock.yml | 1 + .github/workflows/smoke-multi-pr.lock.yml | 1 + .github/workflows/smoke-opencode.lock.yml | 1 + .github/workflows/smoke-project.lock.yml | 1 + .github/workflows/smoke-temporary-id.lock.yml | 1 + .github/workflows/smoke-test-tools.lock.yml | 1 + .../workflows/smoke-workflow-call.lock.yml | 1 + .github/workflows/spec-enforcer.lock.yml | 1 + .github/workflows/spec-extractor.lock.yml | 1 + .github/workflows/spec-librarian.lock.yml | 1 + .../workflows/stale-repo-identifier.lock.yml | 1 + .../workflows/static-analysis-report.lock.yml | 1 + .../workflows/step-name-alignment.lock.yml | 1 + .github/workflows/sub-issue-closer.lock.yml | 1 + .github/workflows/super-linter.lock.yml | 1 + .../workflows/technical-doc-writer.lock.yml | 1 + .github/workflows/terminal-stylist.lock.yml | 1 + .../test-create-pr-error-handling.lock.yml | 1 + .github/workflows/test-dispatcher.lock.yml | 1 + .../test-project-url-default.lock.yml | 1 + .github/workflows/tidy.lock.yml | 1 + .github/workflows/typist.lock.yml | 1 + .../workflows/ubuntu-image-analyzer.lock.yml | 1 + .github/workflows/unbloat-docs.lock.yml | 1 + .github/workflows/video-analyzer.lock.yml | 1 + .../weekly-editors-health-check.lock.yml | 1 + .../workflows/weekly-issue-summary.lock.yml | 1 + .../weekly-safe-outputs-spec-review.lock.yml | 1 + .github/workflows/workflow-generator.lock.yml | 1 + .../workflow-health-manager.lock.yml | 1 + .../workflows/workflow-normalizer.lock.yml | 1 + .../workflow-skill-extractor.lock.yml | 1 + pkg/parser/include_expander.go | 55 ++++++++++++- pkg/workflow/compiler_orchestrator_tools.go | 13 +++ pkg/workflow/manifest_test.go | 82 +++++++++++++++++++ 145 files changed, 334 insertions(+), 31 deletions(-) diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml index 25c05a14ffd..7c68e8d3f3b 100644 --- a/.github/workflows/agent-performance-analyzer.lock.yml +++ b/.github/workflows/agent-performance-analyzer.lock.yml @@ -228,6 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_e8efe57977b9f20b_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/agent-performance-analyzer.md}} GH_AW_PROMPT_e8efe57977b9f20b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/ai-moderator.lock.yml b/.github/workflows/ai-moderator.lock.yml index 6348ce120d0..e56f6671045 100644 --- a/.github/workflows/ai-moderator.lock.yml +++ b/.github/workflows/ai-moderator.lock.yml @@ -272,6 +272,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_e38150530db2736f_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/ai-moderator.md}} GH_AW_PROMPT_e38150530db2736f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index 3e64244621e..cd5eb039a31 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -309,6 +309,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/archie.md}} GH_AW_PROMPT_3ebfef017b6df1d9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/architecture-guardian.lock.yml b/.github/workflows/architecture-guardian.lock.yml index 0f57f49b991..9c702fc71be 100644 --- a/.github/workflows/architecture-guardian.lock.yml +++ b/.github/workflows/architecture-guardian.lock.yml @@ -222,6 +222,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_32704be96c42d3fd_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/architecture-guardian.md}} GH_AW_PROMPT_32704be96c42d3fd_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index d70fb17463c..67ef21e15bb 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -221,6 +221,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/safe-output-app.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/artifacts-summary.md}} GH_AW_PROMPT_d6a4d9a9703cbd67_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index 0a489536408..f1129d392a2 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -257,6 +257,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/audit-workflows.md}} GH_AW_PROMPT_c3f11bbbc268c008_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/auto-triage-issues.lock.yml b/.github/workflows/auto-triage-issues.lock.yml index aca52907df7..53a35f9b4d1 100644 --- a/.github/workflows/auto-triage-issues.lock.yml +++ b/.github/workflows/auto-triage-issues.lock.yml @@ -242,6 +242,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/auto-triage-issues.md}} GH_AW_PROMPT_85720a44bbb5dc90_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index 1be955daf43..0da3188a13d 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -242,6 +242,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/blog-auditor.md}} GH_AW_PROMPT_d0e4313c80ee4d27_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/bot-detection.lock.yml b/.github/workflows/bot-detection.lock.yml index ee690f5aac0..9084abba6c3 100644 --- a/.github/workflows/bot-detection.lock.yml +++ b/.github/workflows/bot-detection.lock.yml @@ -228,6 +228,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_7a498a0e98aa621e_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/bot-detection.md}} GH_AW_PROMPT_7a498a0e98aa621e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index 72b20bdb294..3343e87d68a 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -267,6 +267,7 @@ jobs: cat << 'GH_AW_PROMPT_e6ffe92b34c67251_EOF' {{#runtime-import .github/workflows/shared/mcp/brave.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/brave.md}} GH_AW_PROMPT_e6ffe92b34c67251_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml index ac0f6f16c31..9f672676b22 100644 --- a/.github/workflows/ci-coach.lock.yml +++ b/.github/workflows/ci-coach.lock.yml @@ -235,6 +235,7 @@ jobs: {{#runtime-import .github/workflows/shared/ci-optimization-strategies.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/ci-coach.md}} GH_AW_PROMPT_b695ae7e2ca86425_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/claude-code-user-docs-review.lock.yml b/.github/workflows/claude-code-user-docs-review.lock.yml index 85cc57b02b4..3401d1ab905 100644 --- a/.github/workflows/claude-code-user-docs-review.lock.yml +++ b/.github/workflows/claude-code-user-docs-review.lock.yml @@ -242,6 +242,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/claude-code-user-docs-review.md}} GH_AW_PROMPT_1c94c1dbe1beab96_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index a0e127013d2..0be5ef529fb 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -216,6 +216,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_977dde871b5e4edb_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/cli-consistency-checker.md}} GH_AW_PROMPT_977dde871b5e4edb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 9a3a500af19..7b4c27be253 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -231,6 +231,7 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/cli-version-checker.md}} GH_AW_PROMPT_eb436f0c3b3a7fbb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index 93d68184ceb..a72ff80cf65 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -364,6 +364,7 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/cloclo.md}} GH_AW_PROMPT_b5ce1be05f56810c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/code-scanning-fixer.lock.yml b/.github/workflows/code-scanning-fixer.lock.yml index 14de7cd6ddb..1175da27d37 100644 --- a/.github/workflows/code-scanning-fixer.lock.yml +++ b/.github/workflows/code-scanning-fixer.lock.yml @@ -230,6 +230,7 @@ jobs: {{#runtime-import .github/workflows/shared/security-analysis-base.md}} {{#runtime-import .github/workflows/shared/activation-app.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/code-scanning-fixer.md}} GH_AW_PROMPT_d475dd6312b2dc23_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/code-simplifier.lock.yml b/.github/workflows/code-simplifier.lock.yml index 86d66fe8f77..1f7a000d3b3 100644 --- a/.github/workflows/code-simplifier.lock.yml +++ b/.github/workflows/code-simplifier.lock.yml @@ -236,6 +236,7 @@ jobs: {{#runtime-import .github/workflows/shared/activation-app.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/code-simplifier.md}} GH_AW_PROMPT_82e68d7934c62c6f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 064483a2c17..84122bb76d1 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -228,6 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_6f1a12e9a06c4026_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/commit-changes-analyzer.md}} GH_AW_PROMPT_6f1a12e9a06c4026_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/contribution-check.lock.yml b/.github/workflows/contribution-check.lock.yml index 2ebf330ee73..7ad3753ff82 100644 --- a/.github/workflows/contribution-check.lock.yml +++ b/.github/workflows/contribution-check.lock.yml @@ -229,6 +229,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_5099d5c6e8eb2030_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/contribution-check.md}} GH_AW_PROMPT_5099d5c6e8eb2030_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index 9aeb4e477de..d7efdf33d78 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -251,6 +251,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-agent-analysis.md}} GH_AW_PROMPT_15aec407774dafb3_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-cli-deep-research.lock.yml b/.github/workflows/copilot-cli-deep-research.lock.yml index 988bbdd8d8d..fb9abb7de51 100644 --- a/.github/workflows/copilot-cli-deep-research.lock.yml +++ b/.github/workflows/copilot-cli-deep-research.lock.yml @@ -221,6 +221,7 @@ jobs: cat << 'GH_AW_PROMPT_f1be3b6884a88dc9_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-cli-deep-research.md}} GH_AW_PROMPT_f1be3b6884a88dc9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-opt.lock.yml b/.github/workflows/copilot-opt.lock.yml index 04be3ba5953..624baf0761d 100644 --- a/.github/workflows/copilot-opt.lock.yml +++ b/.github/workflows/copilot-opt.lock.yml @@ -235,6 +235,7 @@ jobs: {{#runtime-import .github/workflows/shared/copilot-session-data-fetch.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-opt.md}} GH_AW_PROMPT_0404f3c866992fba_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index 092db4a82af..0ce4b92d3f4 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -205,6 +205,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-merged-report.md}} GH_AW_PROMPT_5a54057fb049d8a1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index 10c51256306..ff1a677a1a4 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -251,6 +251,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-nlp-analysis.md}} GH_AW_PROMPT_597d922fed3745a2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index 9e0a78aa1a5..c22bf9c7be9 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -244,6 +244,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-prompt-analysis.md}} GH_AW_PROMPT_9b2f5e6b12a6a4d6_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 9ec2e5c72d8..693478ed05c 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -259,6 +259,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-session-insights.md}} GH_AW_PROMPT_207bf950c3fa59e1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index 5e8da3c000b..d7af2a6a1bc 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -269,6 +269,7 @@ jobs: fi cat << 'GH_AW_PROMPT_a96b788656d9ce78_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/craft.md}} GH_AW_PROMPT_a96b788656d9ce78_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index 00dd7ce1ff4..a896f1106b9 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -227,6 +227,7 @@ jobs: cat << 'GH_AW_PROMPT_cf7bda9600980afb_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-assign-issue-to-user.md}} GH_AW_PROMPT_cf7bda9600980afb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-choice-test.lock.yml b/.github/workflows/daily-choice-test.lock.yml index fde91c0fc81..5d969ceb547 100644 --- a/.github/workflows/daily-choice-test.lock.yml +++ b/.github/workflows/daily-choice-test.lock.yml @@ -235,6 +235,7 @@ jobs: cat << 'GH_AW_PROMPT_d4927b7bd8609fbf_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-choice-test.md}} GH_AW_PROMPT_d4927b7bd8609fbf_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-cli-performance.lock.yml b/.github/workflows/daily-cli-performance.lock.yml index dea8fd7cb86..a9177f56d9f 100644 --- a/.github/workflows/daily-cli-performance.lock.yml +++ b/.github/workflows/daily-cli-performance.lock.yml @@ -265,6 +265,7 @@ jobs: {{#runtime-import .github/workflows/shared/go-make.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-cli-performance.md}} GH_AW_PROMPT_e4df3d235e59eebe_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 97a2ba2d1c7..2f41139401b 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -251,6 +251,7 @@ jobs: {{#runtime-import .github/workflows/shared/trends.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-code-metrics.md}} GH_AW_PROMPT_ccc54d8c5d380212_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-compiler-quality.lock.yml b/.github/workflows/daily-compiler-quality.lock.yml index 3673e98afdb..83cb36b8196 100644 --- a/.github/workflows/daily-compiler-quality.lock.yml +++ b/.github/workflows/daily-compiler-quality.lock.yml @@ -272,6 +272,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-compiler-quality.md}} GH_AW_PROMPT_b318fb04267a1678_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index e6a76eaf074..2c02aa0bda5 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -244,6 +244,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-doc-updater.md}} GH_AW_PROMPT_741719fb8401d7b7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index 1386e8bbd48..3bd541c5165 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -245,6 +245,12 @@ jobs: + **Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures. + + ```json + {"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}} + ``` + {{#runtime-import? .github/shared-instructions.md}} # Daily Fact About gh-aw @@ -1395,18 +1401,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_d8e5c0475d93e829_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_42a2fd8ae6a6047e_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_d8e5c0475d93e829_EOF + GH_AW_MCP_CONFIG_42a2fd8ae6a6047e_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_c44dd6d6554730bc_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_7b83b8077d005d21_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1417,11 +1423,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_c44dd6d6554730bc_EOF + GH_AW_MCP_CONFIG_7b83b8077d005d21_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_1d0a0d86b055804d_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_94144444132cde09_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1431,7 +1437,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_1d0a0d86b055804d_EOF + GH_AW_CODEX_SHELL_POLICY_94144444132cde09_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index 2edd43646f3..901af02e593 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -275,6 +275,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-file-diet.md}} GH_AW_PROMPT_fe4e05911571678a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index 30f0a04ec2d..487cec33574 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -252,6 +252,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-firewall-report.md}} GH_AW_PROMPT_01e0a608c28ca7bb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 44662b0177e..6e193e6eb69 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -261,6 +261,8 @@ jobs: {{#runtime-import .github/workflows/shared/trends.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared/editorial.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-issues-report.md}} GH_AW_PROMPT_9e1e7ac2d1f2b660_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index ab1c87192c8..bed944c28f3 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -251,6 +251,8 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} + {{#runtime-import .github/shared/editorial.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-news.md}} GH_AW_PROMPT_d515ff7b72bcd152_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-observability-report.lock.yml b/.github/workflows/daily-observability-report.lock.yml index 470455a0317..42f33e4f3ea 100644 --- a/.github/workflows/daily-observability-report.lock.yml +++ b/.github/workflows/daily-observability-report.lock.yml @@ -248,6 +248,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-observability-report.md}} GH_AW_PROMPT_11fa358344c01b2e_EOF } > "$GH_AW_PROMPT" @@ -1313,18 +1314,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_3c598095e22dad2c_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_9781c5cf2ffd3880_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_3c598095e22dad2c_EOF + GH_AW_MCP_CONFIG_9781c5cf2ffd3880_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_cdd8152942b1db40_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_c6dc02ee56704499_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1335,11 +1336,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_cdd8152942b1db40_EOF + GH_AW_MCP_CONFIG_c6dc02ee56704499_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_642d534dcaee7f48_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_2b31050bfc603836_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1349,7 +1350,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_642d534dcaee7f48_EOF + GH_AW_CODEX_SHELL_POLICY_2b31050bfc603836_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index ada8751cebe..ad55cede011 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -250,6 +250,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-performance-summary.md}} GH_AW_PROMPT_4d1d60523c12164b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-regulatory.lock.yml b/.github/workflows/daily-regulatory.lock.yml index 2340c041857..4f69c819c0d 100644 --- a/.github/workflows/daily-regulatory.lock.yml +++ b/.github/workflows/daily-regulatory.lock.yml @@ -241,6 +241,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-regulatory.md}} GH_AW_PROMPT_4ff4456d5c004992_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-rendering-scripts-verifier.lock.yml b/.github/workflows/daily-rendering-scripts-verifier.lock.yml index b88ba8a4437..09aee5a2db2 100644 --- a/.github/workflows/daily-rendering-scripts-verifier.lock.yml +++ b/.github/workflows/daily-rendering-scripts-verifier.lock.yml @@ -256,6 +256,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-rendering-scripts-verifier.md}} GH_AW_PROMPT_c30c531ff974448e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index cac85ddba2c..930d7066ef8 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -242,6 +242,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-repo-chronicle.md}} GH_AW_PROMPT_434e1d9812bba1d7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-safe-output-optimizer.lock.yml b/.github/workflows/daily-safe-output-optimizer.lock.yml index 68743846c16..784ac43f3af 100644 --- a/.github/workflows/daily-safe-output-optimizer.lock.yml +++ b/.github/workflows/daily-safe-output-optimizer.lock.yml @@ -256,6 +256,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-safe-output-optimizer.md}} GH_AW_PROMPT_f7001fcf8a3d6b98_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-secrets-analysis.lock.yml b/.github/workflows/daily-secrets-analysis.lock.yml index 48af2ad36e7..78ba3f84e3a 100644 --- a/.github/workflows/daily-secrets-analysis.lock.yml +++ b/.github/workflows/daily-secrets-analysis.lock.yml @@ -232,6 +232,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-secrets-analysis.md}} GH_AW_PROMPT_f5e37979c9502661_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-semgrep-scan.lock.yml b/.github/workflows/daily-semgrep-scan.lock.yml index 427c2069510..4b0fba2dd22 100644 --- a/.github/workflows/daily-semgrep-scan.lock.yml +++ b/.github/workflows/daily-semgrep-scan.lock.yml @@ -234,6 +234,7 @@ jobs: {{#runtime-import .github/workflows/shared/security-analysis-base.md}} {{#runtime-import .github/workflows/shared/mcp/semgrep.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-semgrep-scan.md}} GH_AW_PROMPT_3cbddf9c1f286d7e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-syntax-error-quality.lock.yml b/.github/workflows/daily-syntax-error-quality.lock.yml index a3a3137e28d..a531fb4422f 100644 --- a/.github/workflows/daily-syntax-error-quality.lock.yml +++ b/.github/workflows/daily-syntax-error-quality.lock.yml @@ -232,6 +232,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-syntax-error-quality.md}} GH_AW_PROMPT_b0bed03293d9e959_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-team-evolution-insights.lock.yml b/.github/workflows/daily-team-evolution-insights.lock.yml index c3cbf3f9f68..6a8b221a214 100644 --- a/.github/workflows/daily-team-evolution-insights.lock.yml +++ b/.github/workflows/daily-team-evolution-insights.lock.yml @@ -239,6 +239,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-team-evolution-insights.md}} GH_AW_PROMPT_de4bc36b1be344ed_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index 523c06f3833..91ce0c2ccfc 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -250,6 +250,8 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared/editorial.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-team-status.md}} GH_AW_PROMPT_31fef7a17811ecb8_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-testify-uber-super-expert.lock.yml b/.github/workflows/daily-testify-uber-super-expert.lock.yml index fa6594fffc1..4641d3541a7 100644 --- a/.github/workflows/daily-testify-uber-super-expert.lock.yml +++ b/.github/workflows/daily-testify-uber-super-expert.lock.yml @@ -277,6 +277,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-testify-uber-super-expert.md}} GH_AW_PROMPT_692afb371db39ced_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-token-consumption-report.lock.yml b/.github/workflows/daily-token-consumption-report.lock.yml index e4c9efa6008..c2f5e56ea8c 100644 --- a/.github/workflows/daily-token-consumption-report.lock.yml +++ b/.github/workflows/daily-token-consumption-report.lock.yml @@ -243,6 +243,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-token-consumption-report.md}} GH_AW_PROMPT_3edd0ce42e733bd2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index 19a71b3bbc5..cb9da818308 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -232,6 +232,7 @@ jobs: cat << 'GH_AW_PROMPT_cce583e828b11915_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-workflow-updater.md}} GH_AW_PROMPT_cce583e828b11915_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 5f5740d9adc..c6d14532d2c 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -241,6 +241,7 @@ jobs: {{#runtime-import .github/workflows/shared/discussions-data-fetch.md}} {{#runtime-import .github/workflows/shared/weekly-issues-data-fetch.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/deep-report.md}} GH_AW_PROMPT_8dfa4824ae875fbc_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/delight.lock.yml b/.github/workflows/delight.lock.yml index 8589a43ebfe..4afa6553660 100644 --- a/.github/workflows/delight.lock.yml +++ b/.github/workflows/delight.lock.yml @@ -237,6 +237,7 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/delight.md}} GH_AW_PROMPT_b91d149178a86edf_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dependabot-burner.lock.yml b/.github/workflows/dependabot-burner.lock.yml index 1ad51e37e23..47705d4acc3 100644 --- a/.github/workflows/dependabot-burner.lock.yml +++ b/.github/workflows/dependabot-burner.lock.yml @@ -228,6 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_9cc4b5bc9736ec42_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dependabot-burner.md}} GH_AW_PROMPT_9cc4b5bc9736ec42_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index 383d37d78ee..888d2c4a197 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -225,6 +225,7 @@ jobs: cat << 'GH_AW_PROMPT_e5e1349255fddf5f_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dependabot-go-checker.md}} GH_AW_PROMPT_e5e1349255fddf5f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index 052e66670b6..0e1ef1651a6 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -234,6 +234,7 @@ jobs: cat << 'GH_AW_PROMPT_24fe2ca9091c6b98_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dev-hawk.md}} GH_AW_PROMPT_24fe2ca9091c6b98_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml index e9751f30774..e1251d8d4db 100644 --- a/.github/workflows/dev.lock.yml +++ b/.github/workflows/dev.lock.yml @@ -276,6 +276,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_378a8ccd1b4d7114_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dev.md}} GH_AW_PROMPT_378a8ccd1b4d7114_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index bb5bc396774..f8a5299436c 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -282,6 +282,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/developer-docs-consolidator.md}} GH_AW_PROMPT_08b021a1302f387f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index 4ab7bf92cde..066f44f9509 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -223,6 +223,7 @@ jobs: cat << 'GH_AW_PROMPT_745d8a3df2b9ca54_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dictation-prompt.md}} GH_AW_PROMPT_745d8a3df2b9ca54_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/discussion-task-miner.lock.yml b/.github/workflows/discussion-task-miner.lock.yml index 3779f58258f..621622e1a5d 100644 --- a/.github/workflows/discussion-task-miner.lock.yml +++ b/.github/workflows/discussion-task-miner.lock.yml @@ -226,6 +226,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/discussion-task-miner.md}} GH_AW_PROMPT_6fc33e956ca2258e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index 95e0e4b1f56..9ea688345e1 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -240,6 +240,7 @@ jobs: {{#runtime-import .github/workflows/shared/keep-it-short.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/docs-noob-tester.md}} GH_AW_PROMPT_f65c908042dcbe78_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/draft-pr-cleanup.lock.yml b/.github/workflows/draft-pr-cleanup.lock.yml index 5bcc147ae8f..52373663da7 100644 --- a/.github/workflows/draft-pr-cleanup.lock.yml +++ b/.github/workflows/draft-pr-cleanup.lock.yml @@ -216,6 +216,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_8283e84845812c8a_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/draft-pr-cleanup.md}} GH_AW_PROMPT_8283e84845812c8a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index b3527d956aa..83f3515777b 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -243,6 +243,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/example-workflow-analyzer.md}} GH_AW_PROMPT_6a3e8c4973119cff_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/firewall-escape.lock.yml b/.github/workflows/firewall-escape.lock.yml index 2d28ecfba2f..d23b4904630 100644 --- a/.github/workflows/firewall-escape.lock.yml +++ b/.github/workflows/firewall-escape.lock.yml @@ -246,6 +246,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_9005465a071fc2f9_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/firewall-escape.md}} GH_AW_PROMPT_9005465a071fc2f9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/functional-pragmatist.lock.yml b/.github/workflows/functional-pragmatist.lock.yml index 57d5f4595a3..8ddd2362332 100644 --- a/.github/workflows/functional-pragmatist.lock.yml +++ b/.github/workflows/functional-pragmatist.lock.yml @@ -229,6 +229,7 @@ jobs: cat << 'GH_AW_PROMPT_6cdef77543e0d67d_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/functional-pragmatist.md}} GH_AW_PROMPT_6cdef77543e0d67d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index 7ac4b2c07dd..b16a5d9c109 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -247,6 +247,7 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/github-mcp-structural-analysis.md}} GH_AW_PROMPT_5dd67868a565559b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index 55bd9badee9..79bdcfb8295 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -245,6 +245,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/github-mcp-tools-report.md}} GH_AW_PROMPT_69bd7ba219060bae_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/github-remote-mcp-auth-test.lock.yml b/.github/workflows/github-remote-mcp-auth-test.lock.yml index bc6cd1e746e..b142c6a8a66 100644 --- a/.github/workflows/github-remote-mcp-auth-test.lock.yml +++ b/.github/workflows/github-remote-mcp-auth-test.lock.yml @@ -225,6 +225,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_a1dc9e30e76cf6a9_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/github-remote-mcp-auth-test.md}} GH_AW_PROMPT_a1dc9e30e76cf6a9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 0ed7c02d66f..371e21925e3 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -274,6 +274,7 @@ jobs: {{#runtime-import .github/skills/documentation/SKILL.md}} {{#runtime-import .github/agents/technical-doc-writer.agent.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/glossary-maintainer.md}} GH_AW_PROMPT_1ebb1956aefdacd6_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index c56463cea2f..43ca17e73b1 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -267,6 +267,7 @@ jobs: {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/go-fan.md}} GH_AW_PROMPT_19a41fc64857dca9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index beb6f2bd739..0d4366abc21 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -234,6 +234,7 @@ jobs: cat << 'GH_AW_PROMPT_77a0216ea2594c57_EOF' {{#runtime-import .github/workflows/shared/go-make.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/go-logger.md}} GH_AW_PROMPT_77a0216ea2594c57_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index 1e18d3cb840..eb05ff281f0 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -230,6 +230,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/ast-grep.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/go-pattern-detector.md}} GH_AW_PROMPT_73a72f4f7b26569a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/gpclean.lock.yml b/.github/workflows/gpclean.lock.yml index c6efa48e237..704f0a3753d 100644 --- a/.github/workflows/gpclean.lock.yml +++ b/.github/workflows/gpclean.lock.yml @@ -229,6 +229,7 @@ jobs: cat << 'GH_AW_PROMPT_3539b4e36a3a8122_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/gpclean.md}} GH_AW_PROMPT_3539b4e36a3a8122_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index 5d1a91199bb..99100f787af 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -286,6 +286,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/pr-code-review-config.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/grumpy-reviewer.md}} GH_AW_PROMPT_ad52616df5af0074_EOF } > "$GH_AW_PROMPT" @@ -1323,18 +1324,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_25c512d1212ef215_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_afa61ddfdb00c364_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_25c512d1212ef215_EOF + GH_AW_MCP_CONFIG_afa61ddfdb00c364_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_2bd1284a143a926f_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_dbf28f71e85c9995_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1345,11 +1346,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_2bd1284a143a926f_EOF + GH_AW_MCP_CONFIG_dbf28f71e85c9995_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_dfc1313a4964ffae_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_aa62e61e43e48c80_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1359,7 +1360,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_dfc1313a4964ffae_EOF + GH_AW_CODEX_SHELL_POLICY_aa62e61e43e48c80_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index c40d3acb406..61e30ca9a42 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -230,6 +230,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_c0186d18c0b00544_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/instructions-janitor.md}} GH_AW_PROMPT_c0186d18c0b00544_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index a0cebedaf68..5d4769b010d 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -232,6 +232,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/issue-arborist.md}} GH_AW_PROMPT_651f2933f2413725_EOF } > "$GH_AW_PROMPT" @@ -1302,18 +1303,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_d53aa27ebe5905f7_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_f2dae06f1641d7ae_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_d53aa27ebe5905f7_EOF + GH_AW_MCP_CONFIG_f2dae06f1641d7ae_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_36ef1df3aa5a1da9_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_8ea3c80c594e724e_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1324,11 +1325,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_36ef1df3aa5a1da9_EOF + GH_AW_MCP_CONFIG_8ea3c80c594e724e_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_727a5a52c1cdbc23_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_b8657c2aaf76b22a_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1338,7 +1339,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_727a5a52c1cdbc23_EOF + GH_AW_CODEX_SHELL_POLICY_b8657c2aaf76b22a_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml index a9ee09e208e..bc39f23cf42 100644 --- a/.github/workflows/issue-triage-agent.lock.yml +++ b/.github/workflows/issue-triage-agent.lock.yml @@ -227,6 +227,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/issue-triage-agent.md}} GH_AW_PROMPT_795a55165b072bee_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml index 789f9715f04..480f22e892a 100644 --- a/.github/workflows/jsweep.lock.yml +++ b/.github/workflows/jsweep.lock.yml @@ -264,6 +264,7 @@ jobs: 4. **Focus on the relevant language files** — ignore unrelated file types + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/jsweep.md}} GH_AW_PROMPT_37c6c49ed0d6231b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml index e2b9f9c49d6..2220ebd1520 100644 --- a/.github/workflows/layout-spec-maintainer.lock.yml +++ b/.github/workflows/layout-spec-maintainer.lock.yml @@ -230,6 +230,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_819ee347c180cf26_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/layout-spec-maintainer.md}} GH_AW_PROMPT_819ee347c180cf26_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index a355199fbbc..a76cf10b5d3 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -242,6 +242,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/lockfile-stats.md}} GH_AW_PROMPT_4b362260efbc70c1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index 4b18776875d..1eb462147ce 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -332,6 +332,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/mcp-inspector.md}} GH_AW_PROMPT_d236564be067cfbb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index b2351b364d2..4e9f5456639 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -273,6 +273,7 @@ jobs: fi cat << 'GH_AW_PROMPT_3aa6d40bc3aef6fa_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/mergefest.md}} GH_AW_PROMPT_3aa6d40bc3aef6fa_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml index d00d4e655f0..e4d1bb7bbb6 100644 --- a/.github/workflows/org-health-report.lock.yml +++ b/.github/workflows/org-health-report.lock.yml @@ -238,6 +238,7 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/org-health-report.md}} GH_AW_PROMPT_a30e0b763bcfae81_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index 352ed302fe9..cbb25d6dbc0 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -301,6 +301,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/markitdown.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/pdf-summary.md}} GH_AW_PROMPT_8712f50012beb379_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index 4380c9e955c..9276cb46066 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -272,6 +272,7 @@ jobs: fi cat << 'GH_AW_PROMPT_ac66b018d7cabc75_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/plan.md}} GH_AW_PROMPT_ac66b018d7cabc75_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index 4c4f55d8d66..aa8c0307aaf 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -298,6 +298,7 @@ jobs: cat << 'GH_AW_PROMPT_b408d9dacab7d48a_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/poem-bot.md}} GH_AW_PROMPT_b408d9dacab7d48a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index 2cc06e0083c..105133dadc5 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -281,6 +281,7 @@ jobs: {{#runtime-import .github/workflows/shared/pr-code-review-config.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/pr-nitpick-reviewer.md}} GH_AW_PROMPT_729f0063803645f2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/pr-triage-agent.lock.yml b/.github/workflows/pr-triage-agent.lock.yml index f3d8b04b1df..27436e9c41a 100644 --- a/.github/workflows/pr-triage-agent.lock.yml +++ b/.github/workflows/pr-triage-agent.lock.yml @@ -228,6 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_8ebf52024abd9f0d_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/pr-triage-agent.md}} GH_AW_PROMPT_8ebf52024abd9f0d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index aeabae3b00e..ec2e95a4526 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -261,6 +261,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/prompt-clustering-analysis.md}} GH_AW_PROMPT_77b2b9151ea273b8_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index 5be1c5616e5..c155a704b89 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -237,6 +237,7 @@ jobs: {{#runtime-import .github/workflows/shared/charts-with-trending.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/trends.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/python-data-charts.md}} GH_AW_PROMPT_81a8e50872c6de0c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 01eb6d8b21c..02fa9cc3e81 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -344,6 +344,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/q.md}} GH_AW_PROMPT_934714ba3ce57678_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/refiner.lock.yml b/.github/workflows/refiner.lock.yml index 20eb38b6e94..5f74acab5fd 100644 --- a/.github/workflows/refiner.lock.yml +++ b/.github/workflows/refiner.lock.yml @@ -258,6 +258,7 @@ jobs: cat << 'GH_AW_PROMPT_b2ecb563e59aed87_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/refiner.md}} GH_AW_PROMPT_b2ecb563e59aed87_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml index 0905764c937..c65a34b810c 100644 --- a/.github/workflows/release.lock.yml +++ b/.github/workflows/release.lock.yml @@ -243,6 +243,7 @@ jobs: cat << 'GH_AW_PROMPT_9d3037e902ef557d_EOF' {{#runtime-import .github/workflows/shared/community-attribution.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/release.md}} GH_AW_PROMPT_9d3037e902ef557d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/repo-audit-analyzer.lock.yml b/.github/workflows/repo-audit-analyzer.lock.yml index 676c9798513..12d849c8ec5 100644 --- a/.github/workflows/repo-audit-analyzer.lock.yml +++ b/.github/workflows/repo-audit-analyzer.lock.yml @@ -245,6 +245,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/repo-audit-analyzer.md}} GH_AW_PROMPT_e2a11b8b3e77a51e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index 0f5cdaaa83f..aa2121a5f6b 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -226,6 +226,7 @@ jobs: cat << 'GH_AW_PROMPT_a3f0243bf131b259_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/repo-tree-map.md}} GH_AW_PROMPT_a3f0243bf131b259_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index 75a392261cc..fb206ebe9ef 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -277,6 +277,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/repository-quality-improver.md}} GH_AW_PROMPT_11bfae9d4ef7c982_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index 90dc2ce59a1..f625fa6e1df 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -231,6 +231,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/tavily.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/research.md}} GH_AW_PROMPT_d511eead07c6229d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index 2d4c9036016..cce2d118ddb 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -247,6 +247,7 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/safe-output-health.md}} GH_AW_PROMPT_4b0b7f84e0fb41f7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index afbb409e024..771865f4c38 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -238,6 +238,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/schema-consistency-checker.md}} GH_AW_PROMPT_7a368a1c473b9485_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index ce09438828d..5e997d81ba7 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -335,6 +335,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/deepwiki.md}} {{#runtime-import .github/workflows/shared/mcp/markitdown.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/scout.md}} GH_AW_PROMPT_8272fdeb55a2370c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/security-compliance.lock.yml b/.github/workflows/security-compliance.lock.yml index 5a20438811c..9b38f442d11 100644 --- a/.github/workflows/security-compliance.lock.yml +++ b/.github/workflows/security-compliance.lock.yml @@ -233,6 +233,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_e182ce1782081fe9_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/security-compliance.md}} GH_AW_PROMPT_e182ce1782081fe9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/security-review.lock.yml b/.github/workflows/security-review.lock.yml index a9836634fb9..d9df812e5c5 100644 --- a/.github/workflows/security-review.lock.yml +++ b/.github/workflows/security-review.lock.yml @@ -278,6 +278,7 @@ jobs: {{#runtime-import .github/workflows/shared/security-analysis-base.md}} {{#runtime-import .github/workflows/shared/pr-code-review-config.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/security-review.md}} GH_AW_PROMPT_4d4bf9c50cbc9393_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index 63278f94b29..8b5b66e0dc2 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -260,6 +260,7 @@ jobs: {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/semantic-function-refactor.md}} GH_AW_PROMPT_63264fecff0f6f38_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/sergo.lock.yml b/.github/workflows/sergo.lock.yml index 051d48d99f7..f7a0ff9a475 100644 --- a/.github/workflows/sergo.lock.yml +++ b/.github/workflows/sergo.lock.yml @@ -274,6 +274,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/sergo.md}} GH_AW_PROMPT_1e0b415d301765de_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index 90157054a3a..ca413d00ca1 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -575,6 +575,12 @@ jobs: 2. **Skip test files** — Never analyze files ending in `_test.go` 3. **Focus on `pkg/` directory** — Primary analysis area 4. **Use Serena for semantic analysis** — Leverage LSP capabilities for deeper insights + **Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures. + + ```json + {"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}} + ``` + # Smoke Test: Claude Engine Validation. **IMPORTANT: Keep all outputs extremely short and concise. Use single-line responses where possible. No verbose explanations.** diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index 5c8c1f70cec..5bbd9fcbe77 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -340,6 +340,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-codex.md}} GH_AW_PROMPT_928d68ef3e3a244b_EOF } > "$GH_AW_PROMPT" @@ -1762,18 +1763,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_d51129f50258a9ce_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_323f638681793e0a_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_d51129f50258a9ce_EOF + GH_AW_MCP_CONFIG_323f638681793e0a_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_738764a67943cfb7_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_225f867b3f080db1_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1784,11 +1785,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_738764a67943cfb7_EOF + GH_AW_MCP_CONFIG_225f867b3f080db1_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_fe86f8648f17b1d8_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_2343c47ccd49c888_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1798,7 +1799,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_fe86f8648f17b1d8_EOF + GH_AW_CODEX_SHELL_POLICY_2343c47ccd49c888_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/smoke-copilot-arm.lock.yml b/.github/workflows/smoke-copilot-arm.lock.yml index 00398bd5891..07aa9457b4e 100644 --- a/.github/workflows/smoke-copilot-arm.lock.yml +++ b/.github/workflows/smoke-copilot-arm.lock.yml @@ -339,6 +339,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-copilot-arm.md}} GH_AW_PROMPT_4640b97b7e0f3af2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 23ea7d8ba9b..636879e9e4b 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -335,6 +335,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-copilot.md}} GH_AW_PROMPT_0417eca0b5a55059_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-crush.lock.yml b/.github/workflows/smoke-crush.lock.yml index 7ed96ec9aa5..02a20b5182a 100644 --- a/.github/workflows/smoke-crush.lock.yml +++ b/.github/workflows/smoke-crush.lock.yml @@ -276,6 +276,7 @@ jobs: {{#runtime-import .github/workflows/shared/gh.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-crush.md}} GH_AW_PROMPT_b4fa4429d3aa72ae_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-gemini.lock.yml b/.github/workflows/smoke-gemini.lock.yml index d94935874b4..71d9f32e4c4 100644 --- a/.github/workflows/smoke-gemini.lock.yml +++ b/.github/workflows/smoke-gemini.lock.yml @@ -293,6 +293,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-gemini.md}} GH_AW_PROMPT_46b9e9e2ca0cb2d1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-multi-pr.lock.yml b/.github/workflows/smoke-multi-pr.lock.yml index 6d163172bb4..a68d254ea90 100644 --- a/.github/workflows/smoke-multi-pr.lock.yml +++ b/.github/workflows/smoke-multi-pr.lock.yml @@ -290,6 +290,7 @@ jobs: cat << 'GH_AW_PROMPT_ab50dacb1e41d3cd_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-multi-pr.md}} GH_AW_PROMPT_ab50dacb1e41d3cd_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-opencode.lock.yml b/.github/workflows/smoke-opencode.lock.yml index 193dd08e73d..1864ae30bdf 100644 --- a/.github/workflows/smoke-opencode.lock.yml +++ b/.github/workflows/smoke-opencode.lock.yml @@ -290,6 +290,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-opencode.md}} GH_AW_PROMPT_ce2042b8038d4875_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml index f8ad6285747..cd731557fb1 100644 --- a/.github/workflows/smoke-project.lock.yml +++ b/.github/workflows/smoke-project.lock.yml @@ -288,6 +288,7 @@ jobs: cat << 'GH_AW_PROMPT_58453f345124cba3_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-project.md}} GH_AW_PROMPT_58453f345124cba3_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-temporary-id.lock.yml b/.github/workflows/smoke-temporary-id.lock.yml index e2eaa2c0405..fe914226788 100644 --- a/.github/workflows/smoke-temporary-id.lock.yml +++ b/.github/workflows/smoke-temporary-id.lock.yml @@ -286,6 +286,7 @@ jobs: cat << 'GH_AW_PROMPT_0b94011467fa3229_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-temporary-id.md}} GH_AW_PROMPT_0b94011467fa3229_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-test-tools.lock.yml b/.github/workflows/smoke-test-tools.lock.yml index 817cb862503..bad42c5d6ea 100644 --- a/.github/workflows/smoke-test-tools.lock.yml +++ b/.github/workflows/smoke-test-tools.lock.yml @@ -273,6 +273,7 @@ jobs: cat << 'GH_AW_PROMPT_0289aca023ea6d07_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-test-tools.md}} GH_AW_PROMPT_0289aca023ea6d07_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-workflow-call.lock.yml b/.github/workflows/smoke-workflow-call.lock.yml index 239f47f7eee..d284084083e 100644 --- a/.github/workflows/smoke-workflow-call.lock.yml +++ b/.github/workflows/smoke-workflow-call.lock.yml @@ -276,6 +276,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_022421748a24fe95_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-workflow-call.md}} GH_AW_PROMPT_022421748a24fe95_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/spec-enforcer.lock.yml b/.github/workflows/spec-enforcer.lock.yml index 553c85236e0..6f6610e6324 100644 --- a/.github/workflows/spec-enforcer.lock.yml +++ b/.github/workflows/spec-enforcer.lock.yml @@ -230,6 +230,7 @@ jobs: cat << 'GH_AW_PROMPT_c74a170bf37c0660_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/spec-enforcer.md}} GH_AW_PROMPT_c74a170bf37c0660_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/spec-extractor.lock.yml b/.github/workflows/spec-extractor.lock.yml index 352d2038404..7deac836957 100644 --- a/.github/workflows/spec-extractor.lock.yml +++ b/.github/workflows/spec-extractor.lock.yml @@ -263,6 +263,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/spec-extractor.md}} GH_AW_PROMPT_ae74e8819348589b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/spec-librarian.lock.yml b/.github/workflows/spec-librarian.lock.yml index 7049fb00b08..6ec830e7934 100644 --- a/.github/workflows/spec-librarian.lock.yml +++ b/.github/workflows/spec-librarian.lock.yml @@ -258,6 +258,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/spec-librarian.md}} GH_AW_PROMPT_2c4d45d7f39bcff2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml index fd1fba554dd..6a443a53012 100644 --- a/.github/workflows/stale-repo-identifier.lock.yml +++ b/.github/workflows/stale-repo-identifier.lock.yml @@ -259,6 +259,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/stale-repo-identifier.md}} GH_AW_PROMPT_e60571291c112fc7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index 68db82ec516..e595cb52c65 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -234,6 +234,7 @@ jobs: cat << 'GH_AW_PROMPT_de300e960869964c_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/static-analysis-report.md}} GH_AW_PROMPT_de300e960869964c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/step-name-alignment.lock.yml b/.github/workflows/step-name-alignment.lock.yml index 54459ddda06..26b8d0111a8 100644 --- a/.github/workflows/step-name-alignment.lock.yml +++ b/.github/workflows/step-name-alignment.lock.yml @@ -223,6 +223,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_651666ff422bb502_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/step-name-alignment.md}} GH_AW_PROMPT_651666ff422bb502_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/sub-issue-closer.lock.yml b/.github/workflows/sub-issue-closer.lock.yml index 05ddda75a22..b1000d49602 100644 --- a/.github/workflows/sub-issue-closer.lock.yml +++ b/.github/workflows/sub-issue-closer.lock.yml @@ -220,6 +220,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_5ca5aaf91141261e_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/sub-issue-closer.md}} GH_AW_PROMPT_5ca5aaf91141261e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index 5a8aeced379..bd9c873413b 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -231,6 +231,7 @@ jobs: cat << 'GH_AW_PROMPT_bd05cc1868cbc217_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/super-linter.md}} GH_AW_PROMPT_bd05cc1868cbc217_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index 449f287b871..3ca7cf51b12 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -235,6 +235,7 @@ jobs: {{#runtime-import .github/skills/documentation/SKILL.md}} {{#runtime-import .github/agents/technical-doc-writer.agent.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/technical-doc-writer.md}} GH_AW_PROMPT_8051d9fb3ffa08e7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/terminal-stylist.lock.yml b/.github/workflows/terminal-stylist.lock.yml index ee7effb62c2..e89dce4e874 100644 --- a/.github/workflows/terminal-stylist.lock.yml +++ b/.github/workflows/terminal-stylist.lock.yml @@ -271,6 +271,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/terminal-stylist.md}} GH_AW_PROMPT_622a0a32a37a95cc_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/test-create-pr-error-handling.lock.yml b/.github/workflows/test-create-pr-error-handling.lock.yml index 60d72f1a4c5..469a6e98f9e 100644 --- a/.github/workflows/test-create-pr-error-handling.lock.yml +++ b/.github/workflows/test-create-pr-error-handling.lock.yml @@ -227,6 +227,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_c3faddc9f47dc4b5_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/test-create-pr-error-handling.md}} GH_AW_PROMPT_c3faddc9f47dc4b5_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/test-dispatcher.lock.yml b/.github/workflows/test-dispatcher.lock.yml index 5f0998da023..595dc10824d 100644 --- a/.github/workflows/test-dispatcher.lock.yml +++ b/.github/workflows/test-dispatcher.lock.yml @@ -216,6 +216,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_639e483721a07aa6_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/test-dispatcher.md}} GH_AW_PROMPT_639e483721a07aa6_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/test-project-url-default.lock.yml b/.github/workflows/test-project-url-default.lock.yml index 380f88befb9..fb8c3b425b5 100644 --- a/.github/workflows/test-project-url-default.lock.yml +++ b/.github/workflows/test-project-url-default.lock.yml @@ -217,6 +217,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_115a32ce3f02db9a_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/test-project-url-default.md}} GH_AW_PROMPT_115a32ce3f02db9a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index 1dd8f37d2dd..97a11f85bf6 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -291,6 +291,7 @@ jobs: fi cat << 'GH_AW_PROMPT_d35e31e70bc8be49_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/tidy.md}} GH_AW_PROMPT_d35e31e70bc8be49_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 7e370ce4e20..12aaa8d032b 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -274,6 +274,7 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/typist.md}} GH_AW_PROMPT_9755b1b2b7fb5b5d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/ubuntu-image-analyzer.lock.yml b/.github/workflows/ubuntu-image-analyzer.lock.yml index c8182c014a4..ec21effc4bc 100644 --- a/.github/workflows/ubuntu-image-analyzer.lock.yml +++ b/.github/workflows/ubuntu-image-analyzer.lock.yml @@ -231,6 +231,7 @@ jobs: cat << 'GH_AW_PROMPT_37168e83c534310c_EOF' {{#runtime-import .github/workflows/shared/activation-app.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/ubuntu-image-analyzer.md}} GH_AW_PROMPT_37168e83c534310c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index a6d24fa3d72..a31862e711b 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -286,6 +286,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/docs-server-lifecycle.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/unbloat-docs.md}} GH_AW_PROMPT_9f2c437ff49b0ea9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index 62c18ff079e..6632bdddaf6 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -225,6 +225,7 @@ jobs: cat << 'GH_AW_PROMPT_5e55eb320375d33b_EOF' {{#runtime-import .github/workflows/shared/ffmpeg.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/video-analyzer.md}} GH_AW_PROMPT_5e55eb320375d33b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/weekly-editors-health-check.lock.yml b/.github/workflows/weekly-editors-health-check.lock.yml index a53ea4bd74c..6375e8fb74a 100644 --- a/.github/workflows/weekly-editors-health-check.lock.yml +++ b/.github/workflows/weekly-editors-health-check.lock.yml @@ -231,6 +231,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_bf1cf1bdac3567da_EOF' + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/weekly-editors-health-check.md}} GH_AW_PROMPT_bf1cf1bdac3567da_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index a52b9b42749..97321b323b6 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -248,6 +248,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/weekly-issue-summary.md}} GH_AW_PROMPT_508326a69dd2f474_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml index a01e09b00e6..6ce5125865f 100644 --- a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml +++ b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml @@ -227,6 +227,7 @@ jobs: cat << 'GH_AW_PROMPT_dd5ce0f0ce7b0ccb_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/weekly-safe-outputs-spec-review.md}} GH_AW_PROMPT_dd5ce0f0ce7b0ccb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml index 409a8111492..55f9e3d330d 100644 --- a/.github/workflows/workflow-generator.lock.yml +++ b/.github/workflows/workflow-generator.lock.yml @@ -263,6 +263,7 @@ jobs: cat << 'GH_AW_PROMPT_58bb20f44e85297e_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/workflow-generator.md}} GH_AW_PROMPT_58bb20f44e85297e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml index e65306f7b9e..84358addb3d 100644 --- a/.github/workflows/workflow-health-manager.lock.yml +++ b/.github/workflows/workflow-health-manager.lock.yml @@ -228,6 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_d022aa0b1fb5b046_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/workflow-health-manager.md}} GH_AW_PROMPT_d022aa0b1fb5b046_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-normalizer.lock.yml b/.github/workflows/workflow-normalizer.lock.yml index 8aa2e84c6eb..406e50146a5 100644 --- a/.github/workflows/workflow-normalizer.lock.yml +++ b/.github/workflows/workflow-normalizer.lock.yml @@ -227,6 +227,7 @@ jobs: cat << 'GH_AW_PROMPT_476e26a6aca6d1d8_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/workflow-normalizer.md}} GH_AW_PROMPT_476e26a6aca6d1d8_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-skill-extractor.lock.yml b/.github/workflows/workflow-skill-extractor.lock.yml index 84757d5a274..e3f967f5e1d 100644 --- a/.github/workflows/workflow-skill-extractor.lock.yml +++ b/.github/workflows/workflow-skill-extractor.lock.yml @@ -226,6 +226,7 @@ jobs: cat << 'GH_AW_PROMPT_8c82d58ee03bac04_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/workflow-skill-extractor.md}} GH_AW_PROMPT_8c82d58ee03bac04_EOF } > "$GH_AW_PROMPT" diff --git a/pkg/parser/include_expander.go b/pkg/parser/include_expander.go index 9282a726dbd..7f36b57c3ce 100644 --- a/pkg/parser/include_expander.go +++ b/pkg/parser/include_expander.go @@ -114,7 +114,60 @@ func findGitHubRepoRoot(dir string) string { } } -// ExpandIncludesForEngines recursively expands @include and @import directives to extract engine configurations +// BodyLevelImport represents a single {{#import:}} directive found in a markdown body, +// with the path resolved to be workspace-root-relative (suitable for {{#runtime-import}} macros). +type BodyLevelImport struct { + Path string // workspace-root-relative path for the {{#runtime-import}} macro + Optional bool // true when the original directive used the ? form +} + +// ExtractBodyLevelImportPaths scans the markdown body (content is the body after frontmatter +// has been stripped) for {{#import:}} directives and returns them as BodyLevelImport entries +// whose Path fields are ready to use in {{#runtime-import}} macros. +// +// Relative paths (e.g. "shared/tools.md") are converted to workspace-root-relative form +// (e.g. ".github/workflows/shared/tools.md") using baseDir and the repo root. +// Paths that already start with ".github/" are kept as-is. +// Legacy @include / @import directives are ignored (they are handled separately). +func ExtractBodyLevelImportPaths(content, baseDir string) []BodyLevelImport { + repoRoot := findGitHubRepoRoot(baseDir) + + var results []BodyLevelImport + scanner := bufio.NewScanner(strings.NewReader(content)) + for scanner.Scan() { + line := scanner.Text() + directive := ParseImportDirective(line) + if directive == nil || directive.IsLegacy { + continue + } + + importPath := directive.Path + // Strip section reference (e.g. "file.md#Section" → "file.md") + if idx := strings.Index(importPath, "#"); idx >= 0 { + importPath = importPath[:idx] + } + importPath = strings.TrimSpace(importPath) + + // Convert relative paths to workspace-root-relative. + // Paths already starting with ".github/" are workspace-root-relative. + // Absolute "/" paths are also used as-is. + if !strings.HasPrefix(importPath, ".github/") && !strings.HasPrefix(importPath, "/") { + if repoRoot != "" { + fullPath := filepath.Join(baseDir, importPath) + if rel, err := filepath.Rel(repoRoot, fullPath); err == nil && !strings.HasPrefix(rel, "..") { + importPath = rel + } + } + } + + results = append(results, BodyLevelImport{ + Path: filepath.ToSlash(importPath), + Optional: directive.IsOptional, + }) + } + return results +} + func ExpandIncludesForEngines(content, baseDir string) ([]string, error) { includeExpanderLog.Printf("Expanding includes for engines: baseDir=%s", baseDir) return expandIncludesForField(content, baseDir, func(c string) (string, error) { diff --git a/pkg/workflow/compiler_orchestrator_tools.go b/pkg/workflow/compiler_orchestrator_tools.go index 81bcd1f86da..68cf3f233d4 100644 --- a/pkg/workflow/compiler_orchestrator_tools.go +++ b/pkg/workflow/compiler_orchestrator_tools.go @@ -240,6 +240,19 @@ func (c *Compiler) processToolsAndMarkdown(result *parser.FrontmatterResult, cle orchestratorToolsLog.Printf("Found %d import paths for runtime-import macros", len(importPaths)) } + // Extract body-level {{#import:}} directives and append them to importPaths so they + // appear as explicit {{#runtime-import}} macros in the compiled lock file (before the + // main workflow-file macro). At runtime, runtime_import.cjs deduplicates via an + // importedFiles Set, so files imported here won't be imported a second time when + // the main workflow file body is processed. + bodyImports := parser.ExtractBodyLevelImportPaths(result.Markdown, markdownDir) + if len(bodyImports) > 0 { + orchestratorToolsLog.Printf("Found %d body-level import directive(s) to promote to runtime-import macros", len(bodyImports)) + for _, bi := range bodyImports { + importPaths = append(importPaths, bi.Path) + } + } + // Handle imported markdown from frontmatter imports field // Only imports WITH inputs will have markdown content (for compile-time substitution) var importedMarkdown string diff --git a/pkg/workflow/manifest_test.go b/pkg/workflow/manifest_test.go index 1ee0859d0b1..2f3474e6b6d 100644 --- a/pkg/workflow/manifest_test.go +++ b/pkg/workflow/manifest_test.go @@ -395,3 +395,85 @@ func extractLockFileHeader(content string) string { } return strings.Join(lines, "\n") } + +// TestBodyLevelImportPromotedToRuntimeImport verifies that a body-level {{#import:}} directive +// generates an explicit {{#runtime-import}} macro in the compiled lock-file prompt, +// making the imported content visible without having to chase the workflow file at runtime. +func TestBodyLevelImportPromotedToRuntimeImport(t *testing.T) { + tmpDir := testutil.TempDir(t, "body-import-test") + + // Create .github/workflows/ and .github/shared/ structure + workflowsDir := filepath.Join(tmpDir, ".github", "workflows") + sharedDir := filepath.Join(tmpDir, ".github", "shared") + if err := os.MkdirAll(workflowsDir, 0755); err != nil { + t.Fatal(err) + } + if err := os.MkdirAll(sharedDir, 0755); err != nil { + t.Fatal(err) + } + + // Create the shared editorial file + editorialFile := filepath.Join(sharedDir, "editorial.md") + if err := os.WriteFile(editorialFile, []byte("## Writing Style\n\nNewspaper editorial tone.\n"), 0644); err != nil { + t.Fatal(err) + } + + // Workflow has a body-level {{#import:}} directive + workflowContent := `--- +on: + schedule: + - cron: "0 9 * * *" +permissions: + contents: read + issues: read +engine: copilot +safe-outputs: + create-issue: {} +--- + +{{#import: .github/shared/editorial.md}} + +# Daily Report + +Generate the daily report.` + + compiler := NewCompiler() + testFile := filepath.Join(workflowsDir, "daily-report.md") + if err := os.WriteFile(testFile, []byte(workflowContent), 0644); err != nil { + t.Fatal(err) + } + + if err := compiler.CompileWorkflow(testFile); err != nil { + t.Fatalf("Unexpected error compiling workflow: %v", err) + } + + lockFile := stringutil.MarkdownToLockFile(testFile) + content, err := os.ReadFile(lockFile) + if err != nil { + t.Fatalf("Failed to read generated lock file: %v", err) + } + + lockContent := string(content) + + // The compiled prompt must contain an explicit {{#runtime-import .github/shared/editorial.md}} + // BEFORE the {{#runtime-import ...daily-report.md}} line so that the editorial content + // is visible in the lock file and imported before the main workflow body is processed. + expectedEditorialMacro := "{{#runtime-import .github/shared/editorial.md}}" + if !strings.Contains(lockContent, expectedEditorialMacro) { + t.Errorf("Expected %q in compiled lock file prompt, but not found.\nContent excerpt:\n%s", + expectedEditorialMacro, extractLockFileHeader(lockContent)) + } + + // The main workflow file must still be imported after the editorial import + expectedMainMacro := "{{#runtime-import .github/workflows/daily-report.md}}" + if !strings.Contains(lockContent, expectedMainMacro) { + t.Errorf("Expected %q in compiled lock file prompt, but not found", expectedMainMacro) + } + + // editorial macro must come before the main workflow macro + editorialIdx := strings.Index(lockContent, expectedEditorialMacro) + mainIdx := strings.Index(lockContent, expectedMainMacro) + if editorialIdx >= mainIdx { + t.Errorf("Expected editorial import (%d) to appear before main workflow import (%d)", editorialIdx, mainIdx) + } +} From de43ca578fde7aed062dea908fd0a04e39b22fcf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 25 Apr 2026 01:09:22 +0000 Subject: [PATCH 08/12] docs: document body-level {{#import}} directive syntax and behavior in imports reference Agent-Logs-Url: https://github.com/github/gh-aw/sessions/bf7d018a-567c-4c22-bded-12bf26d3de44 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/reference/imports.md | 36 ++++++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/docs/src/content/docs/reference/imports.md b/docs/src/content/docs/reference/imports.md index c02d6c7379a..5f70764c3eb 100644 --- a/docs/src/content/docs/reference/imports.md +++ b/docs/src/content/docs/reference/imports.md @@ -51,20 +51,33 @@ An imported workflow can only be imported once per workflow. New 'with': {"languages":["typescript"]} ``` -In markdown, use the special `{{#import ...}}` directive: +In markdown, use the `{{#import ...}}` directive to inject the content of another file directly into the body at that position. This is useful for sharing reusable prompt snippets, tone instructions, or reference material across workflows. ```aw wrap --- -... +on: schedule +engine: copilot --- -# Your Workflow +{{#import: .github/shared/editorial.md}} -Workflow instructions here... +# Daily Report + +Generate the daily report. +``` + +The colon after `#import` is optional — `{{#import: filepath}}` and `{{#import filepath}}` are equivalent. Use `{{#import?: filepath}}` to silently skip a missing file instead of failing: -{{#import shared/common-tools.md}} +```aw wrap +{{#import: .github/shared/editorial.md}} # required — fails if missing +{{#import?: .github/shared/optional.md}} # optional — skipped if missing ``` +Paths starting with `.github/` are resolved from the repository root, making them suitable for shared files used by workflows in different directories. + +> [!NOTE] +> Body-level `{{#import}}` injects **content** (markdown text) at the insertion point. It does not merge frontmatter configuration. To share tools, permissions, or MCP servers across workflows, use the `imports:` frontmatter field instead. + ## Shared Workflow Components Files without an `on` field are shared workflow components — validated but not compiled into GitHub Actions, only imported by other workflows. The compiler skips them with an informative message. @@ -251,7 +264,18 @@ imports: - shared/tools.md#WebSearch ``` -Use the `{{#import? ...}}` syntax to mark an import as optional, which skips missing files silently instead of failing compilation. +Use `?` after `import` to mark an import as optional — missing files are skipped silently instead of failing compilation. This applies to both frontmatter imports and body-level directives: + +```yaml +# Frontmatter — optional +imports: + - shared/optional-tools.md? +``` + +```aw wrap +# Body — optional content injection +{{#import?: .github/shared/optional.md}} +``` ## Remote Repository Imports From 90e02c23c60aa17dc790e5fd931e3bb6753d2f5d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 25 Apr 2026 01:19:59 +0000 Subject: [PATCH 09/12] docs: compare {{#import}} and {{#runtime-import}}, fix incorrect no-recursion limitation Agent-Logs-Url: https://github.com/github/gh-aw/sessions/8ed078fd-f77f-4893-9be9-f4f919413189 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/reference/imports.md | 2 ++ docs/src/content/docs/reference/templating.md | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/src/content/docs/reference/imports.md b/docs/src/content/docs/reference/imports.md index 5f70764c3eb..c45f86291c2 100644 --- a/docs/src/content/docs/reference/imports.md +++ b/docs/src/content/docs/reference/imports.md @@ -78,6 +78,8 @@ Paths starting with `.github/` are resolved from the repository root, making the > [!NOTE] > Body-level `{{#import}}` injects **content** (markdown text) at the insertion point. It does not merge frontmatter configuration. To share tools, permissions, or MCP servers across workflows, use the `imports:` frontmatter field instead. +`{{#import filepath}}` is a shorthand that normalizes to `{{#runtime-import filepath}}` at runtime. Use `{{#runtime-import}}` directly when you need its advanced features: **URLs** (`{{#runtime-import https://...}}`), **line ranges** (`{{#runtime-import src/main.go:10-20}}`), or files without the `.github/` prefix. See [Runtime Imports](/gh-aw/reference/templating/#runtime-imports) for the full syntax. + ## Shared Workflow Components Files without an `on` field are shared workflow components — validated but not compiled into GitHub Actions, only imported by other workflows. The compiler skips them with an informative message. diff --git a/docs/src/content/docs/reference/templating.md b/docs/src/content/docs/reference/templating.md index cfb9b2fbfcd..c600804590d 100644 --- a/docs/src/content/docs/reference/templating.md +++ b/docs/src/content/docs/reference/templating.md @@ -182,10 +182,13 @@ Runtime imports are processed before other substitutions: - **`.github` folder only:** File paths are restricted to `.github` folder for security - **No authentication:** URL fetching doesn't support private URLs with tokens -- **No recursion:** Imported content cannot contain additional runtime imports - **Per-run cache:** URL cache doesn't persist across workflow runs - **Line numbers:** Refer to raw file content before front matter removal +### Relationship to `{{#import}}` + +`{{#import filepath}}` (without `runtime-`) is a simpler body-level shorthand that normalizes to `{{#runtime-import filepath}}` at runtime. It supports local files only and accepts the optional colon form (`{{#import: filepath}}`), but does not support URLs, line ranges, or the auto `.github/` prefix. Use it when you only need to inject a local file's content; use `{{#runtime-import}}` directly for URLs or line-range extraction. See [Imports](/gh-aw/reference/imports/) for details. + ### Error Handling | Error | Message | From b048a8bd76c8b67a84cd19869519e2483d905a40 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Apr 2026 02:09:13 +0000 Subject: [PATCH 10/12] docs(adr): add draft ADR-28366 for two-phase body-level import resolution Generated by the Design Decision Gate workflow to document the architectural decision for promoting {{#import}} directives to runtime-import macros at both compile time (Go) and runtime (JS). --- ...olution-of-body-level-import-directives.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 docs/adr/28366-two-phase-resolution-of-body-level-import-directives.md diff --git a/docs/adr/28366-two-phase-resolution-of-body-level-import-directives.md b/docs/adr/28366-two-phase-resolution-of-body-level-import-directives.md new file mode 100644 index 00000000000..fc238ac6827 --- /dev/null +++ b/docs/adr/28366-two-phase-resolution-of-body-level-import-directives.md @@ -0,0 +1,78 @@ +# ADR-28366: Two-Phase Resolution of Body-Level `{{#import}}` Directives + +**Date**: 2026-04-25 +**Status**: Draft +**Deciders**: Unknown (copilot-swe-agent, pelikhan) + +--- + +## Part 1 — Narrative (Human-Friendly) + +### Context + +Workflow markdown files support two ways to pull in shared content: frontmatter `imports:` entries (resolved at compile time) and inline `{{#import filepath}}` / `{{#runtime-import filepath}}` directives (resolved at runtime by `runtime_import.cjs`). Until this change, `{{#import}}` directives placed directly in the workflow *body* (rather than in frontmatter) were silently ignored at runtime — the agent received the raw macro string instead of the imported file's content. Additionally, the compiled lock file gave no visibility into which sibling-directory files (e.g. `.github/shared/editorial.md`) would be pulled in at runtime, making lock-file integrity checks incomplete. + +### Decision + +We will resolve body-level `{{#import}}` directives via a two-phase approach. At **compile time**, the Go compiler (`pkg/workflow/compiler_orchestrator_tools.go`) scans the markdown body for `{{#import:}}` directives (the colon form) and promotes them to explicit `{{#runtime-import}}` macros in the compiled lock file, giving the lock file full visibility into the import graph before runtime. At **runtime**, `runtime_import.cjs` normalises all remaining `{{#import}}` variants (colon, no-colon, optional `?` forms) to `{{#runtime-import}}` at the start of `processRuntimeImports`, ensuring any directive that was not promoted at compile time is still resolved. A deduplication `Set` in `runtime_import.cjs` prevents double-importing when both phases have emitted the same macro. + +### Alternatives Considered + +#### Alternative 1: Compile-Time Inline Expansion Only + +Expand `{{#import}}` directives fully at compile time and inline the file content directly into the compiled prompt, matching the behaviour of frontmatter `imports:` entries that carry `inputs:`. This would eliminate the runtime dependency and make the compiled artefact self-contained. It was rejected because it creates a static snapshot of imported content that goes stale when the shared file is updated without recompiling the workflow — the runtime-import model exists precisely to get fresh shared-file content on every run. + +#### Alternative 2: Runtime Normalisation Only (No Compile-Time Promotion) + +Add the `{{#import}} → {{#runtime-import}}` normalisation solely inside `runtime_import.cjs` and leave the Go compiler unchanged. This is the simpler path and fixes the agent prompt bug. It was rejected because it leaves the lock file blind to body-level imports: the `Includes:` manifest header would not list `.github/shared/editorial.md`, so lock-file content-hash checks and dependency auditing tools would miss those files. + +### Consequences + +#### Positive +- Body-level `{{#import}}` directives (all four syntax variants: colon, no-colon, optional, optional-colon) are now correctly resolved and injected into the agent prompt at runtime. +- The compiled lock file's `Includes:` header now explicitly lists body-level imported files, enabling accurate lock-file integrity checks and dependency tracking. +- The `importedFiles` deduplication set in `runtime_import.cjs` prevents the same file being imported twice when both the compile-time promotion and the runtime normalisation emit the same macro. +- The repo-root-relative path helper (`findGitHubRepoRoot`) ensures that files in sibling `.github/` subdirectories are recorded with clean paths (e.g. `.github/shared/editorial.md`) rather than absolute system paths. + +#### Negative +- Two separate codepaths now handle `{{#import}}`: compile-time promotion in Go (`ExtractBodyLevelImportPaths`) and runtime normalisation in JavaScript (`processRuntimeImports`). Keeping these in sync when the directive syntax evolves requires changes in both languages. +- The compile-time phase only promotes the `{{#import:}}` colon form (as used by `ParseImportDirective`). The no-colon `{{#import filepath}}` form is handled only at runtime, creating a syntax asymmetry that is not immediately obvious to workflow authors. +- Adding `ExtractBodyLevelImportPaths` introduces a second scan of the markdown body at compile time (the first scan is `ExpandIncludesWithManifest`), adding minor overhead for workflows with large bodies. + +#### Neutral +- All daily agentic workflow `.lock.yml` files are regenerated to include the new `{{#runtime-import .github/workflows/shared/noop-reminder.md}}` macro — this is a mechanical, non-semantic change to the compiled artefacts. +- The new `findGitHubRepoRoot` helper is a pure function with no side effects; it is already unit-tested via `TestManifestIncludePathRelativeToRepoRoot`. + +--- + +## Part 2 — Normative Specification (RFC 2119) + +> The key words **MUST**, **MUST NOT**, **REQUIRED**, **SHALL**, **SHALL NOT**, **SHOULD**, **SHOULD NOT**, **RECOMMENDED**, **MAY**, and **OPTIONAL** in this section are to be interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119). + +### Compile-Time Promotion + +1. The Go compiler **MUST** call `ExtractBodyLevelImportPaths` on the markdown body after frontmatter has been stripped and before generating the lock file's `{{#runtime-import}}` macro list. +2. Each path returned by `ExtractBodyLevelImportPaths` **MUST** be emitted as an explicit `{{#runtime-import }}` (or `{{#runtime-import? }}` for optional) macro in the compiled lock file, appearing before the main workflow-file macro. +3. `ExtractBodyLevelImportPaths` **MUST** convert relative paths to workspace-root-relative form (e.g. `.github/workflows/shared/tools.md`) using `findGitHubRepoRoot` before returning them. +4. `ExtractBodyLevelImportPaths` **MUST NOT** process legacy `@include` or `@import` directives; those are handled by `ExpandIncludesWithManifest`. +5. The `Includes:` manifest header in the lock file **MUST** list every file referenced by a body-level `{{#import:}}` directive using a repo-root-relative path, not an absolute system path. + +### Runtime Normalisation + +1. `processRuntimeImports` **MUST** normalise all `{{#import}}` directive variants (with and without colon separator, with and without `?` optional marker) to their `{{#runtime-import}}` equivalents before the main macro processing loop executes. +2. The normalisation regex **MUST** match `{{#import filepath}}`, `{{#import: filepath}}`, `{{#import? filepath}}`, and `{{#import?: filepath}}`, but **MUST NOT** match tokens such as `{{#importantthing}}` that lack a whitespace or colon separator after `import`. +3. `processRuntimeImports` **MUST** apply deduplication via an `importedFiles` Set so that a file promoted at compile time and also referenced via a body-level `{{#import}}` at runtime is imported exactly once. +4. Recursive calls to `processRuntimeImports` on imported file content **MUST** pass the same `importedFiles` Set and `importCache` Map to propagate deduplication state. + +### Path Resolution + +1. `findGitHubRepoRoot` **MUST** walk up the directory tree from `baseDir` until it finds a directory named `.github` and return its parent, or return an empty string if no `.github` ancestor is found. +2. When building the `Includes:` manifest, the compiler **MUST** prefer repo-root-relative paths over `baseDir`-relative paths for files located in sibling `.github/` subdirectories (e.g. `.github/shared/`), falling back to absolute paths only when neither relative form is computable without a `..` prefix. + +### Conformance + +An implementation is considered conformant with this ADR if it satisfies all **MUST** and **MUST NOT** requirements above. Failure to meet any **MUST** or **MUST NOT** requirement constitutes non-conformance. + +--- + +*This is a DRAFT ADR generated by the [Design Decision Gate](https://github.com/github/gh-aw/actions/runs/24919963187) workflow. The PR author must review, complete, and finalize this document before the PR can merge.* From fc1ef93bee4623e71e54b2acca63f7da374c36cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 25 Apr 2026 03:05:45 +0000 Subject: [PATCH 11/12] feat: deprecate {{#import}} syntax in favor of {{#runtime-import}} and imports: frontmatter Agent-Logs-Url: https://github.com/github/gh-aw/sessions/b24faaf7-1ce1-4f73-a6f5-46d36515ae8b Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../agent-performance-analyzer.lock.yml | 2 +- .../agentic-optimization-kit.lock.yml | 1 + .github/workflows/ai-moderator.lock.yml | 1 - .github/workflows/archie.lock.yml | 1 - .../workflows/architecture-guardian.lock.yml | 1 - .github/workflows/artifacts-summary.lock.yml | 1 - .github/workflows/audit-workflows.lock.yml | 1 - .github/workflows/auto-triage-issues.lock.yml | 1 - .github/workflows/blog-auditor.lock.yml | 1 - .github/workflows/bot-detection.lock.yml | 1 - .github/workflows/brave.lock.yml | 1 - .github/workflows/ci-coach.lock.yml | 1 - .../claude-code-user-docs-review.lock.yml | 1 - .../cli-consistency-checker.lock.yml | 1 - .../workflows/cli-version-checker.lock.yml | 1 - .github/workflows/cloclo.lock.yml | 1 - .../workflows/code-scanning-fixer.lock.yml | 1 - .github/workflows/code-simplifier.lock.yml | 1 - .../commit-changes-analyzer.lock.yml | 1 - .github/workflows/contribution-check.lock.yml | 1 - .../workflows/copilot-agent-analysis.lock.yml | 1 - .../copilot-cli-deep-research.lock.yml | 1 - .github/workflows/copilot-opt.lock.yml | 2 +- .../copilot-pr-merged-report.lock.yml | 1 - .../copilot-pr-nlp-analysis.lock.yml | 1 - .../copilot-pr-prompt-analysis.lock.yml | 1 - .../copilot-session-insights.lock.yml | 1 - .../workflows/copilot-token-audit.lock.yml | 1 + .../copilot-token-optimizer.lock.yml | 1 + .github/workflows/craft.lock.yml | 1 - .../daily-assign-issue-to-user.lock.yml | 2 +- .github/workflows/daily-choice-test.lock.yml | 1 - .../workflows/daily-cli-performance.lock.yml | 2 +- .github/workflows/daily-code-metrics.lock.yml | 2 +- .../workflows/daily-compiler-quality.lock.yml | 2 +- .github/workflows/daily-doc-healer.lock.yml | 1 + .github/workflows/daily-doc-updater.lock.yml | 2 +- .github/workflows/daily-fact.lock.yml | 19 ++++------ .github/workflows/daily-file-diet.lock.yml | 2 +- .../workflows/daily-firewall-report.lock.yml | 2 +- .github/workflows/daily-hippo-learn.lock.yml | 1 + .../daily-integrity-analysis.lock.yml | 1 + .../workflows/daily-issues-report.lock.yml | 3 +- .github/workflows/daily-issues-report.md | 2 +- .../daily-malicious-code-scan.lock.yml | 1 + .../daily-mcp-concurrency-analysis.lock.yml | 1 + .../daily-multi-device-docs-tester.lock.yml | 1 + .github/workflows/daily-news.lock.yml | 3 +- .github/workflows/daily-news.md | 2 +- .../daily-observability-report.lock.yml | 14 +++---- .../daily-performance-summary.lock.yml | 2 +- .github/workflows/daily-regulatory.lock.yml | 2 +- .../daily-rendering-scripts-verifier.lock.yml | 1 - .../workflows/daily-repo-chronicle.lock.yml | 2 +- .../daily-safe-output-integrator.lock.yml | 1 + .../daily-safe-output-optimizer.lock.yml | 1 - .../workflows/daily-secrets-analysis.lock.yml | 2 +- .github/workflows/daily-semgrep-scan.lock.yml | 1 - .../daily-syntax-error-quality.lock.yml | 2 +- .../daily-team-evolution-insights.lock.yml | 1 - .github/workflows/daily-team-status.lock.yml | 3 +- .github/workflows/daily-team-status.md | 2 +- .../daily-testify-uber-super-expert.lock.yml | 2 +- .../daily-token-consumption-report.lock.yml | 2 +- .../workflows/daily-workflow-updater.lock.yml | 2 +- .github/workflows/deep-report.lock.yml | 1 - .github/workflows/delight.lock.yml | 2 +- .github/workflows/dependabot-burner.lock.yml | 1 - .../workflows/dependabot-go-checker.lock.yml | 1 - .github/workflows/dev-hawk.lock.yml | 1 - .github/workflows/dev.lock.yml | 1 - .../developer-docs-consolidator.lock.yml | 1 - .github/workflows/dictation-prompt.lock.yml | 1 - .../workflows/discussion-task-miner.lock.yml | 1 - .github/workflows/docs-noob-tester.lock.yml | 1 - .github/workflows/draft-pr-cleanup.lock.yml | 1 - .../example-workflow-analyzer.lock.yml | 1 - .github/workflows/firewall-escape.lock.yml | 1 - .../workflows/functional-pragmatist.lock.yml | 1 - .../github-mcp-structural-analysis.lock.yml | 1 - .../github-mcp-tools-report.lock.yml | 1 - .../github-remote-mcp-auth-test.lock.yml | 1 - .../workflows/glossary-maintainer.lock.yml | 1 - .github/workflows/go-fan.lock.yml | 1 - .github/workflows/go-logger.lock.yml | 1 - .../workflows/go-pattern-detector.lock.yml | 1 - .github/workflows/gpclean.lock.yml | 1 - .github/workflows/grumpy-reviewer.lock.yml | 13 +++---- .github/workflows/hippo-embed.lock.yml | 1 + .../workflows/instructions-janitor.lock.yml | 1 - .github/workflows/issue-arborist.lock.yml | 13 +++---- .github/workflows/issue-monster.lock.yml | 1 + .github/workflows/issue-triage-agent.lock.yml | 1 - .github/workflows/jsweep.lock.yml | 1 - .../workflows/layout-spec-maintainer.lock.yml | 1 - .github/workflows/lockfile-stats.lock.yml | 1 - .github/workflows/mcp-inspector.lock.yml | 1 - .github/workflows/mergefest.lock.yml | 1 - .github/workflows/metrics-collector.lock.yml | 1 + .github/workflows/org-health-report.lock.yml | 1 - .github/workflows/pdf-summary.lock.yml | 1 - .github/workflows/plan.lock.yml | 1 - .github/workflows/poem-bot.lock.yml | 1 - .../workflows/pr-nitpick-reviewer.lock.yml | 1 - .github/workflows/pr-triage-agent.lock.yml | 1 - .../prompt-clustering-analysis.lock.yml | 1 - .github/workflows/python-data-charts.lock.yml | 1 - .github/workflows/q.lock.yml | 1 - .github/workflows/refiner.lock.yml | 1 - .github/workflows/release.lock.yml | 1 - .../workflows/repo-audit-analyzer.lock.yml | 1 - .github/workflows/repo-tree-map.lock.yml | 1 - .../repository-quality-improver.lock.yml | 1 - .github/workflows/research.lock.yml | 1 - .github/workflows/safe-output-health.lock.yml | 1 - .../schema-consistency-checker.lock.yml | 1 - .github/workflows/scout.lock.yml | 1 - .../workflows/security-compliance.lock.yml | 1 - .github/workflows/security-review.lock.yml | 1 - .../semantic-function-refactor.lock.yml | 1 - .github/workflows/sergo.lock.yml | 1 - .github/workflows/smoke-claude.lock.yml | 6 --- .github/workflows/smoke-codex.lock.yml | 13 +++---- .github/workflows/smoke-copilot-arm.lock.yml | 1 - .github/workflows/smoke-copilot.lock.yml | 1 - .github/workflows/smoke-crush.lock.yml | 1 - .github/workflows/smoke-gemini.lock.yml | 1 - .github/workflows/smoke-multi-pr.lock.yml | 1 - .github/workflows/smoke-opencode.lock.yml | 1 - .github/workflows/smoke-project.lock.yml | 1 - .github/workflows/smoke-temporary-id.lock.yml | 1 - .github/workflows/smoke-test-tools.lock.yml | 1 - .../workflows/smoke-workflow-call.lock.yml | 1 - .github/workflows/spec-enforcer.lock.yml | 1 - .github/workflows/spec-extractor.lock.yml | 1 - .github/workflows/spec-librarian.lock.yml | 1 - .../workflows/stale-repo-identifier.lock.yml | 1 - .../workflows/static-analysis-report.lock.yml | 1 - .../workflows/step-name-alignment.lock.yml | 1 - .github/workflows/sub-issue-closer.lock.yml | 1 - .github/workflows/super-linter.lock.yml | 1 - .../workflows/technical-doc-writer.lock.yml | 1 - .github/workflows/terminal-stylist.lock.yml | 1 - .../test-create-pr-error-handling.lock.yml | 1 - .github/workflows/test-dispatcher.lock.yml | 1 - .../test-project-url-default.lock.yml | 1 - .github/workflows/tidy.lock.yml | 1 - .github/workflows/typist.lock.yml | 1 - .../workflows/ubuntu-image-analyzer.lock.yml | 1 - .github/workflows/unbloat-docs.lock.yml | 1 - .github/workflows/video-analyzer.lock.yml | 1 - .../weekly-editors-health-check.lock.yml | 1 - .../workflows/weekly-issue-summary.lock.yml | 1 - .../weekly-safe-outputs-spec-review.lock.yml | 1 - .github/workflows/workflow-generator.lock.yml | 2 +- .../workflow-health-manager.lock.yml | 2 +- .../workflows/workflow-normalizer.lock.yml | 1 - .../workflow-skill-extractor.lock.yml | 1 - actions/setup/js/runtime_import.cjs | 6 +-- actions/setup/js/runtime_import.test.cjs | 5 ++- docs/src/content/docs/reference/imports.md | 19 +++++----- docs/src/content/docs/reference/templating.md | 4 +- pkg/parser/import_directive.go | 20 +++++----- pkg/parser/import_syntax_test.go | 36 +++++++++--------- pkg/parser/include_expander.go | 38 +++++++++++++------ pkg/parser/include_processor.go | 19 ++++++++-- pkg/workflow/compiler_orchestrator_tools.go | 13 ++++--- pkg/workflow/manifest_test.go | 10 ++--- 168 files changed, 172 insertions(+), 257 deletions(-) diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml index 7c68e8d3f3b..a990b63247a 100644 --- a/.github/workflows/agent-performance-analyzer.lock.yml +++ b/.github/workflows/agent-performance-analyzer.lock.yml @@ -228,7 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_e8efe57977b9f20b_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/agent-performance-analyzer.md}} GH_AW_PROMPT_e8efe57977b9f20b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/agentic-optimization-kit.lock.yml b/.github/workflows/agentic-optimization-kit.lock.yml index 234b32048f0..f9fdf476ba1 100644 --- a/.github/workflows/agentic-optimization-kit.lock.yml +++ b/.github/workflows/agentic-optimization-kit.lock.yml @@ -250,6 +250,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/agentic-optimization-kit.md}} GH_AW_PROMPT_9100bdd176381480_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/ai-moderator.lock.yml b/.github/workflows/ai-moderator.lock.yml index e56f6671045..6348ce120d0 100644 --- a/.github/workflows/ai-moderator.lock.yml +++ b/.github/workflows/ai-moderator.lock.yml @@ -272,7 +272,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_e38150530db2736f_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/ai-moderator.md}} GH_AW_PROMPT_e38150530db2736f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index cd5eb039a31..3e64244621e 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -309,7 +309,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/archie.md}} GH_AW_PROMPT_3ebfef017b6df1d9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/architecture-guardian.lock.yml b/.github/workflows/architecture-guardian.lock.yml index 9c702fc71be..0f57f49b991 100644 --- a/.github/workflows/architecture-guardian.lock.yml +++ b/.github/workflows/architecture-guardian.lock.yml @@ -222,7 +222,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_32704be96c42d3fd_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/architecture-guardian.md}} GH_AW_PROMPT_32704be96c42d3fd_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index 67ef21e15bb..d70fb17463c 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -221,7 +221,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/safe-output-app.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/artifacts-summary.md}} GH_AW_PROMPT_d6a4d9a9703cbd67_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index f1129d392a2..0a489536408 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -257,7 +257,6 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/audit-workflows.md}} GH_AW_PROMPT_c3f11bbbc268c008_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/auto-triage-issues.lock.yml b/.github/workflows/auto-triage-issues.lock.yml index 53a35f9b4d1..aca52907df7 100644 --- a/.github/workflows/auto-triage-issues.lock.yml +++ b/.github/workflows/auto-triage-issues.lock.yml @@ -242,7 +242,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/auto-triage-issues.md}} GH_AW_PROMPT_85720a44bbb5dc90_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index 0da3188a13d..1be955daf43 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -242,7 +242,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/blog-auditor.md}} GH_AW_PROMPT_d0e4313c80ee4d27_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/bot-detection.lock.yml b/.github/workflows/bot-detection.lock.yml index 9084abba6c3..ee690f5aac0 100644 --- a/.github/workflows/bot-detection.lock.yml +++ b/.github/workflows/bot-detection.lock.yml @@ -228,7 +228,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_7a498a0e98aa621e_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/bot-detection.md}} GH_AW_PROMPT_7a498a0e98aa621e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index 3343e87d68a..72b20bdb294 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -267,7 +267,6 @@ jobs: cat << 'GH_AW_PROMPT_e6ffe92b34c67251_EOF' {{#runtime-import .github/workflows/shared/mcp/brave.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/brave.md}} GH_AW_PROMPT_e6ffe92b34c67251_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml index 9f672676b22..ac0f6f16c31 100644 --- a/.github/workflows/ci-coach.lock.yml +++ b/.github/workflows/ci-coach.lock.yml @@ -235,7 +235,6 @@ jobs: {{#runtime-import .github/workflows/shared/ci-optimization-strategies.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/ci-coach.md}} GH_AW_PROMPT_b695ae7e2ca86425_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/claude-code-user-docs-review.lock.yml b/.github/workflows/claude-code-user-docs-review.lock.yml index 3401d1ab905..85cc57b02b4 100644 --- a/.github/workflows/claude-code-user-docs-review.lock.yml +++ b/.github/workflows/claude-code-user-docs-review.lock.yml @@ -242,7 +242,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/claude-code-user-docs-review.md}} GH_AW_PROMPT_1c94c1dbe1beab96_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index 0be5ef529fb..a0e127013d2 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -216,7 +216,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_977dde871b5e4edb_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/cli-consistency-checker.md}} GH_AW_PROMPT_977dde871b5e4edb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 7b4c27be253..9a3a500af19 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -231,7 +231,6 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/cli-version-checker.md}} GH_AW_PROMPT_eb436f0c3b3a7fbb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index a72ff80cf65..93d68184ceb 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -364,7 +364,6 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/cloclo.md}} GH_AW_PROMPT_b5ce1be05f56810c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/code-scanning-fixer.lock.yml b/.github/workflows/code-scanning-fixer.lock.yml index 1175da27d37..14de7cd6ddb 100644 --- a/.github/workflows/code-scanning-fixer.lock.yml +++ b/.github/workflows/code-scanning-fixer.lock.yml @@ -230,7 +230,6 @@ jobs: {{#runtime-import .github/workflows/shared/security-analysis-base.md}} {{#runtime-import .github/workflows/shared/activation-app.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/code-scanning-fixer.md}} GH_AW_PROMPT_d475dd6312b2dc23_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/code-simplifier.lock.yml b/.github/workflows/code-simplifier.lock.yml index 1f7a000d3b3..86d66fe8f77 100644 --- a/.github/workflows/code-simplifier.lock.yml +++ b/.github/workflows/code-simplifier.lock.yml @@ -236,7 +236,6 @@ jobs: {{#runtime-import .github/workflows/shared/activation-app.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/code-simplifier.md}} GH_AW_PROMPT_82e68d7934c62c6f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 84122bb76d1..064483a2c17 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -228,7 +228,6 @@ jobs: cat << 'GH_AW_PROMPT_6f1a12e9a06c4026_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/commit-changes-analyzer.md}} GH_AW_PROMPT_6f1a12e9a06c4026_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/contribution-check.lock.yml b/.github/workflows/contribution-check.lock.yml index 7ad3753ff82..2ebf330ee73 100644 --- a/.github/workflows/contribution-check.lock.yml +++ b/.github/workflows/contribution-check.lock.yml @@ -229,7 +229,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_5099d5c6e8eb2030_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/contribution-check.md}} GH_AW_PROMPT_5099d5c6e8eb2030_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index d7efdf33d78..9aeb4e477de 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -251,7 +251,6 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-agent-analysis.md}} GH_AW_PROMPT_15aec407774dafb3_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-cli-deep-research.lock.yml b/.github/workflows/copilot-cli-deep-research.lock.yml index fb9abb7de51..988bbdd8d8d 100644 --- a/.github/workflows/copilot-cli-deep-research.lock.yml +++ b/.github/workflows/copilot-cli-deep-research.lock.yml @@ -221,7 +221,6 @@ jobs: cat << 'GH_AW_PROMPT_f1be3b6884a88dc9_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-cli-deep-research.md}} GH_AW_PROMPT_f1be3b6884a88dc9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-opt.lock.yml b/.github/workflows/copilot-opt.lock.yml index 624baf0761d..248dfec0c6d 100644 --- a/.github/workflows/copilot-opt.lock.yml +++ b/.github/workflows/copilot-opt.lock.yml @@ -235,7 +235,7 @@ jobs: {{#runtime-import .github/workflows/shared/copilot-session-data-fetch.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/copilot-opt.md}} GH_AW_PROMPT_0404f3c866992fba_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index 0ce4b92d3f4..092db4a82af 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -205,7 +205,6 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-merged-report.md}} GH_AW_PROMPT_5a54057fb049d8a1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index ff1a677a1a4..10c51256306 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -251,7 +251,6 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-nlp-analysis.md}} GH_AW_PROMPT_597d922fed3745a2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index c22bf9c7be9..9e0a78aa1a5 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -244,7 +244,6 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-prompt-analysis.md}} GH_AW_PROMPT_9b2f5e6b12a6a4d6_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 693478ed05c..9ec2e5c72d8 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -259,7 +259,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-session-insights.md}} GH_AW_PROMPT_207bf950c3fa59e1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-token-audit.lock.yml b/.github/workflows/copilot-token-audit.lock.yml index 7036768bf91..027de1e0476 100644 --- a/.github/workflows/copilot-token-audit.lock.yml +++ b/.github/workflows/copilot-token-audit.lock.yml @@ -249,6 +249,7 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/copilot-token-audit.md}} GH_AW_PROMPT_425c973e61470279_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-token-optimizer.lock.yml b/.github/workflows/copilot-token-optimizer.lock.yml index 5933c9f5256..1d66980389c 100644 --- a/.github/workflows/copilot-token-optimizer.lock.yml +++ b/.github/workflows/copilot-token-optimizer.lock.yml @@ -231,6 +231,7 @@ jobs: cat << 'GH_AW_PROMPT_fb7a896802031a54_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/copilot-token-optimizer.md}} GH_AW_PROMPT_fb7a896802031a54_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index d7af2a6a1bc..5e8da3c000b 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -269,7 +269,6 @@ jobs: fi cat << 'GH_AW_PROMPT_a96b788656d9ce78_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/craft.md}} GH_AW_PROMPT_a96b788656d9ce78_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index a896f1106b9..f2be692b5ca 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -227,7 +227,7 @@ jobs: cat << 'GH_AW_PROMPT_cf7bda9600980afb_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-assign-issue-to-user.md}} GH_AW_PROMPT_cf7bda9600980afb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-choice-test.lock.yml b/.github/workflows/daily-choice-test.lock.yml index 5d969ceb547..fde91c0fc81 100644 --- a/.github/workflows/daily-choice-test.lock.yml +++ b/.github/workflows/daily-choice-test.lock.yml @@ -235,7 +235,6 @@ jobs: cat << 'GH_AW_PROMPT_d4927b7bd8609fbf_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-choice-test.md}} GH_AW_PROMPT_d4927b7bd8609fbf_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-cli-performance.lock.yml b/.github/workflows/daily-cli-performance.lock.yml index a9177f56d9f..2a39dff04f0 100644 --- a/.github/workflows/daily-cli-performance.lock.yml +++ b/.github/workflows/daily-cli-performance.lock.yml @@ -265,7 +265,7 @@ jobs: {{#runtime-import .github/workflows/shared/go-make.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-cli-performance.md}} GH_AW_PROMPT_e4df3d235e59eebe_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 2f41139401b..727f70cc8cd 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -251,7 +251,7 @@ jobs: {{#runtime-import .github/workflows/shared/trends.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-code-metrics.md}} GH_AW_PROMPT_ccc54d8c5d380212_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-compiler-quality.lock.yml b/.github/workflows/daily-compiler-quality.lock.yml index 83cb36b8196..e7408b769dd 100644 --- a/.github/workflows/daily-compiler-quality.lock.yml +++ b/.github/workflows/daily-compiler-quality.lock.yml @@ -272,7 +272,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-compiler-quality.md}} GH_AW_PROMPT_b318fb04267a1678_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-doc-healer.lock.yml b/.github/workflows/daily-doc-healer.lock.yml index ba19338cc2c..2af965c0d54 100644 --- a/.github/workflows/daily-doc-healer.lock.yml +++ b/.github/workflows/daily-doc-healer.lock.yml @@ -245,6 +245,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-doc-healer.md}} GH_AW_PROMPT_a31130f978d0d7ec_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index 2c02aa0bda5..7c0ab13682c 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -244,7 +244,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-doc-updater.md}} GH_AW_PROMPT_741719fb8401d7b7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index 3bd541c5165..925576db45c 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -245,12 +245,7 @@ jobs: - **Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures. - - ```json - {"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}} - ``` - + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import? .github/shared-instructions.md}} # Daily Fact About gh-aw @@ -1401,18 +1396,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_42a2fd8ae6a6047e_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_529fb9fad3176e90_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_42a2fd8ae6a6047e_EOF + GH_AW_MCP_CONFIG_529fb9fad3176e90_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_7b83b8077d005d21_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_a26cb26de4d328d7_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1423,11 +1418,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_7b83b8077d005d21_EOF + GH_AW_MCP_CONFIG_a26cb26de4d328d7_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_94144444132cde09_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_818aefdc91ceef5f_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1437,7 +1432,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_94144444132cde09_EOF + GH_AW_CODEX_SHELL_POLICY_818aefdc91ceef5f_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index 901af02e593..ba63a0f6426 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -275,7 +275,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-file-diet.md}} GH_AW_PROMPT_fe4e05911571678a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index 487cec33574..eb8e940d177 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -252,7 +252,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-firewall-report.md}} GH_AW_PROMPT_01e0a608c28ca7bb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-hippo-learn.lock.yml b/.github/workflows/daily-hippo-learn.lock.yml index 23555b744c5..2c98494c956 100644 --- a/.github/workflows/daily-hippo-learn.lock.yml +++ b/.github/workflows/daily-hippo-learn.lock.yml @@ -222,6 +222,7 @@ jobs: {{#runtime-import .github/workflows/shared/hippo-memory.md}} {{#runtime-import .github/workflows/shared/reporting.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-hippo-learn.md}} GH_AW_PROMPT_3559f743089dd0e1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-integrity-analysis.lock.yml b/.github/workflows/daily-integrity-analysis.lock.yml index 00d62237278..e0d49086a30 100644 --- a/.github/workflows/daily-integrity-analysis.lock.yml +++ b/.github/workflows/daily-integrity-analysis.lock.yml @@ -249,6 +249,7 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-integrity-analysis.md}} GH_AW_PROMPT_3e2cf01d558d33ba_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 6e193e6eb69..33355b5091e 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -37,7 +37,6 @@ # - shared/daily-audit-base.md # - shared/trends.md # Includes: -# - .github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: @@ -261,8 +260,8 @@ jobs: {{#runtime-import .github/workflows/shared/trends.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/shared/editorial.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-issues-report.md}} GH_AW_PROMPT_9e1e7ac2d1f2b660_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-issues-report.md b/.github/workflows/daily-issues-report.md index afacbd6ba89..30876759757 100644 --- a/.github/workflows/daily-issues-report.md +++ b/.github/workflows/daily-issues-report.md @@ -35,7 +35,7 @@ features: --- {{#runtime-import? .github/shared-instructions.md}} -{{#import: .github/shared/editorial.md}} +{{#runtime-import .github/shared/editorial.md}} # Daily Issues Report Generator diff --git a/.github/workflows/daily-malicious-code-scan.lock.yml b/.github/workflows/daily-malicious-code-scan.lock.yml index 7995047f91f..10310ecf652 100644 --- a/.github/workflows/daily-malicious-code-scan.lock.yml +++ b/.github/workflows/daily-malicious-code-scan.lock.yml @@ -232,6 +232,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-malicious-code-scan.md}} GH_AW_PROMPT_fa68f658878cf9c1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml index f9fe9a0e239..846798e01d8 100644 --- a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml +++ b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml @@ -269,6 +269,7 @@ jobs: {{#runtime-import .github/workflows/shared/safe-output-app.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-mcp-concurrency-analysis.md}} GH_AW_PROMPT_02905746383fa63a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index 0653b0051f9..faa41455942 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -246,6 +246,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-multi-device-docs-tester.md}} GH_AW_PROMPT_9fce98d84a1f5713_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index bed944c28f3..f9510abbe1a 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -35,7 +35,6 @@ # - shared/reporting-otlp.md # - shared/trends.md # Includes: -# - .github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: @@ -251,8 +250,8 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/shared/editorial.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-news.md}} GH_AW_PROMPT_d515ff7b72bcd152_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-news.md b/.github/workflows/daily-news.md index b3bb26e1707..0f24e156097 100644 --- a/.github/workflows/daily-news.md +++ b/.github/workflows/daily-news.md @@ -301,7 +301,7 @@ features: {{#runtime-import? .github/shared-instructions.md}} -{{#import: .github/shared/editorial.md}} +{{#runtime-import .github/shared/editorial.md}} # Daily News diff --git a/.github/workflows/daily-observability-report.lock.yml b/.github/workflows/daily-observability-report.lock.yml index 42f33e4f3ea..eb811667f34 100644 --- a/.github/workflows/daily-observability-report.lock.yml +++ b/.github/workflows/daily-observability-report.lock.yml @@ -248,7 +248,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-observability-report.md}} GH_AW_PROMPT_11fa358344c01b2e_EOF } > "$GH_AW_PROMPT" @@ -1314,18 +1314,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_9781c5cf2ffd3880_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_8ecb53417eb164a9_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_9781c5cf2ffd3880_EOF + GH_AW_MCP_CONFIG_8ecb53417eb164a9_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_c6dc02ee56704499_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_01cbf42522fc9b41_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1336,11 +1336,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_c6dc02ee56704499_EOF + GH_AW_MCP_CONFIG_01cbf42522fc9b41_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_2b31050bfc603836_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_363d9c24739504ac_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1350,7 +1350,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_2b31050bfc603836_EOF + GH_AW_CODEX_SHELL_POLICY_363d9c24739504ac_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index ad55cede011..e67a602d91d 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -250,7 +250,7 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-performance-summary.md}} GH_AW_PROMPT_4d1d60523c12164b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-regulatory.lock.yml b/.github/workflows/daily-regulatory.lock.yml index 4f69c819c0d..2ff762e702f 100644 --- a/.github/workflows/daily-regulatory.lock.yml +++ b/.github/workflows/daily-regulatory.lock.yml @@ -241,7 +241,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-regulatory.md}} GH_AW_PROMPT_4ff4456d5c004992_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-rendering-scripts-verifier.lock.yml b/.github/workflows/daily-rendering-scripts-verifier.lock.yml index 09aee5a2db2..b88ba8a4437 100644 --- a/.github/workflows/daily-rendering-scripts-verifier.lock.yml +++ b/.github/workflows/daily-rendering-scripts-verifier.lock.yml @@ -256,7 +256,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-rendering-scripts-verifier.md}} GH_AW_PROMPT_c30c531ff974448e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index 930d7066ef8..27152097092 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -242,7 +242,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-repo-chronicle.md}} GH_AW_PROMPT_434e1d9812bba1d7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-safe-output-integrator.lock.yml b/.github/workflows/daily-safe-output-integrator.lock.yml index 2f649aa1718..27c169f02ac 100644 --- a/.github/workflows/daily-safe-output-integrator.lock.yml +++ b/.github/workflows/daily-safe-output-integrator.lock.yml @@ -234,6 +234,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-safe-output-integrator.md}} GH_AW_PROMPT_3199945869eb9f36_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-safe-output-optimizer.lock.yml b/.github/workflows/daily-safe-output-optimizer.lock.yml index 784ac43f3af..68743846c16 100644 --- a/.github/workflows/daily-safe-output-optimizer.lock.yml +++ b/.github/workflows/daily-safe-output-optimizer.lock.yml @@ -256,7 +256,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-safe-output-optimizer.md}} GH_AW_PROMPT_f7001fcf8a3d6b98_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-secrets-analysis.lock.yml b/.github/workflows/daily-secrets-analysis.lock.yml index 78ba3f84e3a..ccc249c79b1 100644 --- a/.github/workflows/daily-secrets-analysis.lock.yml +++ b/.github/workflows/daily-secrets-analysis.lock.yml @@ -232,7 +232,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-secrets-analysis.md}} GH_AW_PROMPT_f5e37979c9502661_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-semgrep-scan.lock.yml b/.github/workflows/daily-semgrep-scan.lock.yml index 4b0fba2dd22..427c2069510 100644 --- a/.github/workflows/daily-semgrep-scan.lock.yml +++ b/.github/workflows/daily-semgrep-scan.lock.yml @@ -234,7 +234,6 @@ jobs: {{#runtime-import .github/workflows/shared/security-analysis-base.md}} {{#runtime-import .github/workflows/shared/mcp/semgrep.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-semgrep-scan.md}} GH_AW_PROMPT_3cbddf9c1f286d7e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-syntax-error-quality.lock.yml b/.github/workflows/daily-syntax-error-quality.lock.yml index a531fb4422f..595941c0fb7 100644 --- a/.github/workflows/daily-syntax-error-quality.lock.yml +++ b/.github/workflows/daily-syntax-error-quality.lock.yml @@ -232,7 +232,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-syntax-error-quality.md}} GH_AW_PROMPT_b0bed03293d9e959_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-team-evolution-insights.lock.yml b/.github/workflows/daily-team-evolution-insights.lock.yml index 6a8b221a214..c3cbf3f9f68 100644 --- a/.github/workflows/daily-team-evolution-insights.lock.yml +++ b/.github/workflows/daily-team-evolution-insights.lock.yml @@ -239,7 +239,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-team-evolution-insights.md}} GH_AW_PROMPT_de4bc36b1be344ed_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index 91ce0c2ccfc..41300457be2 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -36,7 +36,6 @@ # - shared/reporting.md # - shared/reporting-otlp.md # Includes: -# - .github/shared/editorial.md # - shared/noop-reminder.md # # Secrets used: @@ -250,8 +249,8 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/shared/editorial.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/daily-team-status.md}} GH_AW_PROMPT_31fef7a17811ecb8_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-team-status.md b/.github/workflows/daily-team-status.md index 691dae683d8..339168eded7 100644 --- a/.github/workflows/daily-team-status.md +++ b/.github/workflows/daily-team-status.md @@ -36,7 +36,7 @@ features: {{#runtime-import? .github/shared-instructions.md}} -{{#import: .github/shared/editorial.md}} +{{#runtime-import .github/shared/editorial.md}} # Daily Team Status diff --git a/.github/workflows/daily-testify-uber-super-expert.lock.yml b/.github/workflows/daily-testify-uber-super-expert.lock.yml index 4641d3541a7..cfdd084b9da 100644 --- a/.github/workflows/daily-testify-uber-super-expert.lock.yml +++ b/.github/workflows/daily-testify-uber-super-expert.lock.yml @@ -277,7 +277,7 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-testify-uber-super-expert.md}} GH_AW_PROMPT_692afb371db39ced_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-token-consumption-report.lock.yml b/.github/workflows/daily-token-consumption-report.lock.yml index c2f5e56ea8c..2b96f3d3034 100644 --- a/.github/workflows/daily-token-consumption-report.lock.yml +++ b/.github/workflows/daily-token-consumption-report.lock.yml @@ -243,7 +243,7 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-token-consumption-report.md}} GH_AW_PROMPT_3edd0ce42e733bd2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index cb9da818308..c2ae6f5d011 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -232,7 +232,7 @@ jobs: cat << 'GH_AW_PROMPT_cce583e828b11915_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-workflow-updater.md}} GH_AW_PROMPT_cce583e828b11915_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index c6d14532d2c..5f5740d9adc 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -241,7 +241,6 @@ jobs: {{#runtime-import .github/workflows/shared/discussions-data-fetch.md}} {{#runtime-import .github/workflows/shared/weekly-issues-data-fetch.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/deep-report.md}} GH_AW_PROMPT_8dfa4824ae875fbc_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/delight.lock.yml b/.github/workflows/delight.lock.yml index 4afa6553660..f9ec3c6d41b 100644 --- a/.github/workflows/delight.lock.yml +++ b/.github/workflows/delight.lock.yml @@ -237,7 +237,7 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/delight.md}} GH_AW_PROMPT_b91d149178a86edf_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dependabot-burner.lock.yml b/.github/workflows/dependabot-burner.lock.yml index 47705d4acc3..1ad51e37e23 100644 --- a/.github/workflows/dependabot-burner.lock.yml +++ b/.github/workflows/dependabot-burner.lock.yml @@ -228,7 +228,6 @@ jobs: cat << 'GH_AW_PROMPT_9cc4b5bc9736ec42_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dependabot-burner.md}} GH_AW_PROMPT_9cc4b5bc9736ec42_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index 888d2c4a197..383d37d78ee 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -225,7 +225,6 @@ jobs: cat << 'GH_AW_PROMPT_e5e1349255fddf5f_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dependabot-go-checker.md}} GH_AW_PROMPT_e5e1349255fddf5f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index 0e1ef1651a6..052e66670b6 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -234,7 +234,6 @@ jobs: cat << 'GH_AW_PROMPT_24fe2ca9091c6b98_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dev-hawk.md}} GH_AW_PROMPT_24fe2ca9091c6b98_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml index e1251d8d4db..e9751f30774 100644 --- a/.github/workflows/dev.lock.yml +++ b/.github/workflows/dev.lock.yml @@ -276,7 +276,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_378a8ccd1b4d7114_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dev.md}} GH_AW_PROMPT_378a8ccd1b4d7114_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index f8a5299436c..bb5bc396774 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -282,7 +282,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/developer-docs-consolidator.md}} GH_AW_PROMPT_08b021a1302f387f_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index 066f44f9509..4ab7bf92cde 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -223,7 +223,6 @@ jobs: cat << 'GH_AW_PROMPT_745d8a3df2b9ca54_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/dictation-prompt.md}} GH_AW_PROMPT_745d8a3df2b9ca54_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/discussion-task-miner.lock.yml b/.github/workflows/discussion-task-miner.lock.yml index 621622e1a5d..3779f58258f 100644 --- a/.github/workflows/discussion-task-miner.lock.yml +++ b/.github/workflows/discussion-task-miner.lock.yml @@ -226,7 +226,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/discussion-task-miner.md}} GH_AW_PROMPT_6fc33e956ca2258e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index 9ea688345e1..95e0e4b1f56 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -240,7 +240,6 @@ jobs: {{#runtime-import .github/workflows/shared/keep-it-short.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/docs-noob-tester.md}} GH_AW_PROMPT_f65c908042dcbe78_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/draft-pr-cleanup.lock.yml b/.github/workflows/draft-pr-cleanup.lock.yml index 52373663da7..5bcc147ae8f 100644 --- a/.github/workflows/draft-pr-cleanup.lock.yml +++ b/.github/workflows/draft-pr-cleanup.lock.yml @@ -216,7 +216,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_8283e84845812c8a_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/draft-pr-cleanup.md}} GH_AW_PROMPT_8283e84845812c8a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index 83f3515777b..b3527d956aa 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -243,7 +243,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/example-workflow-analyzer.md}} GH_AW_PROMPT_6a3e8c4973119cff_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/firewall-escape.lock.yml b/.github/workflows/firewall-escape.lock.yml index d23b4904630..2d28ecfba2f 100644 --- a/.github/workflows/firewall-escape.lock.yml +++ b/.github/workflows/firewall-escape.lock.yml @@ -246,7 +246,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_9005465a071fc2f9_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/firewall-escape.md}} GH_AW_PROMPT_9005465a071fc2f9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/functional-pragmatist.lock.yml b/.github/workflows/functional-pragmatist.lock.yml index 8ddd2362332..57d5f4595a3 100644 --- a/.github/workflows/functional-pragmatist.lock.yml +++ b/.github/workflows/functional-pragmatist.lock.yml @@ -229,7 +229,6 @@ jobs: cat << 'GH_AW_PROMPT_6cdef77543e0d67d_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/functional-pragmatist.md}} GH_AW_PROMPT_6cdef77543e0d67d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index b16a5d9c109..7ac4b2c07dd 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -247,7 +247,6 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/github-mcp-structural-analysis.md}} GH_AW_PROMPT_5dd67868a565559b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index 79bdcfb8295..55bd9badee9 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -245,7 +245,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/github-mcp-tools-report.md}} GH_AW_PROMPT_69bd7ba219060bae_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/github-remote-mcp-auth-test.lock.yml b/.github/workflows/github-remote-mcp-auth-test.lock.yml index b142c6a8a66..bc6cd1e746e 100644 --- a/.github/workflows/github-remote-mcp-auth-test.lock.yml +++ b/.github/workflows/github-remote-mcp-auth-test.lock.yml @@ -225,7 +225,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_a1dc9e30e76cf6a9_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/github-remote-mcp-auth-test.md}} GH_AW_PROMPT_a1dc9e30e76cf6a9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 371e21925e3..0ed7c02d66f 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -274,7 +274,6 @@ jobs: {{#runtime-import .github/skills/documentation/SKILL.md}} {{#runtime-import .github/agents/technical-doc-writer.agent.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/glossary-maintainer.md}} GH_AW_PROMPT_1ebb1956aefdacd6_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index 43ca17e73b1..c56463cea2f 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -267,7 +267,6 @@ jobs: {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/go-fan.md}} GH_AW_PROMPT_19a41fc64857dca9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index 0d4366abc21..beb6f2bd739 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -234,7 +234,6 @@ jobs: cat << 'GH_AW_PROMPT_77a0216ea2594c57_EOF' {{#runtime-import .github/workflows/shared/go-make.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/go-logger.md}} GH_AW_PROMPT_77a0216ea2594c57_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index eb05ff281f0..1e18d3cb840 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -230,7 +230,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/ast-grep.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/go-pattern-detector.md}} GH_AW_PROMPT_73a72f4f7b26569a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/gpclean.lock.yml b/.github/workflows/gpclean.lock.yml index 704f0a3753d..c6efa48e237 100644 --- a/.github/workflows/gpclean.lock.yml +++ b/.github/workflows/gpclean.lock.yml @@ -229,7 +229,6 @@ jobs: cat << 'GH_AW_PROMPT_3539b4e36a3a8122_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/gpclean.md}} GH_AW_PROMPT_3539b4e36a3a8122_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index 99100f787af..c5069d16d9b 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -286,7 +286,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/pr-code-review-config.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/grumpy-reviewer.md}} GH_AW_PROMPT_ad52616df5af0074_EOF } > "$GH_AW_PROMPT" @@ -1324,18 +1323,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_afa61ddfdb00c364_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_06df42b0a8eed999_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_afa61ddfdb00c364_EOF + GH_AW_MCP_CONFIG_06df42b0a8eed999_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_dbf28f71e85c9995_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_3d62a58a41823422_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1346,11 +1345,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_dbf28f71e85c9995_EOF + GH_AW_MCP_CONFIG_3d62a58a41823422_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_aa62e61e43e48c80_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_74d2ecfbdbcb1834_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1360,7 +1359,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_aa62e61e43e48c80_EOF + GH_AW_CODEX_SHELL_POLICY_74d2ecfbdbcb1834_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/hippo-embed.lock.yml b/.github/workflows/hippo-embed.lock.yml index 13932975cfc..ef64327800d 100644 --- a/.github/workflows/hippo-embed.lock.yml +++ b/.github/workflows/hippo-embed.lock.yml @@ -208,6 +208,7 @@ jobs: cat << 'GH_AW_PROMPT_03347271a7635f0d_EOF' {{#runtime-import .github/workflows/shared/hippo-memory.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/hippo-embed.md}} GH_AW_PROMPT_03347271a7635f0d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index 61e30ca9a42..c40d3acb406 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -230,7 +230,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_c0186d18c0b00544_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/instructions-janitor.md}} GH_AW_PROMPT_c0186d18c0b00544_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index 5d4769b010d..f21868c5ce2 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -232,7 +232,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/issue-arborist.md}} GH_AW_PROMPT_651f2933f2413725_EOF } > "$GH_AW_PROMPT" @@ -1303,18 +1302,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_f2dae06f1641d7ae_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_f4b4647a500ad2fd_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_f2dae06f1641d7ae_EOF + GH_AW_MCP_CONFIG_f4b4647a500ad2fd_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_8ea3c80c594e724e_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_6e9b8c3a68bdbe31_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1325,11 +1324,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_8ea3c80c594e724e_EOF + GH_AW_MCP_CONFIG_6e9b8c3a68bdbe31_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_b8657c2aaf76b22a_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_2a0e97535a4dc3cb_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1339,7 +1338,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_b8657c2aaf76b22a_EOF + GH_AW_CODEX_SHELL_POLICY_2a0e97535a4dc3cb_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml index 73560ea99fa..bf2c911b2d7 100644 --- a/.github/workflows/issue-monster.lock.yml +++ b/.github/workflows/issue-monster.lock.yml @@ -611,6 +611,7 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/activation-app.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/issue-monster.md}} GH_AW_PROMPT_e301ff5ec303eb90_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml index bc39f23cf42..a9ee09e208e 100644 --- a/.github/workflows/issue-triage-agent.lock.yml +++ b/.github/workflows/issue-triage-agent.lock.yml @@ -227,7 +227,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/issue-triage-agent.md}} GH_AW_PROMPT_795a55165b072bee_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml index 480f22e892a..789f9715f04 100644 --- a/.github/workflows/jsweep.lock.yml +++ b/.github/workflows/jsweep.lock.yml @@ -264,7 +264,6 @@ jobs: 4. **Focus on the relevant language files** — ignore unrelated file types - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/jsweep.md}} GH_AW_PROMPT_37c6c49ed0d6231b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml index 2220ebd1520..e2b9f9c49d6 100644 --- a/.github/workflows/layout-spec-maintainer.lock.yml +++ b/.github/workflows/layout-spec-maintainer.lock.yml @@ -230,7 +230,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_819ee347c180cf26_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/layout-spec-maintainer.md}} GH_AW_PROMPT_819ee347c180cf26_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index a76cf10b5d3..a355199fbbc 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -242,7 +242,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/lockfile-stats.md}} GH_AW_PROMPT_4b362260efbc70c1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index 1eb462147ce..4b18776875d 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -332,7 +332,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/mcp-inspector.md}} GH_AW_PROMPT_d236564be067cfbb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index 4e9f5456639..b2351b364d2 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -273,7 +273,6 @@ jobs: fi cat << 'GH_AW_PROMPT_3aa6d40bc3aef6fa_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/mergefest.md}} GH_AW_PROMPT_3aa6d40bc3aef6fa_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/metrics-collector.lock.yml b/.github/workflows/metrics-collector.lock.yml index 4ab0fb00a2b..a24f66d42ac 100644 --- a/.github/workflows/metrics-collector.lock.yml +++ b/.github/workflows/metrics-collector.lock.yml @@ -219,6 +219,7 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_prompt.md" cat << 'GH_AW_PROMPT_b924bc50dd3709b3_EOF' + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/metrics-collector.md}} GH_AW_PROMPT_b924bc50dd3709b3_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml index e4d1bb7bbb6..d00d4e655f0 100644 --- a/.github/workflows/org-health-report.lock.yml +++ b/.github/workflows/org-health-report.lock.yml @@ -238,7 +238,6 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/org-health-report.md}} GH_AW_PROMPT_a30e0b763bcfae81_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index cbb25d6dbc0..352ed302fe9 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -301,7 +301,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/markitdown.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/pdf-summary.md}} GH_AW_PROMPT_8712f50012beb379_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index 9276cb46066..4380c9e955c 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -272,7 +272,6 @@ jobs: fi cat << 'GH_AW_PROMPT_ac66b018d7cabc75_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/plan.md}} GH_AW_PROMPT_ac66b018d7cabc75_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index aa8c0307aaf..4c4f55d8d66 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -298,7 +298,6 @@ jobs: cat << 'GH_AW_PROMPT_b408d9dacab7d48a_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/poem-bot.md}} GH_AW_PROMPT_b408d9dacab7d48a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index 105133dadc5..2cc06e0083c 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -281,7 +281,6 @@ jobs: {{#runtime-import .github/workflows/shared/pr-code-review-config.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/pr-nitpick-reviewer.md}} GH_AW_PROMPT_729f0063803645f2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/pr-triage-agent.lock.yml b/.github/workflows/pr-triage-agent.lock.yml index 27436e9c41a..f3d8b04b1df 100644 --- a/.github/workflows/pr-triage-agent.lock.yml +++ b/.github/workflows/pr-triage-agent.lock.yml @@ -228,7 +228,6 @@ jobs: cat << 'GH_AW_PROMPT_8ebf52024abd9f0d_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/pr-triage-agent.md}} GH_AW_PROMPT_8ebf52024abd9f0d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index ec2e95a4526..aeabae3b00e 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -261,7 +261,6 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/prompt-clustering-analysis.md}} GH_AW_PROMPT_77b2b9151ea273b8_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index c155a704b89..5be1c5616e5 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -237,7 +237,6 @@ jobs: {{#runtime-import .github/workflows/shared/charts-with-trending.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/trends.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/python-data-charts.md}} GH_AW_PROMPT_81a8e50872c6de0c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 02fa9cc3e81..01eb6d8b21c 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -344,7 +344,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/q.md}} GH_AW_PROMPT_934714ba3ce57678_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/refiner.lock.yml b/.github/workflows/refiner.lock.yml index 5f74acab5fd..20eb38b6e94 100644 --- a/.github/workflows/refiner.lock.yml +++ b/.github/workflows/refiner.lock.yml @@ -258,7 +258,6 @@ jobs: cat << 'GH_AW_PROMPT_b2ecb563e59aed87_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/refiner.md}} GH_AW_PROMPT_b2ecb563e59aed87_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml index c65a34b810c..0905764c937 100644 --- a/.github/workflows/release.lock.yml +++ b/.github/workflows/release.lock.yml @@ -243,7 +243,6 @@ jobs: cat << 'GH_AW_PROMPT_9d3037e902ef557d_EOF' {{#runtime-import .github/workflows/shared/community-attribution.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/release.md}} GH_AW_PROMPT_9d3037e902ef557d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/repo-audit-analyzer.lock.yml b/.github/workflows/repo-audit-analyzer.lock.yml index 12d849c8ec5..676c9798513 100644 --- a/.github/workflows/repo-audit-analyzer.lock.yml +++ b/.github/workflows/repo-audit-analyzer.lock.yml @@ -245,7 +245,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/repo-audit-analyzer.md}} GH_AW_PROMPT_e2a11b8b3e77a51e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index aa2121a5f6b..0f5cdaaa83f 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -226,7 +226,6 @@ jobs: cat << 'GH_AW_PROMPT_a3f0243bf131b259_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/repo-tree-map.md}} GH_AW_PROMPT_a3f0243bf131b259_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index fb206ebe9ef..75a392261cc 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -277,7 +277,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/repository-quality-improver.md}} GH_AW_PROMPT_11bfae9d4ef7c982_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index f625fa6e1df..90dc2ce59a1 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -231,7 +231,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/tavily.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/research.md}} GH_AW_PROMPT_d511eead07c6229d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index cce2d118ddb..2d4c9036016 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -247,7 +247,6 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/safe-output-health.md}} GH_AW_PROMPT_4b0b7f84e0fb41f7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index 771865f4c38..afbb409e024 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -238,7 +238,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/schema-consistency-checker.md}} GH_AW_PROMPT_7a368a1c473b9485_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index 5e997d81ba7..ce09438828d 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -335,7 +335,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/deepwiki.md}} {{#runtime-import .github/workflows/shared/mcp/markitdown.md}} {{#runtime-import .github/workflows/shared/jqschema.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/scout.md}} GH_AW_PROMPT_8272fdeb55a2370c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/security-compliance.lock.yml b/.github/workflows/security-compliance.lock.yml index 9b38f442d11..5a20438811c 100644 --- a/.github/workflows/security-compliance.lock.yml +++ b/.github/workflows/security-compliance.lock.yml @@ -233,7 +233,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_e182ce1782081fe9_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/security-compliance.md}} GH_AW_PROMPT_e182ce1782081fe9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/security-review.lock.yml b/.github/workflows/security-review.lock.yml index d9df812e5c5..a9836634fb9 100644 --- a/.github/workflows/security-review.lock.yml +++ b/.github/workflows/security-review.lock.yml @@ -278,7 +278,6 @@ jobs: {{#runtime-import .github/workflows/shared/security-analysis-base.md}} {{#runtime-import .github/workflows/shared/pr-code-review-config.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/security-review.md}} GH_AW_PROMPT_4d4bf9c50cbc9393_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index 8b5b66e0dc2..63278f94b29 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -260,7 +260,6 @@ jobs: {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/semantic-function-refactor.md}} GH_AW_PROMPT_63264fecff0f6f38_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/sergo.lock.yml b/.github/workflows/sergo.lock.yml index f7a0ff9a475..051d48d99f7 100644 --- a/.github/workflows/sergo.lock.yml +++ b/.github/workflows/sergo.lock.yml @@ -274,7 +274,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/sergo.md}} GH_AW_PROMPT_1e0b415d301765de_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index ca413d00ca1..90157054a3a 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -575,12 +575,6 @@ jobs: 2. **Skip test files** — Never analyze files ending in `_test.go` 3. **Focus on `pkg/` directory** — Primary analysis area 4. **Use Serena for semantic analysis** — Leverage LSP capabilities for deeper insights - **Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures. - - ```json - {"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}} - ``` - # Smoke Test: Claude Engine Validation. **IMPORTANT: Keep all outputs extremely short and concise. Use single-line responses where possible. No verbose explanations.** diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index 5bbd9fcbe77..0905702b163 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -340,7 +340,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-codex.md}} GH_AW_PROMPT_928d68ef3e3a244b_EOF } > "$GH_AW_PROMPT" @@ -1763,18 +1762,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_323f638681793e0a_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_ff522ea58250e51b_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_323f638681793e0a_EOF + GH_AW_MCP_CONFIG_ff522ea58250e51b_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_225f867b3f080db1_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_096a4d11ac009ce5_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1785,11 +1784,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_225f867b3f080db1_EOF + GH_AW_MCP_CONFIG_096a4d11ac009ce5_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_2343c47ccd49c888_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_6c7dbcec13843414_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1799,7 +1798,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_2343c47ccd49c888_EOF + GH_AW_CODEX_SHELL_POLICY_6c7dbcec13843414_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/smoke-copilot-arm.lock.yml b/.github/workflows/smoke-copilot-arm.lock.yml index 07aa9457b4e..00398bd5891 100644 --- a/.github/workflows/smoke-copilot-arm.lock.yml +++ b/.github/workflows/smoke-copilot-arm.lock.yml @@ -339,7 +339,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-copilot-arm.md}} GH_AW_PROMPT_4640b97b7e0f3af2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 636879e9e4b..23ea7d8ba9b 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -335,7 +335,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-copilot.md}} GH_AW_PROMPT_0417eca0b5a55059_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-crush.lock.yml b/.github/workflows/smoke-crush.lock.yml index 02a20b5182a..7ed96ec9aa5 100644 --- a/.github/workflows/smoke-crush.lock.yml +++ b/.github/workflows/smoke-crush.lock.yml @@ -276,7 +276,6 @@ jobs: {{#runtime-import .github/workflows/shared/gh.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-crush.md}} GH_AW_PROMPT_b4fa4429d3aa72ae_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-gemini.lock.yml b/.github/workflows/smoke-gemini.lock.yml index 71d9f32e4c4..d94935874b4 100644 --- a/.github/workflows/smoke-gemini.lock.yml +++ b/.github/workflows/smoke-gemini.lock.yml @@ -293,7 +293,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-gemini.md}} GH_AW_PROMPT_46b9e9e2ca0cb2d1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-multi-pr.lock.yml b/.github/workflows/smoke-multi-pr.lock.yml index a68d254ea90..6d163172bb4 100644 --- a/.github/workflows/smoke-multi-pr.lock.yml +++ b/.github/workflows/smoke-multi-pr.lock.yml @@ -290,7 +290,6 @@ jobs: cat << 'GH_AW_PROMPT_ab50dacb1e41d3cd_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-multi-pr.md}} GH_AW_PROMPT_ab50dacb1e41d3cd_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-opencode.lock.yml b/.github/workflows/smoke-opencode.lock.yml index 1864ae30bdf..193dd08e73d 100644 --- a/.github/workflows/smoke-opencode.lock.yml +++ b/.github/workflows/smoke-opencode.lock.yml @@ -290,7 +290,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-opencode.md}} GH_AW_PROMPT_ce2042b8038d4875_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml index cd731557fb1..f8ad6285747 100644 --- a/.github/workflows/smoke-project.lock.yml +++ b/.github/workflows/smoke-project.lock.yml @@ -288,7 +288,6 @@ jobs: cat << 'GH_AW_PROMPT_58453f345124cba3_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-project.md}} GH_AW_PROMPT_58453f345124cba3_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-temporary-id.lock.yml b/.github/workflows/smoke-temporary-id.lock.yml index fe914226788..e2eaa2c0405 100644 --- a/.github/workflows/smoke-temporary-id.lock.yml +++ b/.github/workflows/smoke-temporary-id.lock.yml @@ -286,7 +286,6 @@ jobs: cat << 'GH_AW_PROMPT_0b94011467fa3229_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-temporary-id.md}} GH_AW_PROMPT_0b94011467fa3229_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-test-tools.lock.yml b/.github/workflows/smoke-test-tools.lock.yml index bad42c5d6ea..817cb862503 100644 --- a/.github/workflows/smoke-test-tools.lock.yml +++ b/.github/workflows/smoke-test-tools.lock.yml @@ -273,7 +273,6 @@ jobs: cat << 'GH_AW_PROMPT_0289aca023ea6d07_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-test-tools.md}} GH_AW_PROMPT_0289aca023ea6d07_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/smoke-workflow-call.lock.yml b/.github/workflows/smoke-workflow-call.lock.yml index d284084083e..239f47f7eee 100644 --- a/.github/workflows/smoke-workflow-call.lock.yml +++ b/.github/workflows/smoke-workflow-call.lock.yml @@ -276,7 +276,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_022421748a24fe95_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/smoke-workflow-call.md}} GH_AW_PROMPT_022421748a24fe95_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/spec-enforcer.lock.yml b/.github/workflows/spec-enforcer.lock.yml index 6f6610e6324..553c85236e0 100644 --- a/.github/workflows/spec-enforcer.lock.yml +++ b/.github/workflows/spec-enforcer.lock.yml @@ -230,7 +230,6 @@ jobs: cat << 'GH_AW_PROMPT_c74a170bf37c0660_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/spec-enforcer.md}} GH_AW_PROMPT_c74a170bf37c0660_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/spec-extractor.lock.yml b/.github/workflows/spec-extractor.lock.yml index 7deac836957..352d2038404 100644 --- a/.github/workflows/spec-extractor.lock.yml +++ b/.github/workflows/spec-extractor.lock.yml @@ -263,7 +263,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/spec-extractor.md}} GH_AW_PROMPT_ae74e8819348589b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/spec-librarian.lock.yml b/.github/workflows/spec-librarian.lock.yml index 6ec830e7934..7049fb00b08 100644 --- a/.github/workflows/spec-librarian.lock.yml +++ b/.github/workflows/spec-librarian.lock.yml @@ -258,7 +258,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/go-source-analysis.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/spec-librarian.md}} GH_AW_PROMPT_2c4d45d7f39bcff2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml index 6a443a53012..fd1fba554dd 100644 --- a/.github/workflows/stale-repo-identifier.lock.yml +++ b/.github/workflows/stale-repo-identifier.lock.yml @@ -259,7 +259,6 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/stale-repo-identifier.md}} GH_AW_PROMPT_e60571291c112fc7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index e595cb52c65..68db82ec516 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -234,7 +234,6 @@ jobs: cat << 'GH_AW_PROMPT_de300e960869964c_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/static-analysis-report.md}} GH_AW_PROMPT_de300e960869964c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/step-name-alignment.lock.yml b/.github/workflows/step-name-alignment.lock.yml index 26b8d0111a8..54459ddda06 100644 --- a/.github/workflows/step-name-alignment.lock.yml +++ b/.github/workflows/step-name-alignment.lock.yml @@ -223,7 +223,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_651666ff422bb502_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/step-name-alignment.md}} GH_AW_PROMPT_651666ff422bb502_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/sub-issue-closer.lock.yml b/.github/workflows/sub-issue-closer.lock.yml index b1000d49602..05ddda75a22 100644 --- a/.github/workflows/sub-issue-closer.lock.yml +++ b/.github/workflows/sub-issue-closer.lock.yml @@ -220,7 +220,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_5ca5aaf91141261e_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/sub-issue-closer.md}} GH_AW_PROMPT_5ca5aaf91141261e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index bd9c873413b..5a8aeced379 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -231,7 +231,6 @@ jobs: cat << 'GH_AW_PROMPT_bd05cc1868cbc217_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/super-linter.md}} GH_AW_PROMPT_bd05cc1868cbc217_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index 3ca7cf51b12..449f287b871 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -235,7 +235,6 @@ jobs: {{#runtime-import .github/skills/documentation/SKILL.md}} {{#runtime-import .github/agents/technical-doc-writer.agent.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/technical-doc-writer.md}} GH_AW_PROMPT_8051d9fb3ffa08e7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/terminal-stylist.lock.yml b/.github/workflows/terminal-stylist.lock.yml index e89dce4e874..ee7effb62c2 100644 --- a/.github/workflows/terminal-stylist.lock.yml +++ b/.github/workflows/terminal-stylist.lock.yml @@ -271,7 +271,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/terminal-stylist.md}} GH_AW_PROMPT_622a0a32a37a95cc_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/test-create-pr-error-handling.lock.yml b/.github/workflows/test-create-pr-error-handling.lock.yml index 469a6e98f9e..60d72f1a4c5 100644 --- a/.github/workflows/test-create-pr-error-handling.lock.yml +++ b/.github/workflows/test-create-pr-error-handling.lock.yml @@ -227,7 +227,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_c3faddc9f47dc4b5_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/test-create-pr-error-handling.md}} GH_AW_PROMPT_c3faddc9f47dc4b5_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/test-dispatcher.lock.yml b/.github/workflows/test-dispatcher.lock.yml index 595dc10824d..5f0998da023 100644 --- a/.github/workflows/test-dispatcher.lock.yml +++ b/.github/workflows/test-dispatcher.lock.yml @@ -216,7 +216,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_639e483721a07aa6_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/test-dispatcher.md}} GH_AW_PROMPT_639e483721a07aa6_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/test-project-url-default.lock.yml b/.github/workflows/test-project-url-default.lock.yml index fb8c3b425b5..380f88befb9 100644 --- a/.github/workflows/test-project-url-default.lock.yml +++ b/.github/workflows/test-project-url-default.lock.yml @@ -217,7 +217,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_115a32ce3f02db9a_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/test-project-url-default.md}} GH_AW_PROMPT_115a32ce3f02db9a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index 97a11f85bf6..1dd8f37d2dd 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -291,7 +291,6 @@ jobs: fi cat << 'GH_AW_PROMPT_d35e31e70bc8be49_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/tidy.md}} GH_AW_PROMPT_d35e31e70bc8be49_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 12aaa8d032b..7e370ce4e20 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -274,7 +274,6 @@ jobs: {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/typist.md}} GH_AW_PROMPT_9755b1b2b7fb5b5d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/ubuntu-image-analyzer.lock.yml b/.github/workflows/ubuntu-image-analyzer.lock.yml index ec21effc4bc..c8182c014a4 100644 --- a/.github/workflows/ubuntu-image-analyzer.lock.yml +++ b/.github/workflows/ubuntu-image-analyzer.lock.yml @@ -231,7 +231,6 @@ jobs: cat << 'GH_AW_PROMPT_37168e83c534310c_EOF' {{#runtime-import .github/workflows/shared/activation-app.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/ubuntu-image-analyzer.md}} GH_AW_PROMPT_37168e83c534310c_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index a31862e711b..a6d24fa3d72 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -286,7 +286,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/docs-server-lifecycle.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/unbloat-docs.md}} GH_AW_PROMPT_9f2c437ff49b0ea9_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index 6632bdddaf6..62c18ff079e 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -225,7 +225,6 @@ jobs: cat << 'GH_AW_PROMPT_5e55eb320375d33b_EOF' {{#runtime-import .github/workflows/shared/ffmpeg.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/video-analyzer.md}} GH_AW_PROMPT_5e55eb320375d33b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/weekly-editors-health-check.lock.yml b/.github/workflows/weekly-editors-health-check.lock.yml index 6375e8fb74a..a53ea4bd74c 100644 --- a/.github/workflows/weekly-editors-health-check.lock.yml +++ b/.github/workflows/weekly-editors-health-check.lock.yml @@ -231,7 +231,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" cat << 'GH_AW_PROMPT_bf1cf1bdac3567da_EOF' - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/weekly-editors-health-check.md}} GH_AW_PROMPT_bf1cf1bdac3567da_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index 97321b323b6..a52b9b42749 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -248,7 +248,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/weekly-issue-summary.md}} GH_AW_PROMPT_508326a69dd2f474_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml index 6ce5125865f..a01e09b00e6 100644 --- a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml +++ b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml @@ -227,7 +227,6 @@ jobs: cat << 'GH_AW_PROMPT_dd5ce0f0ce7b0ccb_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/weekly-safe-outputs-spec-review.md}} GH_AW_PROMPT_dd5ce0f0ce7b0ccb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml index 55f9e3d330d..30df9254f9e 100644 --- a/.github/workflows/workflow-generator.lock.yml +++ b/.github/workflows/workflow-generator.lock.yml @@ -263,7 +263,7 @@ jobs: cat << 'GH_AW_PROMPT_58bb20f44e85297e_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/workflow-generator.md}} GH_AW_PROMPT_58bb20f44e85297e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml index 84358addb3d..3d27f8c4361 100644 --- a/.github/workflows/workflow-health-manager.lock.yml +++ b/.github/workflows/workflow-health-manager.lock.yml @@ -228,7 +228,7 @@ jobs: cat << 'GH_AW_PROMPT_d022aa0b1fb5b046_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} + {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/workflow-health-manager.md}} GH_AW_PROMPT_d022aa0b1fb5b046_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-normalizer.lock.yml b/.github/workflows/workflow-normalizer.lock.yml index 406e50146a5..8aa2e84c6eb 100644 --- a/.github/workflows/workflow-normalizer.lock.yml +++ b/.github/workflows/workflow-normalizer.lock.yml @@ -227,7 +227,6 @@ jobs: cat << 'GH_AW_PROMPT_476e26a6aca6d1d8_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/workflow-normalizer.md}} GH_AW_PROMPT_476e26a6aca6d1d8_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-skill-extractor.lock.yml b/.github/workflows/workflow-skill-extractor.lock.yml index e3f967f5e1d..84757d5a274 100644 --- a/.github/workflows/workflow-skill-extractor.lock.yml +++ b/.github/workflows/workflow-skill-extractor.lock.yml @@ -226,7 +226,6 @@ jobs: cat << 'GH_AW_PROMPT_8c82d58ee03bac04_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/workflow-skill-extractor.md}} GH_AW_PROMPT_8c82d58ee03bac04_EOF } > "$GH_AW_PROMPT" diff --git a/actions/setup/js/runtime_import.cjs b/actions/setup/js/runtime_import.cjs index 7523a99983f..885815ceab6 100644 --- a/actions/setup/js/runtime_import.cjs +++ b/actions/setup/js/runtime_import.cjs @@ -919,8 +919,8 @@ async function processRuntimeImport(filepathOrUrl, optional, workspaceDir, start */ async function processRuntimeImports(content, workspaceDir, importedFiles = new Set(), importCache = new Map(), importStack = []) { // Normalize body-level {{#import}} directives to {{#runtime-import}} equivalents. - // This resolves the bug where {{#import filepath}} in the markdown body was never injected - // into the agent prompt. Both colon and no-colon syntax are supported: + // {{#import}} is deprecated — use {{#runtime-import}} or the 'imports:' frontmatter field instead. + // Both colon and no-colon syntax are supported for backward compatibility: // {{#import filepath}} {{#import? filepath}} // {{#import: filepath}} {{#import?: filepath}} // Use [^\{\}] to avoid matching across brace boundaries (e.g. nested expressions). @@ -932,7 +932,7 @@ async function processRuntimeImports(content, workspaceDir, importedFiles = new return `{{#runtime-import${optional || ""} ${trimmedPath}}}`; }); if (bodyImportCount > 0) { - core.info(`Normalized ${bodyImportCount} body-level {{#import}} directive(s) to runtime-import`); + core.warning(`Deprecated: ${bodyImportCount} {{#import}} directive(s) found. ` + `Use {{#runtime-import}} or the 'imports:' frontmatter field instead.`); } // Pattern to match {{#runtime-import filepath}} or {{#runtime-import? filepath}} diff --git a/actions/setup/js/runtime_import.test.cjs b/actions/setup/js/runtime_import.test.cjs index ca4581b438e..ce34626f2f7 100644 --- a/actions/setup/js/runtime_import.test.cjs +++ b/actions/setup/js/runtime_import.test.cjs @@ -616,11 +616,12 @@ describe("runtime_import", () => { expect(result).toBe("Content"); })); }), - describe("body-level {{#import}} directives", () => { - (it("should resolve {{#import filepath}} (no colon) as runtime-import", async () => { + describe("body-level {{#import}} directives (deprecated)", () => { + (it("should resolve {{#import filepath}} (no colon) as runtime-import and emit deprecation warning", async () => { fs.writeFileSync(path.join(workflowsDir, "import.md"), "Imported content"); const result = await processRuntimeImports("Before\n{{#import import.md}}\nAfter", tempDir); expect(result).toBe("Before\nImported content\nAfter"); + expect(core.warning).toHaveBeenCalledWith(expect.stringContaining("Deprecated")); }), it("should resolve {{#import? filepath}} optional variant", async () => { fs.writeFileSync(path.join(workflowsDir, "import.md"), "Optional content"); diff --git a/docs/src/content/docs/reference/imports.md b/docs/src/content/docs/reference/imports.md index c45f86291c2..1d0e0613606 100644 --- a/docs/src/content/docs/reference/imports.md +++ b/docs/src/content/docs/reference/imports.md @@ -51,7 +51,7 @@ An imported workflow can only be imported once per workflow. New 'with': {"languages":["typescript"]} ``` -In markdown, use the `{{#import ...}}` directive to inject the content of another file directly into the body at that position. This is useful for sharing reusable prompt snippets, tone instructions, or reference material across workflows. +In markdown, use `{{#runtime-import filepath}}` to inject the content of another file directly into the body at that position. This is useful for sharing reusable prompt snippets, tone instructions, or reference material across workflows. ```aw wrap --- @@ -59,26 +59,27 @@ on: schedule engine: copilot --- -{{#import: .github/shared/editorial.md}} +{{#runtime-import .github/shared/editorial.md}} # Daily Report Generate the daily report. ``` -The colon after `#import` is optional — `{{#import: filepath}}` and `{{#import filepath}}` are equivalent. Use `{{#import?: filepath}}` to silently skip a missing file instead of failing: +Use `{{#runtime-import? filepath}}` to silently skip a missing file instead of failing: ```aw wrap -{{#import: .github/shared/editorial.md}} # required — fails if missing -{{#import?: .github/shared/optional.md}} # optional — skipped if missing +{{#runtime-import .github/shared/editorial.md}} # required — fails if missing +{{#runtime-import? .github/shared/optional.md}} # optional — skipped if missing ``` -Paths starting with `.github/` are resolved from the repository root, making them suitable for shared files used by workflows in different directories. +Paths are resolved within the `.github` folder. You can specify paths with or without the `.github/` prefix — both `.github/shared/editorial.md` and `shared/editorial.md` refer to the same file. See [Runtime Imports](/gh-aw/reference/templating/#runtime-imports) for URLs, line ranges, and security details. > [!NOTE] -> Body-level `{{#import}}` injects **content** (markdown text) at the insertion point. It does not merge frontmatter configuration. To share tools, permissions, or MCP servers across workflows, use the `imports:` frontmatter field instead. +> `{{#runtime-import}}` injects **content** (markdown text) at the insertion point. It does not merge frontmatter configuration. To share tools, permissions, or MCP servers across workflows, use the `imports:` frontmatter field instead. -`{{#import filepath}}` is a shorthand that normalizes to `{{#runtime-import filepath}}` at runtime. Use `{{#runtime-import}}` directly when you need its advanced features: **URLs** (`{{#runtime-import https://...}}`), **line ranges** (`{{#runtime-import src/main.go:10-20}}`), or files without the `.github/` prefix. See [Runtime Imports](/gh-aw/reference/templating/#runtime-imports) for the full syntax. +> [!WARNING] +> The `{{#import filepath}}` body-level directive is **deprecated**. Replace it with `{{#runtime-import filepath}}`. The old syntax still works at runtime (it normalizes to `{{#runtime-import}}` automatically) but emits deprecation warnings at both compile time and runtime. ## Shared Workflow Components @@ -276,7 +277,7 @@ imports: ```aw wrap # Body — optional content injection -{{#import?: .github/shared/optional.md}} +{{#runtime-import? .github/shared/optional.md}} ``` ## Remote Repository Imports diff --git a/docs/src/content/docs/reference/templating.md b/docs/src/content/docs/reference/templating.md index c600804590d..c09faa15b83 100644 --- a/docs/src/content/docs/reference/templating.md +++ b/docs/src/content/docs/reference/templating.md @@ -185,9 +185,9 @@ Runtime imports are processed before other substitutions: - **Per-run cache:** URL cache doesn't persist across workflow runs - **Line numbers:** Refer to raw file content before front matter removal -### Relationship to `{{#import}}` +### Deprecated `{{#import}}` -`{{#import filepath}}` (without `runtime-`) is a simpler body-level shorthand that normalizes to `{{#runtime-import filepath}}` at runtime. It supports local files only and accepts the optional colon form (`{{#import: filepath}}`), but does not support URLs, line ranges, or the auto `.github/` prefix. Use it when you only need to inject a local file's content; use `{{#runtime-import}}` directly for URLs or line-range extraction. See [Imports](/gh-aw/reference/imports/) for details. +`{{#import filepath}}` (without `runtime-`) is a **deprecated** body-level shorthand. It normalizes to `{{#runtime-import filepath}}` at runtime for backward compatibility, but emits deprecation warnings at both compile time and runtime. Use `{{#runtime-import}}` directly for all new workflows. See [Imports](/gh-aw/reference/imports/) for details. ### Error Handling diff --git a/pkg/parser/import_directive.go b/pkg/parser/import_directive.go index c365157e607..349ff51ae1e 100644 --- a/pkg/parser/import_directive.go +++ b/pkg/parser/import_directive.go @@ -9,11 +9,11 @@ import ( var importDirectiveLog = logger.New("parser:import_directive") -// IncludeDirectivePattern matches @include, @import (deprecated), or {{#import (new) directives +// IncludeDirectivePattern matches @include, @import (deprecated), or {{#import (deprecated) directives // The colon after #import is optional and ignored if present var IncludeDirectivePattern = regexp.MustCompile(`^(?:@(?:include|import)(\?)?\s+(.+)|{{#import(\?)?\s*:?\s*(.+?)\s*}})$`) -// LegacyIncludeDirectivePattern matches only the deprecated @include and @import directives +// LegacyIncludeDirectivePattern matches the deprecated @include, @import, and {{#import}} directives var LegacyIncludeDirectivePattern = regexp.MustCompile(`^@(?:include|import)(\?)?\s+(.+)$`) // ImportDirectiveMatch holds the parsed components of an import directive @@ -39,21 +39,23 @@ func ParseImportDirective(line string) *ImportDirectiveMatch { return nil } - // Determine legacy vs new syntax from the captured groups of the first match. - // Group 2 (path for @include/@import) is non-empty iff the legacy alternative matched. - isLegacy := matches[2] != "" - importDirectiveLog.Printf("Parsing import directive: legacy=%t, line=%s", isLegacy, trimmedLine) + // All matched forms are now deprecated/legacy. + // Group 2 non-empty → @-style (@include/@import), Group 4 non-empty → {{#import}} style. + // Both are legacy; the distinction is kept for message formatting. + atStyleLegacy := matches[2] != "" + isLegacy := true // every form matched by IncludeDirectivePattern is deprecated + importDirectiveLog.Printf("Parsing import directive: legacy=%t, atStyle=%t, line=%s", isLegacy, atStyleLegacy, trimmedLine) var isOptional bool var path string - if isLegacy { - // Legacy syntax: @include? path or @import? path + if atStyleLegacy { + // @-style legacy syntax: @include? path or @import? path // Group 1: optional marker, Group 2: path isOptional = matches[1] == "?" path = strings.TrimSpace(matches[2]) } else { - // New syntax: {{#import?: path}} or {{#import: path}} (colon is optional) + // {{#import}} deprecated syntax: {{#import?: path}} or {{#import: path}} (colon is optional) // Group 3: optional marker, Group 4: path isOptional = matches[3] == "?" path = strings.TrimSpace(matches[4]) diff --git a/pkg/parser/import_syntax_test.go b/pkg/parser/import_syntax_test.go index ae8c60d2422..ee22b103bdf 100644 --- a/pkg/parser/import_syntax_test.go +++ b/pkg/parser/import_syntax_test.go @@ -16,71 +16,71 @@ func TestParseImportDirective(t *testing.T) { wantOptional bool wantLegacy bool }{ - // New syntax tests + // Deprecated {{#import}} syntax tests (all forms are now legacy) { - name: "new syntax - basic import", + name: "deprecated - basic import", input: "{{#import: shared/tools.md}}", wantMatch: true, wantPath: "shared/tools.md", wantOptional: false, - wantLegacy: false, + wantLegacy: true, }, { - name: "new syntax - optional import", + name: "deprecated - optional import", input: "{{#import?: shared/tools.md}}", wantMatch: true, wantPath: "shared/tools.md", wantOptional: true, - wantLegacy: false, + wantLegacy: true, }, { - name: "new syntax - with extra spaces", + name: "deprecated - with extra spaces", input: "{{#import: shared/tools.md }}", wantMatch: true, wantPath: "shared/tools.md", wantOptional: false, - wantLegacy: false, + wantLegacy: true, }, { - name: "new syntax - with section", + name: "deprecated - with section", input: "{{#import: shared/tools.md#Security}}", wantMatch: true, wantPath: "shared/tools.md#Security", wantOptional: false, - wantLegacy: false, + wantLegacy: true, }, { - name: "new syntax - optional with section", + name: "deprecated - optional with section", input: "{{#import?: shared/tools.md#Security}}", wantMatch: true, wantPath: "shared/tools.md#Security", wantOptional: true, - wantLegacy: false, + wantLegacy: true, }, - // New syntax without colon tests + // Deprecated {{#import}} syntax without colon tests { - name: "new syntax - basic import without colon", + name: "deprecated - basic import without colon", input: "{{#import shared/tools.md}}", wantMatch: true, wantPath: "shared/tools.md", wantOptional: false, - wantLegacy: false, + wantLegacy: true, }, { - name: "new syntax - optional import without colon", + name: "deprecated - optional import without colon", input: "{{#import? shared/tools.md}}", wantMatch: true, wantPath: "shared/tools.md", wantOptional: true, - wantLegacy: false, + wantLegacy: true, }, { - name: "new syntax - with section without colon", + name: "deprecated - with section without colon", input: "{{#import shared/tools.md#Security}}", wantMatch: true, wantPath: "shared/tools.md#Security", wantOptional: false, - wantLegacy: false, + wantLegacy: true, }, // Legacy syntax tests { diff --git a/pkg/parser/include_expander.go b/pkg/parser/include_expander.go index 7f36b57c3ce..ecc8f0cb74f 100644 --- a/pkg/parser/include_expander.go +++ b/pkg/parser/include_expander.go @@ -5,6 +5,7 @@ import ( "bytes" "fmt" "path/filepath" + "regexp" "strings" "github.com/github/gh-aw/pkg/logger" @@ -114,44 +115,57 @@ func findGitHubRepoRoot(dir string) string { } } -// BodyLevelImport represents a single {{#import:}} directive found in a markdown body, -// with the path resolved to be workspace-root-relative (suitable for {{#runtime-import}} macros). +// BodyLevelImport represents a single {{#runtime-import}} or deprecated {{#import}} directive +// found in a markdown body, with the path resolved to be workspace-root-relative. type BodyLevelImport struct { Path string // workspace-root-relative path for the {{#runtime-import}} macro Optional bool // true when the original directive used the ? form } +// bodyLevelRuntimeImportRe matches {{#runtime-import}} and {{#runtime-import?}} directives +// in a single line of markdown (same pattern as runtime_import.cjs uses at runtime). +var bodyLevelRuntimeImportRe = regexp.MustCompile(`^\{\{#runtime-import(\?)?[ \t]+([^\}]+?)\}\}$`) + // ExtractBodyLevelImportPaths scans the markdown body (content is the body after frontmatter -// has been stripped) for {{#import:}} directives and returns them as BodyLevelImport entries -// whose Path fields are ready to use in {{#runtime-import}} macros. +// has been stripped) for {{#runtime-import}} directives and returns them as BodyLevelImport entries +// whose Path fields are ready to use in explicit {{#runtime-import}} macros in the compiled lock file. // // Relative paths (e.g. "shared/tools.md") are converted to workspace-root-relative form // (e.g. ".github/workflows/shared/tools.md") using baseDir and the repo root. // Paths that already start with ".github/" are kept as-is. -// Legacy @include / @import directives are ignored (they are handled separately). +// Deprecated {{#import}} and legacy @include / @import directives are ignored; +// they are handled (with deprecation warnings) by include_processor.go. func ExtractBodyLevelImportPaths(content, baseDir string) []BodyLevelImport { repoRoot := findGitHubRepoRoot(baseDir) var results []BodyLevelImport scanner := bufio.NewScanner(strings.NewReader(content)) for scanner.Scan() { - line := scanner.Text() - directive := ParseImportDirective(line) - if directive == nil || directive.IsLegacy { + line := strings.TrimSpace(scanner.Text()) + + // Match {{#runtime-import}} directives only. + m := bodyLevelRuntimeImportRe.FindStringSubmatch(line) + if m == nil { continue } + optional := m[1] == "?" + importPath := strings.TrimSpace(m[2]) - importPath := directive.Path // Strip section reference (e.g. "file.md#Section" → "file.md") if idx := strings.Index(importPath, "#"); idx >= 0 { importPath = importPath[:idx] } importPath = strings.TrimSpace(importPath) + // Skip URLs — these are fetched at runtime and don't need promotion. + if strings.HasPrefix(importPath, "http://") || strings.HasPrefix(importPath, "https://") { + continue + } + // Convert relative paths to workspace-root-relative. // Paths already starting with ".github/" are workspace-root-relative. - // Absolute "/" paths are also used as-is. - if !strings.HasPrefix(importPath, ".github/") && !strings.HasPrefix(importPath, "/") { + // Absolute paths are used as-is. + if !strings.HasPrefix(importPath, ".github/") && !filepath.IsAbs(importPath) { if repoRoot != "" { fullPath := filepath.Join(baseDir, importPath) if rel, err := filepath.Rel(repoRoot, fullPath); err == nil && !strings.HasPrefix(rel, "..") { @@ -162,7 +176,7 @@ func ExtractBodyLevelImportPaths(content, baseDir string) []BodyLevelImport { results = append(results, BodyLevelImport{ Path: filepath.ToSlash(importPath), - Optional: directive.IsOptional, + Optional: optional, }) } return results diff --git a/pkg/parser/include_processor.go b/pkg/parser/include_processor.go index 62bec99d5ae..10d9d881ee3 100644 --- a/pkg/parser/include_processor.go +++ b/pkg/parser/include_processor.go @@ -38,10 +38,23 @@ func processIncludesWithVisited(content, baseDir string, extractTools bool, visi if directive.IsOptional { optionalMarker = "?" } - fmt.Fprintln(os.Stderr, console.FormatWarningMessage(fmt.Sprintf("Deprecated syntax: %q. Use {{#import%s %s}} instead.", + // Choose the recommended replacement based on which deprecated form was used. + // {{#import}} directives → recommend {{#runtime-import}} or imports: frontmatter. + // @include / @import directives → recommend {{#import}} (already deprecated itself, + // but still a closer equivalent than jumping straight to runtime-import). + var suggestion string + if strings.HasPrefix(strings.TrimSpace(directive.Original), "{{") { + suggestion = fmt.Sprintf("Use {{#runtime-import%s %s}} for content injection or the 'imports:' frontmatter field for configuration merging.", + optionalMarker, + directive.Path) + } else { + suggestion = fmt.Sprintf("Use {{#runtime-import%s %s}} instead.", + optionalMarker, + directive.Path) + } + fmt.Fprintln(os.Stderr, console.FormatWarningMessage(fmt.Sprintf("Deprecated syntax: %q. %s", directive.Original, - optionalMarker, - directive.Path))) + suggestion))) } isOptional := directive.IsOptional diff --git a/pkg/workflow/compiler_orchestrator_tools.go b/pkg/workflow/compiler_orchestrator_tools.go index 68cf3f233d4..c2703e7e81b 100644 --- a/pkg/workflow/compiler_orchestrator_tools.go +++ b/pkg/workflow/compiler_orchestrator_tools.go @@ -240,14 +240,15 @@ func (c *Compiler) processToolsAndMarkdown(result *parser.FrontmatterResult, cle orchestratorToolsLog.Printf("Found %d import paths for runtime-import macros", len(importPaths)) } - // Extract body-level {{#import:}} directives and append them to importPaths so they - // appear as explicit {{#runtime-import}} macros in the compiled lock file (before the - // main workflow-file macro). At runtime, runtime_import.cjs deduplicates via an - // importedFiles Set, so files imported here won't be imported a second time when - // the main workflow file body is processed. + // Extract body-level {{#runtime-import}} directives and append them to importPaths so they + // appear as explicit macros in the compiled lock file (before the main workflow-file macro). + // This makes imported files visible in the lock file at a glance and ensures they are + // fetched before the main workflow body is processed. + // At runtime, runtime_import.cjs deduplicates via an importedFiles Set, so files listed + // here won't be imported a second time when the main workflow file body is processed. bodyImports := parser.ExtractBodyLevelImportPaths(result.Markdown, markdownDir) if len(bodyImports) > 0 { - orchestratorToolsLog.Printf("Found %d body-level import directive(s) to promote to runtime-import macros", len(bodyImports)) + orchestratorToolsLog.Printf("Found %d body-level {{#runtime-import}} directive(s) to promote to lock-file macros", len(bodyImports)) for _, bi := range bodyImports { importPaths = append(importPaths, bi.Path) } diff --git a/pkg/workflow/manifest_test.go b/pkg/workflow/manifest_test.go index 2f3474e6b6d..161465a8f34 100644 --- a/pkg/workflow/manifest_test.go +++ b/pkg/workflow/manifest_test.go @@ -396,10 +396,10 @@ func extractLockFileHeader(content string) string { return strings.Join(lines, "\n") } -// TestBodyLevelImportPromotedToRuntimeImport verifies that a body-level {{#import:}} directive -// generates an explicit {{#runtime-import}} macro in the compiled lock-file prompt, +// TestBodyLevelRuntimeImportPromotedToMacro verifies that a body-level {{#runtime-import}} directive +// in the workflow markdown generates an explicit {{#runtime-import}} macro in the compiled lock-file prompt, // making the imported content visible without having to chase the workflow file at runtime. -func TestBodyLevelImportPromotedToRuntimeImport(t *testing.T) { +func TestBodyLevelRuntimeImportPromotedToMacro(t *testing.T) { tmpDir := testutil.TempDir(t, "body-import-test") // Create .github/workflows/ and .github/shared/ structure @@ -418,7 +418,7 @@ func TestBodyLevelImportPromotedToRuntimeImport(t *testing.T) { t.Fatal(err) } - // Workflow has a body-level {{#import:}} directive + // Workflow uses {{#runtime-import}} directly (preferred form) workflowContent := `--- on: schedule: @@ -431,7 +431,7 @@ safe-outputs: create-issue: {} --- -{{#import: .github/shared/editorial.md}} +{{#runtime-import .github/shared/editorial.md}} # Daily Report From e182e331dc7c31a078089fb15eb4e643c9702265 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 25 Apr 2026 03:13:02 +0000 Subject: [PATCH 12/12] fix: skip optional {{#runtime-import?}} in body-level promotion to avoid duplicate macros in lock file Agent-Logs-Url: https://github.com/github/gh-aw/sessions/b24faaf7-1ce1-4f73-a6f5-46d36515ae8b Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../workflows/agent-performance-analyzer.lock.yml | 1 - .github/workflows/agentic-optimization-kit.lock.yml | 1 - .github/workflows/copilot-opt.lock.yml | 1 - .github/workflows/copilot-token-audit.lock.yml | 1 - .github/workflows/copilot-token-optimizer.lock.yml | 1 - .../workflows/daily-assign-issue-to-user.lock.yml | 1 - .github/workflows/daily-cli-performance.lock.yml | 1 - .github/workflows/daily-code-metrics.lock.yml | 1 - .github/workflows/daily-compiler-quality.lock.yml | 1 - .github/workflows/daily-doc-healer.lock.yml | 1 - .github/workflows/daily-doc-updater.lock.yml | 1 - .github/workflows/daily-fact.lock.yml | 13 ++++++------- .github/workflows/daily-file-diet.lock.yml | 1 - .github/workflows/daily-firewall-report.lock.yml | 1 - .github/workflows/daily-hippo-learn.lock.yml | 1 - .github/workflows/daily-integrity-analysis.lock.yml | 1 - .github/workflows/daily-issues-report.lock.yml | 1 - .../workflows/daily-malicious-code-scan.lock.yml | 1 - .../daily-mcp-concurrency-analysis.lock.yml | 1 - .../daily-multi-device-docs-tester.lock.yml | 1 - .github/workflows/daily-news.lock.yml | 1 - .../workflows/daily-observability-report.lock.yml | 13 ++++++------- .../workflows/daily-performance-summary.lock.yml | 1 - .github/workflows/daily-regulatory.lock.yml | 1 - .github/workflows/daily-repo-chronicle.lock.yml | 1 - .../workflows/daily-safe-output-integrator.lock.yml | 1 - .github/workflows/daily-secrets-analysis.lock.yml | 1 - .../workflows/daily-syntax-error-quality.lock.yml | 1 - .github/workflows/daily-team-status.lock.yml | 1 - .../daily-testify-uber-super-expert.lock.yml | 1 - .../daily-token-consumption-report.lock.yml | 1 - .github/workflows/daily-workflow-updater.lock.yml | 1 - .github/workflows/delight.lock.yml | 1 - .github/workflows/hippo-embed.lock.yml | 1 - .github/workflows/issue-monster.lock.yml | 1 - .github/workflows/metrics-collector.lock.yml | 1 - .github/workflows/workflow-generator.lock.yml | 1 - .github/workflows/workflow-health-manager.lock.yml | 1 - pkg/parser/include_expander.go | 9 ++++++++- 39 files changed, 20 insertions(+), 51 deletions(-) diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml index a990b63247a..25c05a14ffd 100644 --- a/.github/workflows/agent-performance-analyzer.lock.yml +++ b/.github/workflows/agent-performance-analyzer.lock.yml @@ -228,7 +228,6 @@ jobs: cat << 'GH_AW_PROMPT_e8efe57977b9f20b_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/agent-performance-analyzer.md}} GH_AW_PROMPT_e8efe57977b9f20b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/agentic-optimization-kit.lock.yml b/.github/workflows/agentic-optimization-kit.lock.yml index f9fdf476ba1..234b32048f0 100644 --- a/.github/workflows/agentic-optimization-kit.lock.yml +++ b/.github/workflows/agentic-optimization-kit.lock.yml @@ -250,7 +250,6 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/agentic-optimization-kit.md}} GH_AW_PROMPT_9100bdd176381480_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-opt.lock.yml b/.github/workflows/copilot-opt.lock.yml index 248dfec0c6d..04be3ba5953 100644 --- a/.github/workflows/copilot-opt.lock.yml +++ b/.github/workflows/copilot-opt.lock.yml @@ -235,7 +235,6 @@ jobs: {{#runtime-import .github/workflows/shared/copilot-session-data-fetch.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/copilot-opt.md}} GH_AW_PROMPT_0404f3c866992fba_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-token-audit.lock.yml b/.github/workflows/copilot-token-audit.lock.yml index 027de1e0476..7036768bf91 100644 --- a/.github/workflows/copilot-token-audit.lock.yml +++ b/.github/workflows/copilot-token-audit.lock.yml @@ -249,7 +249,6 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/copilot-token-audit.md}} GH_AW_PROMPT_425c973e61470279_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/copilot-token-optimizer.lock.yml b/.github/workflows/copilot-token-optimizer.lock.yml index 1d66980389c..5933c9f5256 100644 --- a/.github/workflows/copilot-token-optimizer.lock.yml +++ b/.github/workflows/copilot-token-optimizer.lock.yml @@ -231,7 +231,6 @@ jobs: cat << 'GH_AW_PROMPT_fb7a896802031a54_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/copilot-token-optimizer.md}} GH_AW_PROMPT_fb7a896802031a54_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index f2be692b5ca..00dd7ce1ff4 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -227,7 +227,6 @@ jobs: cat << 'GH_AW_PROMPT_cf7bda9600980afb_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-assign-issue-to-user.md}} GH_AW_PROMPT_cf7bda9600980afb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-cli-performance.lock.yml b/.github/workflows/daily-cli-performance.lock.yml index 2a39dff04f0..dea8fd7cb86 100644 --- a/.github/workflows/daily-cli-performance.lock.yml +++ b/.github/workflows/daily-cli-performance.lock.yml @@ -265,7 +265,6 @@ jobs: {{#runtime-import .github/workflows/shared/go-make.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-cli-performance.md}} GH_AW_PROMPT_e4df3d235e59eebe_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 727f70cc8cd..97a2ba2d1c7 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -251,7 +251,6 @@ jobs: {{#runtime-import .github/workflows/shared/trends.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-code-metrics.md}} GH_AW_PROMPT_ccc54d8c5d380212_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-compiler-quality.lock.yml b/.github/workflows/daily-compiler-quality.lock.yml index e7408b769dd..3673e98afdb 100644 --- a/.github/workflows/daily-compiler-quality.lock.yml +++ b/.github/workflows/daily-compiler-quality.lock.yml @@ -272,7 +272,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-compiler-quality.md}} GH_AW_PROMPT_b318fb04267a1678_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-doc-healer.lock.yml b/.github/workflows/daily-doc-healer.lock.yml index 2af965c0d54..ba19338cc2c 100644 --- a/.github/workflows/daily-doc-healer.lock.yml +++ b/.github/workflows/daily-doc-healer.lock.yml @@ -245,7 +245,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-doc-healer.md}} GH_AW_PROMPT_a31130f978d0d7ec_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index 7c0ab13682c..e6a76eaf074 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -244,7 +244,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-doc-updater.md}} GH_AW_PROMPT_741719fb8401d7b7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index 925576db45c..d4690f1b948 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -245,7 +245,6 @@ jobs: - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import? .github/shared-instructions.md}} # Daily Fact About gh-aw @@ -1396,18 +1395,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_529fb9fad3176e90_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_6757623b9ba12653_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_529fb9fad3176e90_EOF + GH_AW_MCP_CONFIG_6757623b9ba12653_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_a26cb26de4d328d7_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_ee671eb9410510b8_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1418,11 +1417,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_a26cb26de4d328d7_EOF + GH_AW_MCP_CONFIG_ee671eb9410510b8_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_818aefdc91ceef5f_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_73fd68f19c59a61a_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1432,7 +1431,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_818aefdc91ceef5f_EOF + GH_AW_CODEX_SHELL_POLICY_73fd68f19c59a61a_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index ba63a0f6426..2edd43646f3 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -275,7 +275,6 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-file-diet.md}} GH_AW_PROMPT_fe4e05911571678a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index eb8e940d177..30f0a04ec2d 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -252,7 +252,6 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-firewall-report.md}} GH_AW_PROMPT_01e0a608c28ca7bb_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-hippo-learn.lock.yml b/.github/workflows/daily-hippo-learn.lock.yml index 2c98494c956..23555b744c5 100644 --- a/.github/workflows/daily-hippo-learn.lock.yml +++ b/.github/workflows/daily-hippo-learn.lock.yml @@ -222,7 +222,6 @@ jobs: {{#runtime-import .github/workflows/shared/hippo-memory.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-hippo-learn.md}} GH_AW_PROMPT_3559f743089dd0e1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-integrity-analysis.lock.yml b/.github/workflows/daily-integrity-analysis.lock.yml index e0d49086a30..00d62237278 100644 --- a/.github/workflows/daily-integrity-analysis.lock.yml +++ b/.github/workflows/daily-integrity-analysis.lock.yml @@ -249,7 +249,6 @@ jobs: {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-integrity-analysis.md}} GH_AW_PROMPT_3e2cf01d558d33ba_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 33355b5091e..412c11dd6ef 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -260,7 +260,6 @@ jobs: {{#runtime-import .github/workflows/shared/trends.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/shared/editorial.md}} {{#runtime-import .github/workflows/daily-issues-report.md}} GH_AW_PROMPT_9e1e7ac2d1f2b660_EOF diff --git a/.github/workflows/daily-malicious-code-scan.lock.yml b/.github/workflows/daily-malicious-code-scan.lock.yml index 10310ecf652..7995047f91f 100644 --- a/.github/workflows/daily-malicious-code-scan.lock.yml +++ b/.github/workflows/daily-malicious-code-scan.lock.yml @@ -232,7 +232,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-malicious-code-scan.md}} GH_AW_PROMPT_fa68f658878cf9c1_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml index 846798e01d8..f9fe9a0e239 100644 --- a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml +++ b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml @@ -269,7 +269,6 @@ jobs: {{#runtime-import .github/workflows/shared/safe-output-app.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-mcp-concurrency-analysis.md}} GH_AW_PROMPT_02905746383fa63a_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index faa41455942..0653b0051f9 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -246,7 +246,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-multi-device-docs-tester.md}} GH_AW_PROMPT_9fce98d84a1f5713_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index f9510abbe1a..1a44abd0a94 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -250,7 +250,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/shared/editorial.md}} {{#runtime-import .github/workflows/daily-news.md}} GH_AW_PROMPT_d515ff7b72bcd152_EOF diff --git a/.github/workflows/daily-observability-report.lock.yml b/.github/workflows/daily-observability-report.lock.yml index eb811667f34..fc13bade1dc 100644 --- a/.github/workflows/daily-observability-report.lock.yml +++ b/.github/workflows/daily-observability-report.lock.yml @@ -248,7 +248,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-observability-report.md}} GH_AW_PROMPT_11fa358344c01b2e_EOF } > "$GH_AW_PROMPT" @@ -1314,18 +1313,18 @@ jobs: DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0') export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --add-host host.docker.internal:127.0.0.1 --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e CODEX_HOME -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.3.0' - cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_8ecb53417eb164a9_EOF + cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_04708a94aec321c6_EOF [history] persistence = "none" [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_MCP_CONFIG_8ecb53417eb164a9_EOF + GH_AW_MCP_CONFIG_04708a94aec321c6_EOF # Generate JSON config for MCP gateway GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node) - cat << GH_AW_MCP_CONFIG_01cbf42522fc9b41_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" + cat << GH_AW_MCP_CONFIG_29862326540731be_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs" { "mcpServers": { }, @@ -1336,11 +1335,11 @@ jobs: "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}" } } - GH_AW_MCP_CONFIG_01cbf42522fc9b41_EOF + GH_AW_MCP_CONFIG_29862326540731be_EOF # Sync converter output to writable CODEX_HOME for Codex mkdir -p /tmp/gh-aw/mcp-config - cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_363d9c24739504ac_EOF + cat > "/tmp/gh-aw/mcp-config/config.toml" << GH_AW_CODEX_SHELL_POLICY_bf62a3cca3cc7f92_EOF model_provider = "openai-proxy" [model_providers.openai-proxy] name = "OpenAI AWF proxy" @@ -1350,7 +1349,7 @@ jobs: [shell_environment_policy] inherit = "core" include_only = ["CODEX_API_KEY", "HOME", "OPENAI_API_KEY", "PATH"] - GH_AW_CODEX_SHELL_POLICY_363d9c24739504ac_EOF + GH_AW_CODEX_SHELL_POLICY_bf62a3cca3cc7f92_EOF awk ' BEGIN { skip_openai_proxy = 0 } /^[[:space:]]*model_provider[[:space:]]*=/ { next } diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index e67a602d91d..ada8751cebe 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -250,7 +250,6 @@ jobs: {{#runtime-import .github/workflows/shared/trending-charts-simple.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-performance-summary.md}} GH_AW_PROMPT_4d1d60523c12164b_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-regulatory.lock.yml b/.github/workflows/daily-regulatory.lock.yml index 2ff762e702f..2340c041857 100644 --- a/.github/workflows/daily-regulatory.lock.yml +++ b/.github/workflows/daily-regulatory.lock.yml @@ -241,7 +241,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-regulatory.md}} GH_AW_PROMPT_4ff4456d5c004992_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index 27152097092..cac85ddba2c 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -242,7 +242,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-repo-chronicle.md}} GH_AW_PROMPT_434e1d9812bba1d7_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-safe-output-integrator.lock.yml b/.github/workflows/daily-safe-output-integrator.lock.yml index 27c169f02ac..2f649aa1718 100644 --- a/.github/workflows/daily-safe-output-integrator.lock.yml +++ b/.github/workflows/daily-safe-output-integrator.lock.yml @@ -234,7 +234,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-safe-output-integrator.md}} GH_AW_PROMPT_3199945869eb9f36_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-secrets-analysis.lock.yml b/.github/workflows/daily-secrets-analysis.lock.yml index ccc249c79b1..48af2ad36e7 100644 --- a/.github/workflows/daily-secrets-analysis.lock.yml +++ b/.github/workflows/daily-secrets-analysis.lock.yml @@ -232,7 +232,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-secrets-analysis.md}} GH_AW_PROMPT_f5e37979c9502661_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-syntax-error-quality.lock.yml b/.github/workflows/daily-syntax-error-quality.lock.yml index 595941c0fb7..a3a3137e28d 100644 --- a/.github/workflows/daily-syntax-error-quality.lock.yml +++ b/.github/workflows/daily-syntax-error-quality.lock.yml @@ -232,7 +232,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-syntax-error-quality.md}} GH_AW_PROMPT_b0bed03293d9e959_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index 41300457be2..0e64ea02ad7 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -249,7 +249,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/shared/editorial.md}} {{#runtime-import .github/workflows/daily-team-status.md}} GH_AW_PROMPT_31fef7a17811ecb8_EOF diff --git a/.github/workflows/daily-testify-uber-super-expert.lock.yml b/.github/workflows/daily-testify-uber-super-expert.lock.yml index cfdd084b9da..fa6594fffc1 100644 --- a/.github/workflows/daily-testify-uber-super-expert.lock.yml +++ b/.github/workflows/daily-testify-uber-super-expert.lock.yml @@ -277,7 +277,6 @@ jobs: {{#runtime-import .github/workflows/shared/observability-otlp.md}} {{#runtime-import .github/workflows/shared/mcp/serena-go.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-testify-uber-super-expert.md}} GH_AW_PROMPT_692afb371db39ced_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-token-consumption-report.lock.yml b/.github/workflows/daily-token-consumption-report.lock.yml index 2b96f3d3034..e4c9efa6008 100644 --- a/.github/workflows/daily-token-consumption-report.lock.yml +++ b/.github/workflows/daily-token-consumption-report.lock.yml @@ -243,7 +243,6 @@ jobs: {{#runtime-import .github/workflows/shared/reporting-otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-token-consumption-report.md}} GH_AW_PROMPT_3edd0ce42e733bd2_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index c2ae6f5d011..19a71b3bbc5 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -232,7 +232,6 @@ jobs: cat << 'GH_AW_PROMPT_cce583e828b11915_EOF' {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/daily-workflow-updater.md}} GH_AW_PROMPT_cce583e828b11915_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/delight.lock.yml b/.github/workflows/delight.lock.yml index f9ec3c6d41b..8589a43ebfe 100644 --- a/.github/workflows/delight.lock.yml +++ b/.github/workflows/delight.lock.yml @@ -237,7 +237,6 @@ jobs: {{#runtime-import .github/workflows/shared/jqschema.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/observability-otlp.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/delight.md}} GH_AW_PROMPT_b91d149178a86edf_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/hippo-embed.lock.yml b/.github/workflows/hippo-embed.lock.yml index ef64327800d..13932975cfc 100644 --- a/.github/workflows/hippo-embed.lock.yml +++ b/.github/workflows/hippo-embed.lock.yml @@ -208,7 +208,6 @@ jobs: cat << 'GH_AW_PROMPT_03347271a7635f0d_EOF' {{#runtime-import .github/workflows/shared/hippo-memory.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/hippo-embed.md}} GH_AW_PROMPT_03347271a7635f0d_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml index bf2c911b2d7..73560ea99fa 100644 --- a/.github/workflows/issue-monster.lock.yml +++ b/.github/workflows/issue-monster.lock.yml @@ -611,7 +611,6 @@ jobs: {{#runtime-import .github/workflows/shared/github-guard-policy.md}} {{#runtime-import .github/workflows/shared/activation-app.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/issue-monster.md}} GH_AW_PROMPT_e301ff5ec303eb90_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/metrics-collector.lock.yml b/.github/workflows/metrics-collector.lock.yml index a24f66d42ac..4ab0fb00a2b 100644 --- a/.github/workflows/metrics-collector.lock.yml +++ b/.github/workflows/metrics-collector.lock.yml @@ -219,7 +219,6 @@ jobs: cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_prompt.md" cat << 'GH_AW_PROMPT_b924bc50dd3709b3_EOF' - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/metrics-collector.md}} GH_AW_PROMPT_b924bc50dd3709b3_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml index 30df9254f9e..409a8111492 100644 --- a/.github/workflows/workflow-generator.lock.yml +++ b/.github/workflows/workflow-generator.lock.yml @@ -263,7 +263,6 @@ jobs: cat << 'GH_AW_PROMPT_58bb20f44e85297e_EOF' {{#runtime-import .github/workflows/shared/github-guard-policy.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/workflow-generator.md}} GH_AW_PROMPT_58bb20f44e85297e_EOF } > "$GH_AW_PROMPT" diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml index 3d27f8c4361..e65306f7b9e 100644 --- a/.github/workflows/workflow-health-manager.lock.yml +++ b/.github/workflows/workflow-health-manager.lock.yml @@ -228,7 +228,6 @@ jobs: cat << 'GH_AW_PROMPT_d022aa0b1fb5b046_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/shared-instructions.md}} {{#runtime-import .github/workflows/workflow-health-manager.md}} GH_AW_PROMPT_d022aa0b1fb5b046_EOF } > "$GH_AW_PROMPT" diff --git a/pkg/parser/include_expander.go b/pkg/parser/include_expander.go index ecc8f0cb74f..76a8d9b2932 100644 --- a/pkg/parser/include_expander.go +++ b/pkg/parser/include_expander.go @@ -149,6 +149,13 @@ func ExtractBodyLevelImportPaths(content, baseDir string) []BodyLevelImport { continue } optional := m[1] == "?" + + // Skip optional directives — they are handled with proper semantics at runtime + // when runtime_import.cjs processes the workflow body. Promoting an optional + // directive as a required macro would cause failures if the file is missing. + if optional { + continue + } importPath := strings.TrimSpace(m[2]) // Strip section reference (e.g. "file.md#Section" → "file.md") @@ -176,7 +183,7 @@ func ExtractBodyLevelImportPaths(content, baseDir string) []BodyLevelImport { results = append(results, BodyLevelImport{ Path: filepath.ToSlash(importPath), - Optional: optional, + Optional: false, // optional directives are skipped above; only required imports are promoted }) } return results