Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 27, 2026

Campaign safe outputs: Complete ✅

  • Create analysis document
  • Restore update-project and create-project-status-update safe outputs
  • Increase max defaults (per feedback)
  • Adjust to hourly schedule with conservative limits
  • Restore specs/artifacts.md to original state

Final Configuration

Campaign orchestrators now have:

Schedule: Hourly (0 * * * *) for better responsiveness

Safe Outputs:

  • dispatch-workflow: max 3 per run
  • update-project: default 100 (governed by max-project-updates-per-run)
  • create-project-status-update: max 1 per run

Architecture:

  • Orchestrators: dispatch + project operations (dashboards/summaries)
  • Workers: create-issue, add-comment (GitHub API writes)

Changes Summary

Analysis (Commit 1):

Restore Project Capabilities (Commit 2):

  • Added update-project and create-project-status-update back to orchestrators
  • Updated tests and frontmatter serialization

Increase Limits (Commit 3):

  • Temporarily increased defaults (dispatch: 10, update: 100, status: 10)
  • Updated schema and validation to allow higher limits

Adjust to Hourly + Conservative Limits (Commit 4):

  • Changed schedule from daily to hourly
  • Reverted dispatch to 3, status to 1
  • Kept update-project at 100 default

Restore artifacts.md (Commit 5):

  • Restored auto-generated file to original state

Files Modified:

  • pkg/campaign/orchestrator.go
  • pkg/campaign/orchestrator_test.go
  • pkg/cli/compile_orchestrator.go
  • pkg/parser/schemas/main_workflow_schema.json
  • pkg/workflow/dispatch_workflow.go
  • .github/workflows/security-alert-burndown.campaign.lock.yml
  • specs/artifacts.md
Original prompt

Analyze campaign safe outputs from #11855, which ones were allowed in th old vs. new model.


💡 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.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title [WIP] Analyze campaign safe outputs from old vs new model Analysis: Campaign safe outputs before/after PR #11855 Jan 27, 2026
Copilot AI requested a review from mnkiefer January 27, 2026 05:16
@mnkiefer
Copy link
Contributor

@copilot dispatch_workflow only was too strict. Bring back capabilities for:

  • update-project
  • create-project-status-update

…tputs for campaign orchestrators

Bring back capabilities for campaign orchestrators to:
- update-project: Update GitHub Projects dashboard (max: 10, governed by max-project-updates-per-run)
- create-project-status-update: Create project status updates for summaries (max: 1)

Changes:
- pkg/campaign/orchestrator.go: Add UpdateProjects and CreateProjectStatusUpdates safe outputs
- pkg/campaign/orchestrator_test.go: Update tests to verify project safe outputs are present
- pkg/cli/compile_orchestrator.go: Serialize project safe outputs to generated .campaign.g.md frontmatter
- .github/workflows/security-alert-burndown.campaign.lock.yml: Recompiled with project handler step

Campaign orchestrators now support:
- dispatch-workflow (max: 3) - Dispatch worker workflows
- update-project (max: 10) - Update campaign dashboards
- create-project-status-update (max: 1) - Create campaign summaries

This maintains separation of concerns: orchestrators coordinate and maintain dashboards,
while workers handle create-issue and add-comment operations.

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

Copilot AI commented Jan 27, 2026

@copilot dispatch_workflow only was too strict. Bring back capabilities for:

  • update-project
  • create-project-status-update
    ...

Done! I've restored update-project and create-project-status-update safe outputs for campaign orchestrators.

Changes in commit 6002172:

Campaign orchestrators now support:

  • dispatch-workflow (max: 3) - Dispatch worker workflows
  • update-project (max: 10) - Update GitHub Projects dashboards
  • create-project-status-update (max: 1) - Create project status updates

The security-alert-burndown campaign has been recompiled with the project handler step that processes both project-related safe outputs. Orchestrators can now maintain campaign dashboards and create status summaries while workers handle create-issue and add-comment operations (if needed).

