feat: cache-memory cache_memory_miss detection and conclusion handler#28516
feat: cache-memory cache_memory_miss detection and conclusion handler#28516
Conversation
…detect misconfiguration in conclusion handler Agent-Logs-Url: https://github.com/github/gh-aw/sessions/506c72c2-0e3f-4503-9915-661948c848f1 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…ch signals emitted alongside other output Agent-Logs-Url: https://github.com/github/gh-aw/sessions/506c72c2-0e3f-4503-9915-661948c848f1 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot use “cache_memory_miss” reason ton be more precise |
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/4ddd20f3-5422-4a83-9fda-b21b335627c4 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done — renamed to Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
Updates cache-memory prompts and failure handling so an agent can explicitly signal a cache miss (missing_data with reason: "cache_memory_miss"), and the conclusion handler can detect this (when cache-memory is configured) and open/update a failure issue/comment indicating a likely configuration problem.
Changes:
- Added cache-miss guidance to the built-in cache-memory prompt templates (single + multi-cache variants).
- Passed a new
GH_AW_CACHE_MEMORY_ENABLEDflag into the agent-failure handler environment when cache-memory is configured. - Enhanced
handle_agent_failure.cjsto detectcache_memory_misssignals and trigger failure handling (even on agent success), plus append targeted context messaging. - Recompiled workflow
.lock.ymlfiles to propagate the new env var into generated workflows.
Show a summary per file
| File | Description |
|---|---|
| pkg/workflow/prompts/cache_memory_prompt.md | Adds cache-miss guidance to the runtime cache-memory prompt (single cache). |
| pkg/workflow/prompts/cache_memory_prompt_multi.md | Adds cache-miss guidance to the runtime cache-memory prompt (multi cache). |
| actions/setup/md/cache_memory_prompt.md | Adds <cache-miss-guidance> to the setup-time cache-memory prompt template (single cache). |
| actions/setup/md/cache_memory_prompt_multi.md | Adds <cache-miss-guidance> to the setup-time cache-memory prompt template (multi cache). |
| pkg/workflow/notify_comment.go | Emits GH_AW_CACHE_MEMORY_ENABLED=true for the agent-failure handler when cache-memory is configured. |
| actions/setup/js/handle_agent_failure.cjs | Detects missing_data.reason === "cache_memory_miss" + cache-memory availability; triggers failure handling and adds contextual messaging. |
| .github/workflows/weekly-issue-summary.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/unbloat-docs.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/test-create-pr-error-handling.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/technical-doc-writer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/super-linter.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/step-name-alignment.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/static-analysis-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/stale-repo-identifier.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/spec-extractor.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/spec-enforcer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/smoke-update-cross-repo-pr.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/smoke-gemini.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/smoke-copilot.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/smoke-copilot-arm.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/smoke-codex.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env (plus regenerated heredoc IDs). |
| .github/workflows/smoke-claude.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/smoke-ci.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/slide-deck-maintainer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/sergo.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/security-review.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/scout.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/schema-consistency-checker.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/safe-output-health.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/repository-quality-improver.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/repo-audit-analyzer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/refactoring-cadence.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/q.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/python-data-charts.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/prompt-clustering-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/pr-nitpick-reviewer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/poem-bot.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/pdf-summary.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/org-health-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/mcp-inspector.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/lockfile-stats.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/jsweep.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/instructions-janitor.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/grumpy-reviewer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env (plus regenerated heredoc IDs). |
| .github/workflows/gpclean.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/go-logger.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/go-fan.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/glossary-maintainer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/github-mcp-tools-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/github-mcp-structural-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/firewall-escape.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/developer-docs-consolidator.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/deep-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/dead-code-remover.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-safe-output-optimizer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-repo-chronicle.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-rendering-scripts-verifier.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-performance-summary.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-news.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-mcp-concurrency-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-issues-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-integrity-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-hippo-learn.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-function-namer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-firewall-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-fact.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env (plus regenerated heredoc IDs). |
| .github/workflows/daily-doc-updater.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-doc-healer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-compiler-quality.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-code-metrics.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-cache-strategy-analyzer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env (plus regenerated heredoc IDs). |
| .github/workflows/daily-aw-cross-repo-compile-check.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/daily-architecture-diagram.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-token-audit.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-session-insights.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-pr-prompt-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-pr-nlp-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-pr-merged-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-opt.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/copilot-agent-analysis.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/constraint-solving-potd.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/code-scanning-fixer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/cloclo.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/cli-version-checker.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/claude-code-user-docs-review.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/ci-doctor.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/ci-coach.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/audit-workflows.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/api-consumption-report.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/ai-moderator.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/agentic-optimization-kit.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/agentic-observability-kit.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
| .github/workflows/agent-persona-explorer.lock.yml | Propagates GH_AW_CACHE_MEMORY_ENABLED into compiled workflow env. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 93/93 changed files
- Comments generated: 7
| <examples> | ||
| __GH_AW_CACHE_EXAMPLES__ | ||
| </examples> | ||
| <cache-miss-guidance>If you look for data in the cache and do not find any, call the `missing_data` tool with `reason: "cache_memory_miss"` to signal that the cache does not contain the expected information.</cache-miss-guidance> |
There was a problem hiding this comment.
This instruction suggests a reason-only missing_data call for cache misses, but the current missing_data context builder only includes items that have both data_type and reason. Consider adjusting the instruction to include a data_type or updating the handler so reason-only items are still captured and displayed.
| // Detect cache_miss: if cache-memory is available and the agent reported a cache miss, | ||
| // this indicates the prompt is referencing an incorrect file path within the cache directory. | ||
| const hasCacheMiss = missingDataMessages.some(m => m.reason === "cache_memory_miss"); | ||
| if (cacheMemoryEnabled && hasCacheMiss) { |
There was a problem hiding this comment.
buildMissingDataContext() relies on loadMissingDataMessages(), which currently only returns entries when both item.data_type and item.reason are present. With the new cache-miss guidance encouraging a reason-only missing_data call, hasCacheMiss may never become true and the cache-misconfiguration warning may never be appended (and the missing_data section may be empty). Consider treating missing_data items with a reason but no data_type as valid (e.g., use a placeholder data_type) or detect cache-miss directly from raw agentOutputResult.items.
| // Detect cache-miss misconfiguration: the agent reported a missing_data with reason | ||
| // "cache_memory_miss" while cache-memory was configured and available. This indicates the | ||
| // prompt is referencing an incorrect path inside the cache directory. | ||
| // Check for items regardless of agentOutputResult.success so that cache-miss signals | ||
| // emitted alongside other output are not missed when the agent job also fails. | ||
| let hasCacheMissMisconfiguration = false; | ||
| if (cacheMemoryEnabled && agentOutputResult.items) { | ||
| const cacheMissItems = agentOutputResult.items.filter(item => item.type === "missing_data" && item.reason === "cache_memory_miss"); | ||
| if (cacheMissItems.length > 0) { | ||
| hasCacheMissMisconfiguration = true; | ||
| core.info(`Cache-miss misconfiguration detected: ${cacheMissItems.length} missing_data item(s) with reason "cache_memory_miss" despite cache-memory being available`); | ||
| } | ||
| } |
There was a problem hiding this comment.
hasCacheMissMisconfiguration is triggered solely by cacheMemoryEnabled + a missing_data item with reason: "cache_memory_miss". cacheMemoryEnabled only indicates that cache-memory is configured, not that the cache was restored/populated, so this may produce false-positive failure issues on first runs or legitimate empty caches. Consider additionally gating this on a cache restore hit / a “cache has content” signal from the workflow, or clarifying the missing_data semantics so cache_memory_miss is only used when data is expected to exist.
| let hasCacheMissMisconfiguration = false; | ||
| if (cacheMemoryEnabled && agentOutputResult.items) { | ||
| const cacheMissItems = agentOutputResult.items.filter(item => item.type === "missing_data" && item.reason === "cache_memory_miss"); | ||
| if (cacheMissItems.length > 0) { | ||
| hasCacheMissMisconfiguration = true; | ||
| core.info(`Cache-miss misconfiguration detected: ${cacheMissItems.length} missing_data item(s) with reason "cache_memory_miss" despite cache-memory being available`); | ||
| } | ||
| } |
There was a problem hiding this comment.
New behavior (cache-miss detection driving failure handling even when GH_AW_AGENT_CONCLUSION is success, plus the additional context appended in buildMissingDataContext) isn’t covered by tests. Since this file already has vitest coverage, add a focused test that stubs load_agent_output.cjs to return a missing_data item with reason: "cache_memory_miss" and asserts that failure handling proceeds / expected context is included when GH_AW_CACHE_MEMORY_ENABLED is true.
| - **Last Write Wins**: If multiple processes write to the same file, the last write will be preserved | ||
| - **File Share**: Use this as a simple file share - organize files as you see fit | ||
| - **Allowed File Types**: Only the following file extensions are allowed: `__ALLOWED_EXTENSIONS__`. Files with other extensions will be rejected during validation. | ||
| - **Cache Miss**: If you look for data in the cache and do not find any, call the `missing_data` tool with `reason: "cache_memory_miss"` to signal that the cache does not contain the expected information. |
There was a problem hiding this comment.
The new guidance tells the agent to call missing_data with only reason: "cache_memory_miss", but the failure handler’s missing_data formatter currently drops missing_data entries unless both data_type and reason are present. This means cache-miss signals may not show up in the missing_data context (and downstream cache-miss messaging may be skipped). Either update this guidance to include a data_type value (e.g. something cache-memory specific) or relax the handler’s missing_data extraction/formatting to handle reason-only items.
| - **Last Write Wins**: If multiple processes write to the same file, the last write will be preserved | ||
| - **File Share**: Use these as simple file shares - organize files as you see fit | ||
| - **Allowed File Types**: Only the following file extensions are allowed: `__ALLOWED_EXTENSIONS__`. Files with other extensions will be rejected during validation. | ||
| - **Cache Miss**: If you look for data in the cache and do not find any, call the `missing_data` tool with `reason: "cache_memory_miss"` to signal that the cache does not contain the expected information. |
There was a problem hiding this comment.
Same as the single-cache prompt: this guidance suggests calling missing_data with only a reason, but the failure handler’s missing_data extraction currently requires both data_type and reason to include the item in the rendered context. Consider including a data_type here or updating the handler to support reason-only missing_data items so cache misses surface correctly.
| <cache-memory> | ||
| <path>__GH_AW_CACHE_DIR__</path>__GH_AW_CACHE_DESCRIPTION__ | ||
| <properties>Persistent read/write storage across workflow runs via Actions cache. Last write wins.</properties>__GH_AW_ALLOWED_EXTENSIONS__ | ||
| <cache-miss-guidance>If you look for data in the cache and do not find any, call the `missing_data` tool with `reason: "cache_memory_miss"` to signal that the cache does not contain the expected information.</cache-miss-guidance> |
There was a problem hiding this comment.
This guidance instructs emitting missing_data with only reason: "cache_memory_miss", but the conclusion handler currently ignores missing_data items that don’t also include data_type, so the signal may not be visible in failure issues/comments. Either include a data_type in the instruction or update the handler to accept reason-only missing_data items.
|
@copilot review all comments |
…taMessages filter, add tests Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cf6a466e-9e09-4ed9-96b0-1cd485d28637 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Addressed all review comments in a7c2535:
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
- audit.md: document tokens-per-turn and tool calls/bash command breakdown in diff output (PR #28494) - frontmatter.md: add Observability section documenting observability.otlp configuration, object-form OTLP headers (PR #28524), and gen_ai.* span attribute conventions replacing gh-aw.* (PR #28511) - cli.md: update audit diff description to include new output fields (PR #28494) - cache-memory.md: document cache path misconfiguration detection via missing_data signal (PR #28516) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Updates the built-in cache-memory prompt templates to instruct the agent to call the
missing_datasafe-output tool withdata_type: "cache_memory"andreason: "cache_memory_miss"when it does not find expected data in the cache. The conclusion handler detects this signal and, when cache-memory is available, raises an agent failure issue/comment indicating a likely configuration problem (the prompt cannot locate the correct file path).Changes
actions/setup/md/cache_memory_prompt.mdandcache_memory_prompt_multi.md: Added<cache-miss-guidance>element instructing the agent to callmissing_datawith bothdata_type: "cache_memory"andreason: "cache_memory_miss"when the cache contains no data.pkg/workflow/prompts/cache_memory_prompt.mdandcache_memory_prompt_multi.md: Updated reference copies to match the runtime files.pkg/workflow/notify_comment.go: AddedGH_AW_CACHE_MEMORY_ENABLED: "true"to the agent failure step's env vars when cache-memory is configured, so the conclusion handler can verify availability.actions/setup/js/handle_agent_failure.cjs:GH_AW_CACHE_MEMORY_ENABLEDenv var.loadMissingDataMessages()to acceptmissing_dataitems that have only areason(nodata_type), using an empty string fallback — ensures cache-miss signals are captured even if an agent omitsdata_type.missing_dataitems withreason === "cache_memory_miss"from agent output.hasCacheMissMisconfiguration = true.buildMissingDataContext()to acceptcacheMemoryEnabledand append a specific configuration problem message when a cache-miss misconfiguration is detected.buildMissingDataContextfor testability.actions/setup/js/handle_agent_failure.test.cjs: Added focused unit tests forbuildMissingDataContextcovering: empty output, no cache warning whencacheMemoryEnabledis false, cache warning appended whencacheMemoryEnabledis true and acache_memory_missitem is present, reason-only item capture, and no false positive for unrelated reasons.Lock files: All 202 workflow lock files recompiled to pick up the
GH_AW_CACHE_MEMORY_ENABLEDenv var for cache-memory workflows.