Onboard Project Manager for Java to IssueLens - #1098
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🔵 Needs a closer look
The overlapping issues.opened trigger must be resolved before approval.
Pull request overview
This PR onboards IssueLens for Project Manager for Java with scoped issue triage and opt-in shared team-memory automation.
Changes:
- Adds pinned issue-loop and post-merge workflows.
- Configures labeling, duplicate detection, assignment, and team memory.
- Documents policy, privacy, provenance, and shared-wiki safeguards.
File summaries
| File | Summary |
|---|---|
.github/workflows/issuelens-run.yml |
Moderate (1 vote): overlapping issues.opened handling with triage-agent.yml may race or duplicate writes; gate one path or remove the overlap. |
.github/workflows/team-memory-post-merge.yml |
Adds the opt-in post-merge team-memory workflow. |
.github/issuelens/team-memory.md |
Two nits (1 vote each): clarify the Contents: write permission scope and correct the current-user authority wording. |
.github/issuelens/labels.md |
Defines additive labeling behavior. |
.github/issuelens/duplicates.md |
Defines evidence-backed duplicate detection. |
.github/issuelens/assignment.md |
Restricts new assignees. |
.github/issuelens.yml |
Configures the four IssueLens domains and shared-wiki mapping. |
Review details
Suppressed comments (3)
.github/issuelens/team-memory.md:21
Contents: writeis not only a wiki permission: the destination App needs it for maintenance, and GitHub treats it as repository-content write access. Saying this does not grant source-code writes understates the App's blast radius and could mislead operators; distinguish the underlying App permission from the IssueLens writer's fixed wiki-only tool surface.
Destination GitHub App installation and Contents access (read for retrieval,
write for separately authorized maintenance) are separate from source-user
authorization and the source workflow's `contents: read` permission. These do not
grant issue, label, assignment, pull-request, source-code, or settings writes in
either repository.
.github/issuelens/team-memory.md:157
- The phrase “requires separately explicit current-user authority” is grammatically incorrect; please use “requires separate, explicit current-user authority” so this maintenance requirement is clear.
maintenance, including bootstrap, requires separately explicit current-user
.github/workflows/issuelens-run.yml:5
- This adds an
issues.openedtrigger alongside.github/workflows/triage-agent.yml, which already processes the same event and sends aDirectUpdaterequest withissues: write. Every new issue will therefore be handled by both triage systems, allowing their label/assignment/comment writes to race or produce duplicate, inconsistent results. Please gate one path or remove the overlapping trigger before enabling IssueLens.
issues:
types: [opened, reopened]
- Files reviewed: 7/7 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Addressed the policy wording findings from the review summary in 0c460c4:
The pushed commit changes only For the overlapping automatic triage concern, the maintainer has explicitly taken ownership of disabling the legacy AI Triage workflows separately and requested that their files remain unchanged here. The overlap is real while those workflows are still enabled; this is an operational handoff, not a claim that both automatic writers are safe or that the legacy workflows have already been disabled. |
|
Final review follow-up: GitHub now confirms the legacy AI Triage workflow ( The updated branch still contains exactly the seven reviewed onboarding files, with the accepted policy/workflow blobs unchanged. The latest CI is green, including Windows and the E2E aggregate, and the PR is approved. The external identity/agent/wiki integration limitation remains explicitly documented in the PR description. These checks do not claim a live agent invocation or wiki-write validation. |
Summary
Add seven IssueLens onboarding files for Project Manager for Java, following the approved Java-tooling consumer contract.
microsoft/IssueLens/.github/actions/issuelens@49df3d97547069f891a68248be6ed722c2aeca2f.labeling,duplicate_detection,assignment, andteam_memory. Label updates are additive, duplicate findings require evidence-backed native High confidence (90-100), and new assignees are restricted tochagongorwenytang-ms.microsoft/vscode-java-packwiki while retainingmicrosoft/vscode-java-dependencyas the source authorization scope. Preserve the shared flat page map, source citations, explicit maintenance authority, privacy boundaries, and atomic wiki snapshot checks.Preserved behavior and workflow boundaries
The existing Azure Function AI Triage, bulk triage, no-response, CI workflows,
.github/llms.md, and CODEOWNERS are unchanged. There are no application, dependency, README, or global configuration changes.Insufficient or out-of-scope reports use exact
needs more info, retaining the existing 14-day no-response closure behavior. The distinctneed more infolabel is not used. No new closer or direct IssueLens closure is introduced.The new workflows use dynamic default-branch checks, least-privilege permissions, 20-minute timeouts, repository/entity concurrency without cancellation, and one pinned composite step without checkout or issue/PR-body interpolation. Human issue comments exclude PR and bot comments. Team-memory automation is limited to merged default-branch PRs or validated manual replay with the opt-in enabled. Action logs and summaries use
activityandstatus, not agent text.Validation
No full application build was run for this configuration-only change.
Operational prerequisites configured separately
The coordinating parent confirmed setup and readback of the five standard Actions secrets (
AZURE_CLIENT_ID,AZURE_TENANT_ID,AZURE_SUBSCRIPTION_ID,ISSUELENS_AGENT_URL,ISSUELENS_AGENT_SCOPE),ISSUELENS_TEAM_MEMORY_ENABLED=true, and the exactmainandpull_requestfederation subjects on the existingissuelens-ghamanaged identity. Existing roles/trust and unrelated secrets were preserved.The parent also added the previously missing
documentationlabel; API readback confirmed its exact name andedededcolor. No existing labels were modified or issues relabeled.These prerequisite and offline checks do not establish live OIDC authentication, agent execution, destination App permissions, or shared-wiki read/write readiness. No workflow was manually dispatched, agent invoked/deployed, App changed, wiki written, or PR merged during onboarding.