feat: honor agent labels in auto-pilot - #1638
Conversation
Automated Status SummaryHead SHA: 205e083
Coverage Overview
Coverage Trend
Top Coverage Hotspots (lowest coverage)
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
🤖 Keepalive Loop StatusPR #1638 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a18cb00ad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Updates auto-pilot to respect existing agent:* labels on issues/PRs (instead of always using the registry default), and documents the intended labeling behavior so the selected runner stays consistent across the automation stack.
Changes:
- Document that
agents:auto-pilotcan be combined with an explicitagent:<name>label to pin the runner, otherwise the registry default is used. - Update
agents-auto-pilot.ymlto read the issue’s current labels and resolve the agent key from them before capability-check and create-pr steps.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| docs/keepalive/Agents.md | Adds guidance on combining agents:auto-pilot with agent:<name> and describes defaulting behavior. |
| docs/WORKFLOW_GUIDE.md | Updates workflow docs to explain auto-pilot’s agent label routing/defaulting behavior. |
| .github/workflows/agents-auto-pilot.yml | Resolves agentKey from existing issue labels prior to capability-check and create-pr steps. |
When workflows sparse-checkout the Workflows repo and include .github/scripts/ files individually, cone-mode includes package.json (as an ancestor-dir file) but NOT node_modules/minimatch/ (a subdirectory). This causes npm install to fail on the unresolvable "file:node_modules/minimatch" dependency. Add a pre-install step that detects and strips file: dependencies whose targets don't exist, so npm install succeeds regardless of whether the vendored packages were checked out. Fixes agents-verify-to-new-pr, agents-verify-to-new-pr-autopilot, agents-verify-to-issue-v2, and ~12 other workflows that use sparse-checkout with setup-api-client. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
…ify-to-issue-v2 workflows Consistent with how all other workflows in the repo handle sparse checkouts of the Workflows repo. Without non-cone mode, package.json (which references vendored minimatch) gets pulled in by the ancestor directory rule, but node_modules/minimatch/ does not, causing npm install to fail with ENOENT. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
…ify-to-issue-v2 workflows Consistent with how all other workflows in the repo handle sparse checkouts of the Workflows repo. Without non-cone mode, package.json (which references vendored minimatch) gets pulled in by the ancestor directory rule, but node_modules/minimatch/ does not, causing npm install to fail with ENOENT. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
…ify-to-issue-v2 workflows Consistent with how all other workflows in the repo handle sparse checkouts of the Workflows repo. Without non-cone mode, package.json (which references vendored minimatch) gets pulled in by the ancestor directory rule, but node_modules/minimatch/ does not, causing npm install to fail with ENOENT. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
…ify-to-issue-v2 workflows Consistent with how all other workflows in the repo handle sparse checkouts of the Workflows repo. Without non-cone mode, package.json (which references vendored minimatch) gets pulled in by the ancestor directory rule, but node_modules/minimatch/ does not, causing npm install to fail with ENOENT. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
Address review feedback: the stripped package.json was never restored, which could leak modified state into downstream steps that expect a clean workspace. Now backs up the original before stripping and restores it after npm install completes. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
Mirror the same backup/restore + strip logic for unresolvable file: dependencies into the consumer-repo template copy, so synced consumer repos also get the defense-in-depth fix. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
Previous push was empty due to shell variable truncation. This commit contains the full action.yml with the vendored dep strip + restore fix. https://claude.ai/code/session_012WnYCcttvFEY3FETnhVcNL
No description provided.