Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 28, 2025

Reviewed campaign feature integration points to ensure clean separation from ProjectOps, repo-memory, and workflow compilation. All integration uses convention-based patterns rather than architectural coupling.

Documentation Improvements

Repo-memory campaign convention (actions/setup/js/push_repo_memory.cjs)

  • Added section headers explaining convention: memoryId="campaigns" + file-glob="<id>/**" triggers validation
  • Clarified campaign validation is opt-in pattern, not architecture mixing
  • Non-campaign repo-memory bypasses validation entirely

Campaign orchestrator permissions (pkg/workflow/tools.go)

  • Documented generation pattern: campaign spec → orchestrator generation → compile-time permissions
  • Explained why .campaign.g.md files receive special handling

Safe output fields (pkg/workflow/safe_output_validation_config.go)

  • Documented campaign_id as optional field for campaign tracking
  • Clarified campaigns use general features without polluting them

Compiler feature detection (pkg/workflow/compiler.go)

  • Noted .campaign.md detection is simple feature flag, not logic integration

Separation Confirmed

  • Campaign domain logic isolated in pkg/campaign/
  • ProjectOps completely separate concept (GitHub Projects automation)
  • Campaigns use general features through documented conventions
  • No architectural coupling between campaign and core systems

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI self-assigned this Dec 28, 2025
Improved documentation and comments to clearly separate campaign-specific
logic from general repo-memory and workflow functionality:

1. push_repo_memory.cjs: Added clear documentation sections explaining
   the campaign convention (memoryId="campaigns" + file-glob="<id>/**")
   and how campaign validation is triggered. Emphasized that this is a
   domain-specific convention, not mixing with general repo-memory logic.

2. tools.go: Enhanced permissions defaults section with detailed comments
   explaining campaign orchestrator generation pattern and why campaign.g.md
   files receive special permission handling at compile time.

3. compiler.go: Added comment explaining that campaign warning detection
   is just a feature flag check, not campaign logic integration.

4. safe_output_validation_config.go: Documented that campaign_id is an
   optional field in update-project safe output, used by campaigns but
   not required for general use.

These changes preserve the clean separation between:
- Campaign domain logic (pkg/campaign/)
- General workflow compilation (pkg/workflow/)
- Repo-memory features (generic with campaign convention support)
- Safe outputs (generic with optional campaign fields)

Co-authored-by: mnkiefer <[email protected]>
Copilot AI changed the title [WIP] Add support for campaign objectives and KPIs docs: clarify campaign feature separation from core workflow systems Dec 28, 2025
Copilot AI requested a review from mnkiefer December 28, 2025 12:26
@mnkiefer mnkiefer merged commit f36109a into campaign-delegation Dec 28, 2025
@mnkiefer mnkiefer deleted the copilot/sub-pr-7237 branch December 28, 2025 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants