Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 22, 2026

Campaign run #21255054636 was a no-op because discovery exhausted its budget (3 pages, 50 items max) without finding matching items. This is expected behavior for campaigns with conservative governance, but lacked visibility and documentation.

Changes

Documentation (docs/campaign-discovery-budgets.md)

  • Explains discovery budget mechanics (items vs pages)
  • Documents 3-tier search strategy (campaign label → generic label → tracker-id)
  • Provides guidance on when to adjust budgets
  • Includes troubleshooting procedures for 0-item discoveries

Enhanced Discovery Logging (actions/setup/js/campaign_discovery.cjs)

// Now logs budget utilization
core.info(`Budget utilization: ${totalItemsScanned}/${maxDiscoveryItems} items, ${totalPagesScanned}/${maxDiscoveryPages} pages`);

// Warns on exhaustion with 0 items
if (budgetExhausted && allItems.length === 0) {
  core.warning(`Discovery budget exhausted with 0 items found. Consider increasing budget limits.`);
}

// Manifest includes exhaustion tracking
manifest.discovery = {
  budget_exhausted: true,
  exhausted_reason: "max_pages_reached",  // or "max_items_reached"
  ...
};

Adjusted Campaign Budget (.github/workflows/security-alert-burndown.campaign.md)

  • Increased max-discovery-items-per-run from 50 to 100 (default level)
  • Increased max-discovery-pages-per-run from 3 to 5 (moderate level)
  • Allows discovery to scan up to 500 items (5 pages × 100/page)
  • Maintains conservative pacing with max-new-items-per-run: 3

Impact: Campaign operators can now distinguish between true no-ops (no work available) and budget-limited runs (work may exist but wasn't discovered). The security-alert-burndown campaign now uses moderate budget levels that balance thorough discovery with controlled rollout pace.

Original prompt

Understsand why campaign run was noop and discovered no items:
https://github.com/githubnext/gh-aw/actions/runs/21255054636
Explain reached discovery budget limits.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Add comprehensive campaign-discovery-budgets.md documentation
- Enhance discovery logging to show budget utilization
- Add budget_exhausted and exhausted_reason fields to manifest
- Include helpful warnings when budgets are exhausted with 0 items
- Recompile security-alert-burndown campaign with updated discovery script

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title [WIP] Investigate noop status of campaign run and budget limits Document and improve visibility of campaign discovery budget limits Jan 22, 2026
Copilot AI requested a review from mnkiefer January 22, 2026 17:33
@mnkiefer mnkiefer marked this pull request as ready for review January 22, 2026 17:37
@mnkiefer
Copy link
Contributor

@copilot Suggest a more reasonable budget.

- Increase max-discovery-items-per-run: 50 → 100 (default)
- Increase max-discovery-pages-per-run: 3 → 5 (moderate)
- This allows discovery to scan up to 500 items (5 pages × 100/page)
- Still maintains conservative pacing with max-new-items-per-run: 3
- Balances thorough discovery with controlled rollout pace

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 22, 2026

@copilot Suggest a more reasonable budget.

Updated to moderate budget levels (commit 85813b1):

  • max-discovery-items-per-run: 50 → 100 (default)
  • max-discovery-pages-per-run: 3 → 5 (moderate)

This scans up to 500 items (5 pages × 100/page) while keeping max-new-items-per-run: 3 for controlled rollout. Balances thorough discovery with pacing.

Copilot AI changed the title Document and improve visibility of campaign discovery budget limits Document, improve visibility, and adjust campaign discovery budget limits Jan 22, 2026
@mnkiefer mnkiefer merged commit aa6bbb3 into main Jan 22, 2026
119 checks passed
@mnkiefer mnkiefer deleted the copilot/understand-noop-campaign-run branch January 22, 2026 17:52
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