Copilot AI changed the title Analysis: Campaign safe outputs before/after PR #11855 Campaign safe outputs: Analysis + restore project capabilities Jan 27, 2026
@mnkiefer
Copy link
Contributor

@copilot More realistic max default items on the safe outputs. There are much too restrictive.

…listic values

Increase default max values for campaign orchestrator safe outputs:
- dispatch-workflow: 3 → 10 (allow more workers per run)
- update-project: 10 → 100 (handle larger discovery sets, still governed by max-project-updates-per-run)
- create-project-status-update: 1 → 10 (allow multiple status updates per run)

Changes:
- pkg/campaign/orchestrator.go: Update default max values with comments
- pkg/campaign/orchestrator_test.go: Update test expectations
- pkg/parser/schemas/main_workflow_schema.json: Increase dispatch-workflow max from 3 to 50
- pkg/workflow/dispatch_workflow.go: Update hard-coded cap from 3 to 50
- .github/workflows/security-alert-burndown.campaign.lock.yml: Recompiled with new defaults

The previous defaults were too restrictive for campaigns that can discover 100+ items
per run. New defaults are more realistic while still governed by campaign-specific
governance policies (max-project-updates-per-run, etc.).

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

Copilot AI commented Jan 27, 2026

@copilot More realistic max default items on the safe outputs. There are much too restrictive.

Done! I've increased the safe output defaults to more realistic values in commit 16d9357.

New defaults for campaign orchestrators:

  • dispatch-workflow: 3 → 10 (dispatch more workers per run)
  • update-project: 10 → 100 (handle larger discovery sets)
  • create-project-status-update: 1 → 10 (multiple status updates per run)

Schema updates:

  • dispatch-workflow maximum increased from 3 to 50 (in schema and validation code)

The previous values were too restrictive for campaigns that can discover 100+ items per run. The new defaults allow campaigns to process discovered items more effectively while still respecting governance policies like max-project-updates-per-run.

@mnkiefer mnkiefer marked this pull request as ready for review January 27, 2026 06:41
Changes per new requirements:
- Campaigns now run every hour by default (cron: "0 * * * *" instead of daily)
- dispatch-workflow: back to max 3 (was temporarily 10)
- create-project-status-update: back to max 1 (was temporarily 10)
- update-project: remains at 100 default (governed by max-project-updates-per-run)

Changes:
- pkg/campaign/orchestrator.go: Update schedule to hourly, adjust safe output defaults
- pkg/campaign/orchestrator_test.go: Update test expectations for hourly schedule and max values
- .github/workflows/security-alert-burndown.campaign.lock.yml: Recompiled with new schedule and values

With hourly runs, campaigns can respond more quickly to issues while keeping
safe output limits conservative to avoid overwhelming the system.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title Campaign safe outputs: Analysis + restore project capabilities Campaign safe outputs: Analysis + restore project capabilities with hourly schedule Jan 27, 2026
@mnkiefer
Copy link
Contributor

@copilot Restore specs/artifacts.md

Restore specs/artifacts.md to its state before commit 6002172.
This auto-generated file was accidentally modified when recompiling workflows.

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

Copilot AI commented Jan 27, 2026

@copilot Restore specs/artifacts.md

Done in commit a56cc55. Restored specs/artifacts.md to its original state before my changes. This auto-generated file was accidentally modified when I recompiled workflows.

Copilot AI requested a review from mnkiefer January 27, 2026 06:59
@mnkiefer mnkiefer changed the title Campaign safe outputs: Analysis + restore project capabilities with hourly schedule Campaign safe outputs: Update project with hourly schedule Jan 27, 2026
@mnkiefer mnkiefer merged commit bda74be into main Jan 27, 2026
84 checks passed
@mnkiefer mnkiefer deleted the copilot/analyze-campaign-safe-outputs branch January 27, 2026 07:03
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