Fix campaign file-glob pattern to support dated directory structures#8269
Merged
Fix campaign file-glob pattern to support dated directory structures#8269
Conversation
Extract file-glob pattern from memory-paths/metrics-glob to support campaigns with dated directory patterns (e.g., campaign-id-20251231/). - Add extractFileGlobPattern helper to extract patterns from memory-paths - Prefer patterns with directory wildcards (campaign-id-*) over simple patterns - Fall back to metrics-glob if no memory-paths wildcards found - Update orchestrator to use extracted pattern instead of simple ID - Add comprehensive tests for pattern extraction logic Fixes file pattern validation errors in campaign workflows where agents create files in dated subdirectories that don't match the hardcoded campaign-id/** pattern. Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix memory changes in campaigns for allowed file patterns
Fix campaign file-glob pattern to support dated directory structures
Dec 31, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Campaign orchestrators were generating hardcoded file-glob patterns (
campaign-id/**) that failed to match agent-created files in dated directories (campaign-id-20251231/metrics/*.json), causing repo-memory push validation errors.Changes
extractFileGlobPattern()to derive file-glob frommemory-pathsormetrics-globconfiguration, preserving wildcards for dated directoriescampaign-id-*/**) over static paths, with fallback hierarchy: memory-paths → metrics-glob → campaign IDfmt.Sprintf("%s/**", spec.ID)with extracted pattern in repo-memory configurationExample
Before:
After:
Pattern extraction handles multiple scenarios:
campaign-id-*/data/**→campaign-id-*/data/**campaign-id-*/metrics/*.json→campaign-id-*/**campaign-id/**→campaign-id/**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:
https://api.github.com/user/usr/bin/gh gh api user --jq .login -json GO111MODULE ux-amd64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ux-amd64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ux-amd64/pkg/tool/linux_amd64/compile(http block)/usr/bin/gh gh api user --jq .login runs/20251231-075905-52104/test-526039141/.github/workflows GOPROXY(http block)/usr/bin/gh gh api user --jq .login ithub/workflows l/linux_amd64/compile /usr/bin/git -c=4 -nolocalimports l/linux_amd64/li/tmp/validate-js-3798572598.cjs git rev-�� ference.git l/linux_amd64/link /usr/bin/git -json GO111MODULE ux-amd64/bin/go git(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.