Skip to content

Conversation

@mnkiefer
Copy link
Contributor

@mnkiefer mnkiefer commented Dec 11, 2025

First-class Campaigns for Enterprises

Adds first‑class campaigns to gh-aw so enterprises can describe initiatives in specs (owners, risk, governance, metrics) while reusing existing workflows.

Campaign specs (*.campaign.md)

  • Treat each campaign as a first‑class object defined in Markdown with YAML frontmatter, with:
    • id, name, description
    • workflows (one or many workflow IDs)
    • owners, executive_sponsors, risk_level, state, tags
    • tracker_label, memory_paths, metrics_glob
    • allowed_safe_outputs, approval_policy
  • Support:
    • Single‑workflow campaigns like incident-response and security-compliance
    • A multi‑workflow campaign org-modernization that coordinates:
      • org-wide-rollout (rollout coordinator)
      • human-ai-collaboration (human‑in‑loop approvals)
      • intelligence (reporting / trend analysis)

gh aw campaign CLI

  • gh aw campaign / gh aw campaign --json
    List all campaigns defined in campaigns/*.campaign.md.
  • gh aw campaign status / --json
    Show compiled workflow state and basic issue/PR metrics grouped by tracker_label.
  • gh aw campaign validate
    Validate specs (supports JSON output and non‑strict reporting).
  • gh aw campaign new <id>
    Scaffold a new campaign spec file under campaigns/<id>.campaign.md.

Docs & examples

  • Updates docs/src/content/docs/guides/campaigns.md to:
    • Explain how campaigns add ownership, governance, and reporting on top of existing workflows and repo‑memory.
    • Show both single‑workflow and multi‑workflow campaign spec examples.

@mnkiefer mnkiefer changed the title chore: add example campaign for issue cleanup [WIP] chore: add example campaign for issue cleanup Dec 11, 2025
@mnkiefer mnkiefer marked this pull request as draft December 11, 2025 01:57
@mnkiefer mnkiefer changed the title [WIP] chore: add example campaign for issue cleanup [WIP] chore: add campaign for issue cleanup Dec 11, 2025
@mnkiefer mnkiefer changed the title [WIP] chore: add campaign for issue cleanup [WIP] chore: refine campaigns and add example for issue cleanup Dec 11, 2025
@pelikhan
Copy link
Contributor

Best to avoid the "example-" pattern, instead we want to have campaign that are actually useful to gh-aw. We have lots of issues, it's triage them through campaigns. Examples rot, useful tools
florish.

@mnkiefer mnkiefer changed the title [WIP] chore: refine campaigns and add example for issue cleanup [WIP] chore: refine campaigns and add enterprise ones Dec 11, 2025
@mnkiefer mnkiefer changed the title [WIP] chore: refine campaigns and add enterprise ones [WIP] feat: refine campaigns and add enterprise ones Dec 11, 2025
@mnkiefer mnkiefer self-assigned this Dec 11, 2025
@mnkiefer mnkiefer changed the title [WIP] feat: refine campaigns and add enterprise ones feat(cli): add campaign management commands and specs Dec 11, 2025
@mnkiefer mnkiefer changed the title feat(cli): add campaign management commands and specs feat(cli): add campaign management commands, specs and examples Dec 11, 2025
@mnkiefer mnkiefer changed the title feat(cli): add campaign management commands, specs and examples feat(cli): add campaign management cmds, specs, and examples Dec 11, 2025
@mnkiefer mnkiefer marked this pull request as ready for review December 11, 2025 09:21
@pelikhan
Copy link
Contributor

The campaign should probably be a markdown file itself so that we can infuse agentic level behavior.

@mnkiefer
Copy link
Contributor Author

@pelikhan: This is what I'm envisioning for (enterprise) campaigns. Let me know what you think! 🙏🏼

Copy link
Contributor

@pelikhan pelikhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot

  • move campaign code to pkg/campaign package
  • split campaign.go to small files
  • add extensive tests

Copy link
Contributor

Copilot AI commented Dec 11, 2025

@pelikhan I've opened a new pull request, #6136, to work on those changes. Once the pull request is ready, I'll request review from you.

@pelikhan
Copy link
Contributor

Use -, not _ in yaml names

@pelikhan
Copy link
Contributor

Mark as "experimental" so that you can break/iterate

@mnkiefer mnkiefer merged commit 30183c1 into main Dec 11, 2025
10 of 12 checks passed
@mnkiefer mnkiefer deleted the campaign-design branch December 11, 2025 17:20
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.

3 participants