Fix repo-memory file-glob patterns to match spec (exclude branch names)#8578
Fix repo-memory file-glob patterns to match spec (exclude branch names)#8578
Conversation
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
|
@copilot the "compile" command should also recompile campaigns and not delete the lock.yml files of campaign when doing --purge |
I've identified the issue. The I'll fix this by excluding |
|
@copilot recompile and recompile campaigns |
The purgeOrphanedLockFiles function was incorrectly deleting .campaign.g.lock.yml files because its glob pattern (*.lock.yml) matched all lock files including campaign orchestrator lock files. Campaign lock files should only be handled by the dedicated purgeOrphanedCampaignOrchestratorLockFiles function. Changes: - Skip .campaign.g.lock.yml files in purgeOrphanedLockFiles function - Add test to verify campaign lock files are preserved during purge - Update existing test to reflect that .campaign.g.md files are kept as debug artifacts Fixes #3704580322 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Verified with
The purge logic now correctly skips |
Fix repo-memory file-glob patterns and campaign lock file purge
This PR addresses two issues:
1. Repo-Memory File-Glob Path Consistency
Meta-orchestrator workflows were using file-glob patterns that incorrectly included the git branch name (
memory/meta-orchestrators/**), violating the repo-memory spec which requires patterns to match relative paths from the artifact directory.Changes:
metrics-collector.md:memory/meta-orchestrators/metrics/**→metrics/**agent-performance-analyzer.md:memory/meta-orchestrators/**/*→**campaign-manager.md:memory/meta-orchestrators/**/*→**workflow-health-manager.md:memory/meta-orchestrators/**/*→**docs/workflows/metrics-collector.md: Fixed all path references2. Campaign Lock File Purge Bug
The
compile --purgecommand was incorrectly deleting campaign orchestrator lock files (.campaign.g.lock.yml) during recompilation.Root Cause: The
purgeOrphanedLockFilesfunction used a glob pattern*.lock.ymlthat matched all lock files including campaign orchestrator lock files. Since campaign lock files weren't in the expected lock files list (which only contained regular workflow lock files), they were incorrectly identified as orphaned and deleted.Fix: Skip
.campaign.g.lock.ymlfiles inpurgeOrphanedLockFiles- these are handled by the dedicatedpurgeOrphanedCampaignOrchestratorLockFilesfunction.Testing:
TestCompileWorkflows_PurgeCampaignLockFilesto verify campaign lock files are preservedTestCompileWorkflows_PurgeCampaignOrchestratorsto reflect that.campaign.g.mdfiles are kept as debug artifactsContext: Per repo-memory spec, when using object config:
default/tmp/gh-aw/repo-memory/default/memory/meta-orchestrators) only affects git storageFiles written to
/tmp/gh-aw/repo-memory/default/are automatically pushed to the configured git branch.Original prompt
This section details on the original issue you should resolve
<issue_title>📊 Missing Metrics Infrastructure for Agent Performance Analysis</issue_title>
<issue_description>## Problem
The Agent Performance Analyzer meta-orchestrator requires centralized metrics data to perform quantitative analysis of agent performance. The expected metrics infrastructure is missing from shared memory.
Expected Location
Required Metrics
Per-Workflow Metrics
Ecosystem Metrics
Impact
Without Metrics Data:
Current State:
Solution
Verify Metrics Collector Workflow
Check if Metrics Collector workflow exists:
If exists, trigger a run:
/tmp/gh-aw/repo-memory/default/metrics/If missing, create Metrics Collector workflow:
Expected JSON Schema
{ "collected_at": "2026-01-02T00:00:00Z", "period": { "start": "2026-01-01T00:00:00Z", "end": "2026-01-02T00:00:00Z" }, "workflows": { "workflow-name": { "safe_outputs": { "issues_created": 5, "prs_created": 2, "comments_added": 10, "discussions_created": 1 }, "runs": { "total": 10, "successful": 8, "failed": 2, "success_rate": 0.80 }, "engagement": { "total_reactions": 15, "total_comments": 20, "avg_reactions_per_output": 3.0 }, "quality_indicators": { "pr_merge_rate": 0.75, "avg_close_time_hours": 48 } } }, "ecosystem": { "total_workflows": 176, "active_workflows": 165, "total_outputs": 50, "engines": { "copilot": 40, "claude": 5, "codex": 5 } } }Integration with Meta-Orchestrators
All three meta-orchestrators depend on this data:
Acceptance Criteria
/tmp/gh-aw/repo-memory/default/metrics/latest.jsonmetrics/daily/YYYY-MM-DD.jsonPriority
High - Blocks quantitative analysis for all meta-orchestrators.
Related
Comments on the Issue (you are @copilot in this section)
@pelikhan /q review prompt and expected memory loca...💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.