Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 1, 2026

Campaign orchestrators were yielding no-op instead of discovering worker-created issues and populating missing project board fields.

Root Causes

Missing workflows in template context: The CampaignPromptData struct lacked a Workflows field, so worker IDs were never passed to the orchestrator template. The agent received instructions to search "for each worker in workflows" but the variable was undefined.

Missing field update logic: No instructions existed to check existing board items for missing custom fields (e.g., worker_workflow for swimlane grouping).

Changes

Add workflows to template data

  • Added Workflows []string to CampaignPromptData struct
  • Pass spec.Workflows when building orchestrator in BuildOrchestrator()

Explicitly list workers in discovery step

2. **Query worker-created issues** - Search for issues containing worker tracker-ids
   - Worker workflows: daily-doc-updater, docs-noob-tester, ...
   - For each worker in `workflows`, search: `repo:OWNER/REPO "tracker-id: WORKER_ID" in:body`

Add field update instructions

  • Step 4: Identify items with missing fields as gaps
  • Step 6.5: Decide which items need field updates (check for missing worker_workflow)
  • Step 8: Populate worker_workflow when adding new items
  • Step 9.5: Execute field updates for existing items
  • Step 11: Report field update counts in status summary

Example template update (orchestrator_instructions.md):

6.5 **Decide field updates** - For each existing board item, check for missing custom fields:
   - If item is missing `worker_workflow` field:
     - Search issue body for tracker-id
     - If tracker-id matches a worker in `workflows`, populate `worker_workflow` field
   - Skip items that already have all required fields populated

Both campaign orchestrators recompiled with updated instructions.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/githubnext/gh-aw/actions/runs/20643324972/artifacts
    • Triggering command: /usr/bin/curl curl -sL -H Authorization: token -H Accept: application/vnd.github+json REDACTED (http block)
  • https://api.github.com/repos/githubnext/gh-aw/actions/runs/20643324972/jobs
    • Triggering command: /usr/bin/curl curl -s -H Authorization: token REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Analyze last campaiagn run: https://github.com/githubnext/gh-aw/actions/runs/20643324972
Yields no-op, but should be rediscovering items from underlying worker workflows and also updating ones on the project board with missing fields.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

mnkiefer and others added 2 commits January 1, 2026 19:55
- Add Workflows field to CampaignPromptData struct
- Pass spec.Workflows to template rendering in BuildOrchestrator
- Update orchestrator_instructions.md to list worker workflows explicitly
- Add test TestBuildOrchestrator_WorkflowsInDiscovery to verify workflows appear in generated markdown
- Recompile docs-quality-maintenance campaign to include worker workflows

This fixes the issue where campaign orchestrators were not discovering worker-created issues because the workflow IDs were not available in the template context.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
@mnkiefer mnkiefer marked this pull request as ready for review January 1, 2026 19:05
Copilot AI and others added 2 commits January 1, 2026 19:06
- Add step 6.5 "Decide field updates" to check for missing custom fields on existing board items
- Add step 9.5 "Execute field updates" to populate missing fields like worker_workflow
- Update step 4 to identify items with missing fields as gaps to fix
- Update step 8 to populate worker_workflow when adding new items
- Update step 11 status report to include field update counts
- Recompile both campaign workflows with updated instructions

This ensures the orchestrator will discover and update existing project board items that are missing the worker_workflow field, enabling proper swimlane grouping and filtering.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Update TestRenderOrchestratorInstructions to expect:
- "Execute status updates" (renamed from "Execute updates")
- "Execute field updates" (new step)
- "Decide field updates" (new step)

All campaign tests now passing.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title [WIP] Analyze last campaign run for item rediscovery Fix campaign orchestrator worker discovery and field updates Jan 1, 2026
Copilot AI requested a review from mnkiefer January 1, 2026 19:15
@mnkiefer mnkiefer merged commit c4b40c7 into main Jan 1, 2026
50 of 51 checks passed
@mnkiefer mnkiefer deleted the copilot/analyze-last-campaign-run branch January 1, 2026 19:53
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