From 551493bb7ca041657b8a57a7a08f8115739615a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 15:08:27 +0000 Subject: [PATCH 1/2] docs: update agentic maintenance documentation (initial plan) Agent-Logs-Url: https://github.com/github/gh-aw/sessions/dda184a0-414f-4c6e-b9d9-92b4d0bc2e5e Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/agentics-maintenance.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/agentics-maintenance.yml b/.github/workflows/agentics-maintenance.yml index 5dac0c9a07a..8c142f3ab1a 100644 --- a/.github/workflows/agentics-maintenance.yml +++ b/.github/workflows/agentics-maintenance.yml @@ -281,7 +281,7 @@ jobs: validate_workflows: if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.operation == 'validate' && !github.event.repository.fork }} - runs-on: ubuntu-latest + runs-on: ubuntu-slim permissions: contents: read issues: write @@ -315,11 +315,6 @@ jobs: - name: Build gh-aw run: make build - - name: Start Docker daemon - run: | - sudo systemctl start docker - docker info - - name: Validate workflows and file issue on findings uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9 env: From 6691ab859eae0e8b645120742babfca68d09d75c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 15:14:27 +0000 Subject: [PATCH 2/2] docs: update agentic maintenance docs with latest features - Add cache-memory cleanup section to Ephemerals guide - Add missing operations: update, upgrade, clean_cache_memories, validate - Fix safe_outputs operation description (replay, not auto-close) - Add aw.json configuration section (custom runner, disable maintenance) - Add automatic cleanup section to Cache Memory reference - Docs build passes with all links valid Agent-Logs-Url: https://github.com/github/gh-aw/sessions/dda184a0-414f-4c6e-b9d9-92b4d0bc2e5e Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../src/content/docs/agent-factory-status.mdx | 26 ++++++--- docs/src/content/docs/guides/ephemerals.md | 55 +++++++++++++++++-- .../content/docs/reference/cache-memory.md | 6 ++ 3 files changed, 74 insertions(+), 13 deletions(-) diff --git a/docs/src/content/docs/agent-factory-status.mdx b/docs/src/content/docs/agent-factory-status.mdx index e693dfecb73..abbe4022f5c 100644 --- a/docs/src/content/docs/agent-factory-status.mdx +++ b/docs/src/content/docs/agent-factory-status.mdx @@ -17,8 +17,10 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Agentic Observability Kit](https://github.com/github/gh-aw/blob/main/.github/workflows/agentic-observability-kit.md) | copilot | [![Agentic Observability Kit](https://github.com/github/gh-aw/actions/workflows/agentic-observability-kit.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/agentic-observability-kit.lock.yml) | - | - | | [Agentic Workflow Audit Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/audit-workflows.md) | claude | [![Agentic Workflow Audit Agent](https://github.com/github/gh-aw/actions/workflows/audit-workflows.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/audit-workflows.lock.yml) | - | - | | [AI Moderator](https://github.com/github/gh-aw/blob/main/.github/workflows/ai-moderator.md) | codex | [![AI Moderator](https://github.com/github/gh-aw/actions/workflows/ai-moderator.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ai-moderator.lock.yml) | - | - | +| [Approach Validator](https://github.com/github/gh-aw/blob/main/.github/workflows/approach-validator.md) | claude | [![Approach Validator](https://github.com/github/gh-aw/actions/workflows/approach-validator.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/approach-validator.lock.yml) | - | - | | [Archie](https://github.com/github/gh-aw/blob/main/.github/workflows/archie.md) | copilot | [![Archie](https://github.com/github/gh-aw/actions/workflows/archie.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/archie.lock.yml) | - | `/archie` | | [Architecture Diagram Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-architecture-diagram.md) | copilot | [![Architecture Diagram Generator](https://github.com/github/gh-aw/actions/workflows/daily-architecture-diagram.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-architecture-diagram.lock.yml) | - | - | +| [Architecture Guardian](https://github.com/github/gh-aw/blob/main/.github/workflows/architecture-guardian.md) | copilot | [![Architecture Guardian](https://github.com/github/gh-aw/actions/workflows/architecture-guardian.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/architecture-guardian.lock.yml) | - | - | | [Artifacts Summary](https://github.com/github/gh-aw/blob/main/.github/workflows/artifacts-summary.md) | copilot | [![Artifacts Summary](https://github.com/github/gh-aw/actions/workflows/artifacts-summary.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/artifacts-summary.lock.yml) | - | - | | [Auto-Assign Issue](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-assign-issue-to-user.md) | copilot | [![Auto-Assign Issue](https://github.com/github/gh-aw/actions/workflows/daily-assign-issue-to-user.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-assign-issue-to-user.lock.yml) | - | - | | [Auto-Triage Issues](https://github.com/github/gh-aw/blob/main/.github/workflows/auto-triage-issues.md) | copilot | [![Auto-Triage Issues](https://github.com/github/gh-aw/actions/workflows/auto-triage-issues.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/auto-triage-issues.lock.yml) | - | - | @@ -29,8 +31,8 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Brave Web Search Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/brave.md) | copilot | [![Brave Web Search Agent](https://github.com/github/gh-aw/actions/workflows/brave.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/brave.lock.yml) | - | `/brave` | | [Breaking Change Checker](https://github.com/github/gh-aw/blob/main/.github/workflows/breaking-change-checker.md) | copilot | [![Breaking Change Checker](https://github.com/github/gh-aw/actions/workflows/breaking-change-checker.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/breaking-change-checker.lock.yml) | - | - | | [Changeset Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/changeset.md) | codex | [![Changeset Generator](https://github.com/github/gh-aw/actions/workflows/changeset.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/changeset.lock.yml) | - | - | -| [CI Cleaner](https://github.com/github/gh-aw/blob/main/.github/workflows/hourly-ci-cleaner.md) | copilot | [![CI Cleaner](https://github.com/github/gh-aw/actions/workflows/hourly-ci-cleaner.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/hourly-ci-cleaner.lock.yml) | `15 6,18 * * *` | - | -| [CI Failure Doctor](https://github.com/github/gh-aw/blob/main/.github/workflows/ci-doctor.md) | codex | [![CI Failure Doctor](https://github.com/github/gh-aw/actions/workflows/ci-doctor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ci-doctor.lock.yml) | - | - | +| [CI Cleaner](https://github.com/github/gh-aw/blob/main/.github/workflows/hourly-ci-cleaner.md) | claude | [![CI Cleaner](https://github.com/github/gh-aw/actions/workflows/hourly-ci-cleaner.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/hourly-ci-cleaner.lock.yml) | `15 6,18 * * *` | - | +| [CI Failure Doctor](https://github.com/github/gh-aw/blob/main/.github/workflows/ci-doctor.md) | claude | [![CI Failure Doctor](https://github.com/github/gh-aw/actions/workflows/ci-doctor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ci-doctor.lock.yml) | - | - | | [CI Optimization Coach](https://github.com/github/gh-aw/blob/main/.github/workflows/ci-coach.md) | copilot | [![CI Optimization Coach](https://github.com/github/gh-aw/actions/workflows/ci-coach.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ci-coach.lock.yml) | `daily around 13:00 on weekdays` | - | | [Claude Code User Documentation Review](https://github.com/github/gh-aw/blob/main/.github/workflows/claude-code-user-docs-review.md) | claude | [![Claude Code User Documentation Review](https://github.com/github/gh-aw/actions/workflows/claude-code-user-docs-review.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/claude-code-user-docs-review.lock.yml) | - | - | | [CLI Consistency Checker](https://github.com/github/gh-aw/blob/main/.github/workflows/cli-consistency-checker.md) | copilot | [![CLI Consistency Checker](https://github.com/github/gh-aw/actions/workflows/cli-consistency-checker.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/cli-consistency-checker.lock.yml) | `daily around 13:00 on weekdays` | - | @@ -48,6 +50,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Copilot PR Conversation NLP Analysis](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-pr-nlp-analysis.md) | copilot | [![Copilot PR Conversation NLP Analysis](https://github.com/github/gh-aw/actions/workflows/copilot-pr-nlp-analysis.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-pr-nlp-analysis.lock.yml) | `daily around 10:00 on weekdays` | - | | [Copilot PR Prompt Pattern Analysis](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-pr-prompt-analysis.md) | copilot | [![Copilot PR Prompt Pattern Analysis](https://github.com/github/gh-aw/actions/workflows/copilot-pr-prompt-analysis.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-pr-prompt-analysis.lock.yml) | - | - | | [Copilot Session Insights](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-session-insights.md) | claude | [![Copilot Session Insights](https://github.com/github/gh-aw/actions/workflows/copilot-session-insights.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-session-insights.lock.yml) | - | - | +| [Copilot Token Usage Optimizer](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-token-optimizer.md) | copilot | [![Copilot Token Usage Optimizer](https://github.com/github/gh-aw/actions/workflows/copilot-token-optimizer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-token-optimizer.lock.yml) | `daily around 14:00 on weekdays` | - | | [Daily Choice Type Test](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-choice-test.md) | claude | [![Daily Choice Type Test](https://github.com/github/gh-aw/actions/workflows/daily-choice-test.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-choice-test.lock.yml) | `daily around 12:00 on weekdays` | - | | [Daily CLI Performance Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-cli-performance.md) | copilot | [![Daily CLI Performance Agent](https://github.com/github/gh-aw/actions/workflows/daily-cli-performance.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-cli-performance.lock.yml) | - | - | | [Daily CLI Tools Exploratory Tester](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-cli-tools-tester.md) | copilot | [![Daily CLI Tools Exploratory Tester](https://github.com/github/gh-aw/actions/workflows/daily-cli-tools-tester.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-cli-tools-tester.lock.yml) | - | - | @@ -55,7 +58,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Daily Community Attribution Updater](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-community-attribution.md) | copilot | [![Daily Community Attribution Updater](https://github.com/github/gh-aw/actions/workflows/daily-community-attribution.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-community-attribution.lock.yml) | - | - | | [Daily Compiler Quality Check](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-compiler-quality.md) | copilot | [![Daily Compiler Quality Check](https://github.com/github/gh-aw/actions/workflows/daily-compiler-quality.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-compiler-quality.lock.yml) | - | - | | [Daily Copilot PR Merged Report](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-pr-merged-report.md) | copilot | [![Daily Copilot PR Merged Report](https://github.com/github/gh-aw/actions/workflows/copilot-pr-merged-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-pr-merged-report.lock.yml) | `daily around 15:00 on weekdays` | - | -| [Daily Copilot Token Consumption Report](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-copilot-token-report.md) | copilot | [![Daily Copilot Token Consumption Report](https://github.com/github/gh-aw/actions/workflows/daily-copilot-token-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-copilot-token-report.lock.yml) | `daily around 11:00 on weekdays` | - | +| [Daily Copilot Token Usage Audit](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-token-audit.md) | copilot | [![Daily Copilot Token Usage Audit](https://github.com/github/gh-aw/actions/workflows/copilot-token-audit.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-token-audit.lock.yml) | `daily around 12:00 on weekdays` | - | | [Daily DIFC Integrity-Filtered Events Analyzer](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-integrity-analysis.md) | copilot | [![Daily DIFC Integrity-Filtered Events Analyzer](https://github.com/github/gh-aw/actions/workflows/daily-integrity-analysis.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-integrity-analysis.lock.yml) | - | - | | [Daily Documentation Healer](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-doc-healer.md) | claude | [![Daily Documentation Healer](https://github.com/github/gh-aw/actions/workflows/daily-doc-healer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-doc-healer.lock.yml) | - | - | | [Daily Documentation Updater](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-doc-updater.md) | claude | [![Daily Documentation Updater](https://github.com/github/gh-aw/actions/workflows/daily-doc-updater.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-doc-updater.lock.yml) | - | - | @@ -63,11 +66,12 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Daily File Diet](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-file-diet.md) | copilot | [![Daily File Diet](https://github.com/github/gh-aw/actions/workflows/daily-file-diet.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-file-diet.lock.yml) | `daily around 13:00 on weekdays` | - | | [Daily Firewall Logs Collector and Reporter](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-firewall-report.md) | copilot | [![Daily Firewall Logs Collector and Reporter](https://github.com/github/gh-aw/actions/workflows/daily-firewall-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-firewall-report.lock.yml) | - | - | | [Daily Go Function Namer](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-function-namer.md) | claude | [![Daily Go Function Namer](https://github.com/github/gh-aw/actions/workflows/daily-function-namer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-function-namer.lock.yml) | - | - | -| [Daily Issues Report Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-issues-report.md) | codex | [![Daily Issues Report Generator](https://github.com/github/gh-aw/actions/workflows/daily-issues-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-issues-report.lock.yml) | - | - | +| [Daily Issues Report Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-issues-report.md) | copilot | [![Daily Issues Report Generator](https://github.com/github/gh-aw/actions/workflows/daily-issues-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-issues-report.lock.yml) | - | - | | [Daily Malicious Code Scan Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-malicious-code-scan.md) | copilot | [![Daily Malicious Code Scan Agent](https://github.com/github/gh-aw/actions/workflows/daily-malicious-code-scan.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-malicious-code-scan.lock.yml) | - | - | | [Daily MCP Tool Concurrency Analysis](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-mcp-concurrency-analysis.md) | copilot | [![Daily MCP Tool Concurrency Analysis](https://github.com/github/gh-aw/actions/workflows/daily-mcp-concurrency-analysis.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-mcp-concurrency-analysis.lock.yml) | `daily around 9:00 on weekdays` | - | | [Daily News](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-news.md) | copilot | [![Daily News](https://github.com/github/gh-aw/actions/workflows/daily-news.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-news.lock.yml) | `daily around 9:00 on weekdays` | - | | [Daily Observability Report for AWF Firewall and MCP Gateway](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-observability-report.md) | codex | [![Daily Observability Report for AWF Firewall and MCP Gateway](https://github.com/github/gh-aw/actions/workflows/daily-observability-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-observability-report.lock.yml) | - | - | +| [Daily OTel Instrumentation Advisor](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-otel-instrumentation-advisor.md) | claude | [![Daily OTel Instrumentation Advisor](https://github.com/github/gh-aw/actions/workflows/daily-otel-instrumentation-advisor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-otel-instrumentation-advisor.lock.yml) | - | - | | [Daily Project Performance Summary Generator (Using MCP Scripts)](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-performance-summary.md) | copilot | [![Daily Project Performance Summary Generator (Using MCP Scripts)](https://github.com/github/gh-aw/actions/workflows/daily-performance-summary.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-performance-summary.lock.yml) | - | - | | [Daily Regulatory Report Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-regulatory.md) | copilot | [![Daily Regulatory Report Generator](https://github.com/github/gh-aw/actions/workflows/daily-regulatory.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-regulatory.lock.yml) | - | - | | [Daily Rendering Scripts Verifier](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-rendering-scripts-verifier.md) | claude | [![Daily Rendering Scripts Verifier](https://github.com/github/gh-aw/actions/workflows/daily-rendering-scripts-verifier.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-rendering-scripts-verifier.lock.yml) | - | - | @@ -87,6 +91,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Delight](https://github.com/github/gh-aw/blob/main/.github/workflows/delight.md) | copilot | [![Delight](https://github.com/github/gh-aw/actions/workflows/delight.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/delight.lock.yml) | - | - | | [Dependabot Burner](https://github.com/github/gh-aw/blob/main/.github/workflows/dependabot-burner.md) | copilot | [![Dependabot Burner](https://github.com/github/gh-aw/actions/workflows/dependabot-burner.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/dependabot-burner.lock.yml) | - | - | | [Dependabot Dependency Checker](https://github.com/github/gh-aw/blob/main/.github/workflows/dependabot-go-checker.md) | copilot | [![Dependabot Dependency Checker](https://github.com/github/gh-aw/actions/workflows/dependabot-go-checker.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/dependabot-go-checker.lock.yml) | `20 9 * * 1,3,5` | - | +| [Design Decision Gate 🏗️](https://github.com/github/gh-aw/blob/main/.github/workflows/design-decision-gate.md) | claude | [![Design Decision Gate 🏗️](https://github.com/github/gh-aw/actions/workflows/design-decision-gate.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/design-decision-gate.lock.yml) | - | - | | [Dev](https://github.com/github/gh-aw/blob/main/.github/workflows/dev.md) | copilot | [![Dev](https://github.com/github/gh-aw/actions/workflows/dev.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/dev.lock.yml) | `daily around 9:00` | - | | [Dev Hawk](https://github.com/github/gh-aw/blob/main/.github/workflows/dev-hawk.md) | copilot | [![Dev Hawk](https://github.com/github/gh-aw/actions/workflows/dev-hawk.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/dev-hawk.lock.yml) | - | - | | [Developer Documentation Consolidator](https://github.com/github/gh-aw/blob/main/.github/workflows/developer-docs-consolidator.md) | claude | [![Developer Documentation Consolidator](https://github.com/github/gh-aw/actions/workflows/developer-docs-consolidator.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/developer-docs-consolidator.lock.yml) | - | - | @@ -99,6 +104,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Example: Properly Provisioned Permissions](https://github.com/github/gh-aw/blob/main/.github/workflows/example-permissions-warning.md) | copilot | [![Example: Properly Provisioned Permissions](https://github.com/github/gh-aw/actions/workflows/example-permissions-warning.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/example-permissions-warning.lock.yml) | - | - | | [Firewall Test Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/firewall.md) | copilot | [![Firewall Test Agent](https://github.com/github/gh-aw/actions/workflows/firewall.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/firewall.lock.yml) | - | - | | [Functional Pragmatist](https://github.com/github/gh-aw/blob/main/.github/workflows/functional-pragmatist.md) | copilot | [![Functional Pragmatist](https://github.com/github/gh-aw/actions/workflows/functional-pragmatist.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/functional-pragmatist.lock.yml) | `25 9 * * 2,4` | - | +| [GitHub API Consumption Report Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/api-consumption-report.md) | claude | [![GitHub API Consumption Report Agent](https://github.com/github/gh-aw/actions/workflows/api-consumption-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/api-consumption-report.lock.yml) | - | - | | [GitHub MCP Remote Server Tools Report Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/github-mcp-tools-report.md) | claude | [![GitHub MCP Remote Server Tools Report Generator](https://github.com/github/gh-aw/actions/workflows/github-mcp-tools-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/github-mcp-tools-report.lock.yml) | - | - | | [GitHub MCP Structural Analysis](https://github.com/github/gh-aw/blob/main/.github/workflows/github-mcp-structural-analysis.md) | claude | [![GitHub MCP Structural Analysis](https://github.com/github/gh-aw/actions/workflows/github-mcp-structural-analysis.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/github-mcp-structural-analysis.lock.yml) | `daily around 11:00 on weekdays` | - | | [GitHub Remote MCP Authentication Test](https://github.com/github/gh-aw/blob/main/.github/workflows/github-remote-mcp-auth-test.md) | copilot | [![GitHub Remote MCP Authentication Test](https://github.com/github/gh-aw/actions/workflows/github-remote-mcp-auth-test.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/github-remote-mcp-auth-test.lock.yml) | - | - | @@ -128,6 +134,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Python Data Visualization Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/python-data-charts.md) | copilot | [![Python Data Visualization Generator](https://github.com/github/gh-aw/actions/workflows/python-data-charts.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/python-data-charts.lock.yml) | - | - | | [Q](https://github.com/github/gh-aw/blob/main/.github/workflows/q.md) | copilot | [![Q](https://github.com/github/gh-aw/actions/workflows/q.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/q.lock.yml) | - | `/q` | | [Rebuild the documentation after making changes](https://github.com/github/gh-aw/blob/main/.github/workflows/technical-doc-writer.md) | copilot | [![Rebuild the documentation after making changes](https://github.com/github/gh-aw/actions/workflows/technical-doc-writer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/technical-doc-writer.lock.yml) | - | - | +| [Refactoring Cadence](https://github.com/github/gh-aw/blob/main/.github/workflows/refactoring-cadence.md) | copilot | [![Refactoring Cadence](https://github.com/github/gh-aw/actions/workflows/refactoring-cadence.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/refactoring-cadence.lock.yml) | - | - | | [Release](https://github.com/github/gh-aw/blob/main/.github/workflows/release.md) | copilot | [![Release](https://github.com/github/gh-aw/actions/workflows/release.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/release.lock.yml) | - | - | | [Repository Audit & Agentic Workflow Opportunity Analyzer](https://github.com/github/gh-aw/blob/main/.github/workflows/repo-audit-analyzer.md) | copilot | [![Repository Audit & Agentic Workflow Opportunity Analyzer](https://github.com/github/gh-aw/actions/workflows/repo-audit-analyzer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/repo-audit-analyzer.lock.yml) | - | - | | [Repository Quality Improvement Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/repository-quality-improver.md) | copilot | [![Repository Quality Improvement Agent](https://github.com/github/gh-aw/actions/workflows/repository-quality-improver.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/repository-quality-improver.lock.yml) | `daily around 13:00 on weekdays` | - | @@ -142,11 +149,11 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Semantic Function Refactoring](https://github.com/github/gh-aw/blob/main/.github/workflows/semantic-function-refactor.md) | claude | [![Semantic Function Refactoring](https://github.com/github/gh-aw/actions/workflows/semantic-function-refactor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/semantic-function-refactor.lock.yml) | - | - | | [Sergo - Serena Go Expert](https://github.com/github/gh-aw/blob/main/.github/workflows/sergo.md) | claude | [![Sergo - Serena Go Expert](https://github.com/github/gh-aw/actions/workflows/sergo.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/sergo.lock.yml) | - | - | | [Slide Deck Maintainer](https://github.com/github/gh-aw/blob/main/.github/workflows/slide-deck-maintainer.md) | copilot | [![Slide Deck Maintainer](https://github.com/github/gh-aw/actions/workflows/slide-deck-maintainer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/slide-deck-maintainer.lock.yml) | `daily around 16:00 on weekdays` | - | -| [Smoke Agent: all/merged](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-all-merged.md) | codex | [![Smoke Agent: all/merged](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-merged.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-merged.lock.yml) | - | - | -| [Smoke Agent: all/none](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-all-none.md) | codex | [![Smoke Agent: all/none](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-none.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-none.lock.yml) | - | - | -| [Smoke Agent: public/approved](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-public-approved.md) | codex | [![Smoke Agent: public/approved](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-approved.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-approved.lock.yml) | - | - | -| [Smoke Agent: public/none](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-public-none.md) | codex | [![Smoke Agent: public/none](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-none.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-none.lock.yml) | - | - | -| [Smoke Agent: scoped/approved](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-scoped-approved.md) | codex | [![Smoke Agent: scoped/approved](https://github.com/github/gh-aw/actions/workflows/smoke-agent-scoped-approved.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-scoped-approved.lock.yml) | - | - | +| [Smoke Agent: all/merged](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-all-merged.md) | claude | [![Smoke Agent: all/merged](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-merged.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-merged.lock.yml) | - | - | +| [Smoke Agent: all/none](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-all-none.md) | claude | [![Smoke Agent: all/none](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-none.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-all-none.lock.yml) | - | - | +| [Smoke Agent: public/approved](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-public-approved.md) | claude | [![Smoke Agent: public/approved](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-approved.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-approved.lock.yml) | - | - | +| [Smoke Agent: public/none](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-public-none.md) | claude | [![Smoke Agent: public/none](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-none.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-public-none.lock.yml) | - | - | +| [Smoke Agent: scoped/approved](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-agent-scoped-approved.md) | claude | [![Smoke Agent: scoped/approved](https://github.com/github/gh-aw/actions/workflows/smoke-agent-scoped-approved.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-agent-scoped-approved.lock.yml) | - | - | | [Smoke Call Workflow](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-call-workflow.md) | codex | [![Smoke Call Workflow](https://github.com/github/gh-aw/actions/workflows/smoke-call-workflow.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-call-workflow.lock.yml) | - | - | | [Smoke Claude](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-claude.md) | claude | [![Smoke Claude](https://github.com/github/gh-aw/actions/workflows/smoke-claude.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-claude.lock.yml) | - | - | | [Smoke Codex](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-codex.md) | codex | [![Smoke Codex](https://github.com/github/gh-aw/actions/workflows/smoke-codex.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/smoke-codex.lock.yml) | - | - | @@ -170,6 +177,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Test Create PR Error Handling](https://github.com/github/gh-aw/blob/main/.github/workflows/test-create-pr-error-handling.md) | claude | [![Test Create PR Error Handling](https://github.com/github/gh-aw/actions/workflows/test-create-pr-error-handling.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/test-create-pr-error-handling.lock.yml) | - | - | | [Test Dispatcher Workflow](https://github.com/github/gh-aw/blob/main/.github/workflows/test-dispatcher.md) | copilot | [![Test Dispatcher Workflow](https://github.com/github/gh-aw/actions/workflows/test-dispatcher.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/test-dispatcher.lock.yml) | - | - | | [Test Project URL Explicit Requirement](https://github.com/github/gh-aw/blob/main/.github/workflows/test-project-url-default.md) | copilot | [![Test Project URL Explicit Requirement](https://github.com/github/gh-aw/actions/workflows/test-project-url-default.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/test-project-url-default.lock.yml) | - | - | +| [Test Quality Sentinel](https://github.com/github/gh-aw/blob/main/.github/workflows/test-quality-sentinel.md) | copilot | [![Test Quality Sentinel](https://github.com/github/gh-aw/actions/workflows/test-quality-sentinel.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/test-quality-sentinel.lock.yml) | - | - | | [Test Workflow](https://github.com/github/gh-aw/blob/main/.github/workflows/test-workflow.md) | copilot | [![Test Workflow](https://github.com/github/gh-aw/actions/workflows/test-workflow.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/test-workflow.lock.yml) | - | - | | [The Daily Repository Chronicle](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-repo-chronicle.md) | copilot | [![The Daily Repository Chronicle](https://github.com/github/gh-aw/actions/workflows/daily-repo-chronicle.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-repo-chronicle.lock.yml) | `daily around 16:00 on weekdays` | - | | [The Great Escapi](https://github.com/github/gh-aw/blob/main/.github/workflows/firewall-escape.md) | copilot | [![The Great Escapi](https://github.com/github/gh-aw/actions/workflows/firewall-escape.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/firewall-escape.lock.yml) | - | - | diff --git a/docs/src/content/docs/guides/ephemerals.md b/docs/src/content/docs/guides/ephemerals.md index dbdb00d7019..44c3a5601d6 100644 --- a/docs/src/content/docs/guides/ephemerals.md +++ b/docs/src/content/docs/guides/ephemerals.md @@ -87,20 +87,67 @@ The maintenance workflow searches for items with this expiration format (checked See [Safe Outputs Reference](/gh-aw/reference/safe-outputs/) for complete documentation. +### Cache-Memory Cleanup + +The maintenance workflow automatically cleans up outdated [cache-memory](/gh-aw/reference/cache-memory/) entries on every scheduled run. Cache keys follow the pattern `memory-{workflow}-{run-id}`, and the cleanup job groups caches by workflow prefix, keeps the latest run ID per group, and deletes older entries. This prevents cache storage from growing unboundedly as workflows run repeatedly. + +The cleanup includes rate-limit awareness — it pauses early if the GitHub API rate limit is running low — and produces a job summary table showing how many caches were found, kept, and deleted. + +You can also trigger cleanup manually using the `clean_cache_memories` operation (see [Manual maintenance operations](#manual-maintenance-operations) below). + ### Manual Maintenance Operations -The generated `agentics-maintenance.yml` workflow also supports manual bulk operations via `workflow_dispatch`. Admin or maintainer users can trigger it from the GitHub Actions UI or the CLI. The operation is restricted to admin and maintainer roles and is not available on forks. +The generated `agentics-maintenance.yml` workflow supports manual bulk operations via `workflow_dispatch`. Admin or maintainer users can trigger operations from the GitHub Actions UI or the CLI. All operations are restricted to admin and maintainer roles and are not available on forks. Available operations: | Operation | Description | |-----------|-------------| -| `safe_outputs` | Auto-close expired issues, discussions, and pull requests | | `disable` | Disable all agentic workflows in the repository | | `enable` | Re-enable all agentic workflows in the repository | -| `create_labels` | Create any repository labels referenced in safe-outputs that do not yet exist. Runs `gh aw compile --json --no-emit`, collects all unique label names across workflows, and creates missing ones with deterministic pastel colors. | +| `update` | Recompile workflows and create a PR if files changed | +| `upgrade` | Upgrade agentic workflows to the latest version and create a PR if files changed | +| `safe_outputs` | Replay safe outputs from a specific workflow run (requires a run URL or run ID) | +| `create_labels` | Create any repository labels referenced in safe-outputs that do not yet exist | +| `clean_cache_memories` | Clean up outdated cache-memory entries (same as the automated scheduled cleanup) | +| `validate` | Run full workflow validation with all linters and file an issue if findings are detected | + +**Operation details:** + +- **`update` / `upgrade`**: Runs `gh aw update` or `gh aw upgrade`, stages changed files, and opens a pull request for review. After merging, recompile lock files with `gh aw compile`. See [Upgrading Agentic Workflows](/gh-aw/guides/upgrading/) for the manual upgrade process. +- **`safe_outputs`**: Replays safe output processing from a previous workflow run. Provide a run URL or numeric run ID in the `run_url` input field. Useful when safe outputs were not applied correctly on the original run. +- **`create_labels`**: Runs `gh aw compile --json --no-emit`, collects all unique label names across workflows, and creates missing ones with deterministic pastel colors. Requires `issues: write` permission. +- **`validate`**: Runs `gh aw compile --validate --no-emit --zizmor --actionlint --poutine --verbose`. If errors or warnings are found, creates or updates a GitHub issue titled `[aw] workflow validation findings` with the full output. +- **`clean_cache_memories`**: Lists all caches with the `memory-` prefix, groups them by workflow, keeps the latest per group, and deletes older entries. + +### Maintenance Configuration + +You can customize the maintenance workflow runner or disable maintenance entirely using the `aw.json` configuration file at `.github/workflows/aw.json`. + +**Customize the runner:** + +```json +{ + "maintenance": { + "runs_on": "ubuntu-latest" + } +} +``` + +The `runs_on` field accepts a single string or an array of strings for multi-label runners (e.g., `["self-hosted", "linux"]`). The default runner is `ubuntu-slim`. + +**Disable maintenance entirely:** + +```json +{ + "maintenance": false +} +``` + +When maintenance is disabled, the compiler deletes any existing `agentics-maintenance.yml` file and emits a warning for workflows that use the `expires` field, since expiration depends on the maintenance workflow to run. -The `create_labels` operation requires `issues: write` permission and runs in a dedicated job. It is useful when adding new workflows that reference labels that have not yet been created in the repository. +> [!WARNING] +> Disabling maintenance prevents automatic expiration of issues, discussions, and pull requests. Any `expires` configuration in your workflows will become a no-op until maintenance is re-enabled. ### Close Older Issues diff --git a/docs/src/content/docs/reference/cache-memory.md b/docs/src/content/docs/reference/cache-memory.md index 2172d06dfa0..2817167f394 100644 --- a/docs/src/content/docs/reference/cache-memory.md +++ b/docs/src/content/docs/reference/cache-memory.md @@ -97,6 +97,12 @@ Use descriptive file/directory names, hierarchical cache keys (`project-${{ gith For unlimited retention with version control, see [Repo Memory](/gh-aw/reference/repo-memory/). +## Automatic Cleanup + +The [agentic maintenance](/gh-aw/guides/ephemerals/#cache-memory-cleanup) workflow automatically cleans up outdated cache-memory entries on a schedule. Caches are grouped by key prefix (everything before the run ID), and only the latest entry per group is kept. Older entries are deleted to prevent unbounded storage growth. + +You can also trigger cleanup manually from the GitHub Actions UI by running the `Agentic Maintenance` workflow with the `clean_cache_memories` operation. + ## Troubleshooting - **Files not persisting**: Check cache key consistency and logs for restore/save messages.