-
Notifications
You must be signed in to change notification settings - Fork 35
Fix campaign memory pattern to use recommended layout #8272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ructures Co-authored-by: mnkiefer <[email protected]>
|
@copilot: Workflows in campaigns should have no knowledge of the campaign. This pattern should not exist in the workflow file itself but be know by the campaign: |
- Updated extractFileGlobPatterns to return all patterns from memory-paths - Modified campaign definition to include both dated and non-dated patterns - Updated tests to verify multiple pattern extraction works correctly - Regenerated orchestrator from campaign definition (not manually edited) Co-authored-by: mnkiefer <[email protected]>
... You're absolutely right. I've corrected the approach in commit 8c8bf58. The pattern configuration now belongs in the campaign definition ( Changes:
The workflow file no longer has hardcoded knowledge of the campaign structure. |
|
@copilot: Only keep one memory path pattern. Recompile campaign and add tests. Make sure campaigns still work end to end. |
- Changed pattern from two patterns to one: go-file-size-reduction-project64*/** - This single pattern matches both dated (campaign-id-2025-12-31/) and non-dated (campaign-id/) structures - Added test case for flexible pattern in orchestrator_test.go - Added comprehensive test case in push_repo_memory.test.cjs - Recompiled campaign to regenerate orchestrator with new pattern Co-authored-by: mnkiefer <[email protected]>
Done in commit 510667a. Changed to use a single flexible pattern Tests added:
Campaign recompiled: Orchestrator regenerated with new pattern. All unit tests pass (Go + JavaScript). |
|
@copilot: Make lint. |
- Removed trailing whitespace - Fixed struct field alignment in test code Co-authored-by: mnkiefer <[email protected]>
|
@copilot: The recommended layout is memory/campaigns//cursor.json for the checkpoint (treated as an opaque JSON object) and memory/campaigns//metrics/.json. Nothing else should be accepted here. |
- Changed pattern to go-file-size-reduction-project64/** (no wildcard in campaign ID) - Follows documented recommended layout: memory/campaigns/<campaign-id>/cursor.json - Pattern now matches recommended structure and rejects non-standard dated directories - Recompiled campaign to regenerate orchestrator with correct pattern Co-authored-by: mnkiefer <[email protected]>
Updated in commit 9537f14 to follow the recommended layout Pattern changed from |
Changes Made
Updated campaign memory path pattern to follow the documented recommended layout.
Pattern Change
Before (non-standard):
After (recommended layout):
Recommended Layout
According to the campaign documentation:
The pattern now follows this recommended structure:
go-file-size-reduction-project64/cursor.json(recommended)go-file-size-reduction-project64/metrics/2025-12-31.json(recommended)go-file-size-reduction-project64-2025-12-31/cursor.json(non-standard, correctly rejected)other-campaign/file.json(correctly rejected)Architecture
This fix follows the campaign architecture principle that workflows should have no knowledge of the campaign structure. Pattern configuration belongs in the campaign definition (
.campaign.md), not in the workflow file. The orchestrator workflow (.campaign.g.md) is auto-generated from the campaign spec and remains campaign-agnostic.Tests Added
pkg/campaign/orchestrator_test.go): Verifies the pattern extraction works correctly for the recommended layoutactions/setup/js/push_repo_memory.test.cjs): Comprehensive test that verifies the pattern matches the recommended structureVerification
✅ All Go unit tests pass
✅ All JavaScript tests pass (52 tests)
✅ Pattern verification confirms recommended structure matches correctly
✅ Campaign recompiled successfully
✅ Orchestrator regenerated with recommended pattern
✅ Linting passes (
make lint)Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.