Skip to content

Run the swarm check with real coding agents - #3

Merged
Jay Gordon (jaydestro) merged 2 commits into
mainfrom
010-real-agent-swarm
Oct 27, 2026
Merged

Jay Gordon (jaydestro) merged 2 commits into
mainfrom
010-real-agent-swarm

Conversation

@jaydestro

@jaydestro Jay Gordon (jaydestro) commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Real coding-agent swarm support

Runs three coding tasks in separate Git worktrees and owned Azure Cosmos DB emulators, then verifies each task's state/tests, runs a deterministic shared-emulator negative control, and tests the merged revision in a fresh emulator.

  • Supplies SWARM_PYTHON, exports per-agent and combined patches, reports integration conflicts and test failures, and exits nonzero unless the result is passed.
  • Invokes the configured agent to resolve code conflicts. Requires a clean, marker-free merge retaining both parents, then combined tests. Rejects committed markers without destructive rollback.
  • Retains a failed-run summary on ordinary execution exceptions and reports Git cleanup failures; abrupt runner termination can still interrupt artifact creation. Per-agent patches exist after completed task commits; the integration patch exists after accepted merges.
  • Extends only owned Docker removal to 120 seconds; ordinary Docker commands retain their existing timeout.

Native Copilot in GitHub Actions

Adds Real Copilot worktree swarm in agentic-ci.yml: opt-in run_real_agents=true, manual/default-branch-only, pinned CLI 1.0.103, 60-minute job timeout, 10 AI credits per session (three tasks, up to two resolver sessions). Uses the native GITHUB_TOKEN with job-scoped contents: read and copilot-requests: write. No PAT/secrets or credential persistence. Disables built-in MCPs/custom instructions and strips the token from Copilot shell/MCP tool environments. This is not a security sandbox; use trusted code.

Requires the organization's Allow use of Copilot CLI billed to the organization policy; usage is billed to that org. Missing policy/budget/model access fails the real job without stand-in fallback. Ordinary PR checks and the manual default stand-in job remain unchanged. No generated changes are pushed and no PR is auto-merged by the workflow.

Official support: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli-in-actions

Evidence

Four substantive local real-Copilot runs: initial Git conflict exposed the old failure; a resolver run passed 89 integrated tests; a later teardown timeout exposed the Docker limit; the final run passed 93 integrated tests in about eight minutes with all owned resources removed. The negative control uses stand-ins even in real-agent runs.

New native-job revision c0d67e0: 30 focused swarm/lifecycle tests passed; source typing passed (23 files); lint/format passed. Hosted manual stand-in run 40535082580 passed. Native real-agent execution is pending the default-branch merge and organization entitlement check. Actionlint 1.7.12 passes with only its unrecognized new copilot-requests scope excluded, verified against official GitHub docs and the hosted workflow parser.

Publication/media work is paused at the user's request; this PR only changes sample code/docs/workflows.

Give agents a SWARM_PYTHON interpreter and report merge conflicts as a result
instead of crashing. With --agent-command the same agent is asked to resolve a
conflict in the integration worktree; the result counts only when the merge is
complete, no conflict markers remain, and the combined tests pass. Always write
result.json, per-task change.patch and integration.patch, and exit nonzero
unless the status is passed.

Wait up to 120s for docker rm --force. Three real agents plus test suites can
make Docker slow enough to exceed the previous 30s limit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run trusted default-branch real-agent checks with job-scoped Copilot permissions and bounded credits. Retain the deterministic manual check and ordinary PR behavior. Reject invalid conflict resolutions and retain failed-run summaries.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jaydestro

Copy link
Copy Markdown
Contributor Author

Validation update for c0d67e0: all five regular PR checks are green, including the actual Ollama grounded-answer/CRUD test. The complete local component gate passed 211 tests plus lint/format/source typing. Hosted manual stand-in run 40535082580 passed with verified container/Git cleanup; run 40536060838 requested real agents from a non-default branch and correctly skipped that job while all other jobs passed. The native Copilot job has NOT yet made inference calls on main. Leaving this PR open and not starting organization-billed inference pending merge/run approval. Publication/media work remains paused.

@jaydestro
Jay Gordon (jaydestro) merged commit f36f115 into main Oct 27, 2026
17 checks passed
@jaydestro

Jay Gordon (jaydestro) commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor Author

Completed: merged as f36f115; CLI credit-minimum correction merged in PR #4 as 3c413a9. Native Copilot run 40539601322 on main passed all five jobs with three genuine Copilot coding tasks plus a Copilot merge-resolution session, one real resolved dispatch-code conflict, 75 independently verified combined JUnit tests, and owned-resource cleanup. Full evidence: #4 (comment) . Publication/media remain paused.

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.

1 participant