Make tracker-label optional in campaign specs#8706
Merged
Conversation
- Remove mandatory validation for tracker-label - Keep format validation when tracker-label is provided - Update schema description to emphasize optional nature - Update documentation to clarify project board is canonical source - All campaign tests pass Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add and stabilize campaigns feature with minimal changes
Make tracker-label optional in campaign specs
Jan 3, 2026
Collaborator
|
@copilot: make lint |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Contributor
Author
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 Feature Stabilization - Complete ✅
Goal: Make tracker-label optional while keeping the project board as the canonical source of campaign membership.
Implementation Summary
Successfully implemented minimal, campaign-focused changes to make the tracker-label field optional throughout the campaigns feature. The project board is now clearly documented as the canonical source of campaign membership, with tracker-label serving as an optional ingestion hint.
Changes Completed
Validation Logic (
pkg/campaign/validation.go)Validation Tests (
pkg/campaign/validation_test.go)TestValidateSpec_MissingTrackerLabelto expect validation success (no problems)TestValidateSpec_InvalidTrackerLabelFormatto ensure format validation still worksJSON Schema (
pkg/campaign/schemas/campaign_spec_schema.json)Code Documentation (
pkg/campaign/spec.go)User Documentation
docs/src/content/docs/guides/campaigns.md- Updated to clarify project board is canonical sourcedocs/src/content/docs/guides/campaigns/specs.md- Updated core fields, diagrams, and descriptionsVerification Results
✅ All campaign tests pass (71 tests in pkg/campaign/)
✅ CLI commands work correctly
gh aw campaignlists campaigns successfullygh aw campaign validatevalidates both existing campaigns without issuesgh aw campaign statusshows correct status including optional tracker-label✅ Linting passes (
make lint)✅ Validation behavior verified
✅ Backward compatibility maintained
FetchItemCounts){{if .TrackerLabel}}for conditional renderingCode Quality
pkg/campaign/and related docsKey Design Decisions
campaign:id)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.