feat: support runtime/dynamic reviewers, team-reviewers, and assignees in create-pull-request#42621
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅ |
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. No ADR enforcement needed: PR does not have the 'implementation' label and has ≤100 new lines of code in business logic directories (default_business_additions=0). |
|
✅ PR Code Quality Reviewer completed the code quality review. |
|
✅ Test Quality Sentinel completed test quality analysis. No test files were added or modified in this PR. Test Quality Sentinel skipped. |
There was a problem hiding this comment.
Pull request overview
This pull request updates the generated Agentic Maintenance workflow, adjusting the actions/checkout configuration for steps that sparse-checkout the actions/ directory.
Changes:
- Add
clean: falseto all “Checkout actions folder” steps that usesparse-checkout: actionsin the maintenance workflow.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/agentics-maintenance.yml | Updates checkout step inputs for sparse actions/ checkouts by setting clean: false. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Low
There was a problem hiding this comment.
Skills-Based Review 🧠
Applied /codebase-design — requesting changes primarily due to a critical mismatch between the PR title/description and the actual diff.
📋 Key Themes & Findings
🚨 Critical: PR Description Does Not Match the Diff
The PR title is "feat: support runtime/dynamic reviewers, team-reviewers, and assignees in create-pull-request" and the body describes extensive Go, JS, test, and documentation changes. However, the actual diff contains only one changed file — .github/workflows/agentics-maintenance.yml — with 8 identical additions of clean: false to sparse-checkout steps.
The described feature changes (Go registry updates, JS handler additions, new tests, docs) are not present in this PR. Possible explanations:
- The feature implementation was never pushed to this branch.
- This PR was opened on the wrong branch.
- The PR description was generated from a different task and copy-pasted here.
Action needed: Either (a) push the actual feature implementation to this branch, or (b) update the PR title/description to accurately reflect the clean: false workflow maintenance that was actually committed.
Actual Change: clean: false in Sparse Checkouts
The eight clean: false additions are a legitimate workflow maintenance pattern — they prevent git from removing files outside the sparse-checkout scope so that downstream steps can still access them. However, the motivation is undocumented, making it hard to verify correctness for all 8 jobs (see inline comment).
Positive Highlights
- ✅ The change itself is applied consistently across all affected jobs.
- ✅ Pairing
clean: falsewithpersist-credentials: falseis a good hygiene combination.
🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · 34.2 AIC · ⌖ 10.1 AIC · ⊞ 6.6K
Comment /matt to run again
There was a problem hiding this comment.
🔎 Code quality review by PR Code Quality Reviewer · 47.1 AIC · ⌖ 10.7 AIC · ⊞ 1.6K
Comment /review to run again
|
@copilot run pr-finisher skill |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot add integration workflow tests in pkg/cli/workflows |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Addressed in 1dd6047. I added a canonical runtime-routing workflow fixture in |
reviewers,team-reviewers, andassigneesoncreate-pull-requestonly accepted static lists, making it impossible to route a created PR to the triggering actor or any value resolved at runtime. Additionally,assigneeswas only applied to fallback issues, not the created PR itself.Changes
Go — registry & config
safe_outputs_handler_registry.go:AddStringSlice→AddTemplatableStringSliceforreviewers,team_reviewers,assignees— enables${{ }}expression passthroughcreate_pull_request.go: updated field doc commentstool_description_enhancer.go: surface assignees constraint in tool descriptionJS handler
create_pull_request.cjs: addsgithub.rest.issues.addAssigneescall on the created PR after the existing reviewer logic (PRs use the Issues API for assignment);assigneesnow applies to both the PR and any fallback issueTests
TestParsePullRequestsConfigExpressionFields/TestHandlerConfigExpressionFieldscovering expression-valued reviewers, team-reviewers, and assigneesit()tests for PR-level assignee addition, no-op, failure handling, and copilot-stripped pathsDocs
Example