Improve clarity in mobile scanner workflow issues and PRs#127568
Conversation
Refactor the Mobile Platform Failure Scanner so every actionable failure becomes either a draft PR (per-test fix) or a tracking issue (everything else). Drop the procedural shell walkthrough; trust the agent on mechanics. State the four hard environment constraints (single-quoted URLs, no `>`/`-o`, no `$()` at command line, OData `%24top`) that previously caused intermittent `missing_tool` failures. - safe-outputs: create-pull-request (max 5) and create-issue (max 3) only - protected-files: blocked - allowed-files restricts PR diffs to src/libraries/**/tests/** and matching csproj - PR body must contain Reasoning / Impact on platforms / Errors log / First build it occurred - Issue body adds a fifth Recommended action section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
There was a problem hiding this comment.
Pull request overview
Updates the Mobile Platform Failure Scanner agentic workflow prompt and safe-output configuration to make outcomes more predictable: each actionable mobile failure should result in either a draft PR (per-test attribute fix) or a tracking issue (everything else), with clearer, standardized body templates and stricter PR guardrails.
Changes:
- Simplifies and restructures the workflow prompt to remove comment/noop-centric behavior and standardize PR/issue body sections.
- Increases per-run caps (up to 5 PRs / 3 issues) and changes protected-file handling to “blocked”.
- Adds an
allowed-filespolicy for PR creation and removespwshfrom the shell allowlist / prompt references (with corresponding lock-file updates).
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/mobile-scan.md | Updates workflow description, safe-outputs constraints, and rewrites the agent prompt to enforce PR-vs-issue outcomes and standard body structure. |
| .github/workflows/mobile-scan.lock.yml | Regenerates the compiled workflow to reflect the updated prompt, safe-outputs toolset, permissions, and allowlists. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 2
🤖 Copilot Code Review — PR #127568Note This review was generated by GitHub Copilot. Holistic AssessmentMotivation: The workflow's previous prompt was a verbose, procedural 8-step shell walkthrough that hand-held the agent through every Approach: The rewrite correctly distills the previous 150+ lines of step-by-step instructions into ~60 lines of outcome specification, data-source pointers, and hard constraints. The frontmatter tightening ( Summary: ✅ LGTM. The changes are well-scoped, internally consistent, and the lock file correctly mirrors the Detailed Findings✅ Safe-outputs policy tightening — Correct and saferThe switch from ✅ Capacity increase — Reasonable given outcome-driven designIncreasing ✅ Removal of
|
- Narrow allowed-files: drop src/libraries/**/*.csproj which permitted product project file changes; test csprojs remain reachable through src/libraries/**/tests/**. - Treat dead-letter / queue exhaustion / device-lost as infrastructure issues rather than dropping them. Group all such failures from one run into a single tracking issue and update an existing open one when found. - Set min-integrity: approved on the github tool so search_issues and search_pull_requests return approved-but-unmerged content from team authors. Instruct the agent to filter PR searches to is:merged OR review:approved. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the Mobile Platform Failure Scanner agentic workflow prompt and its compiled lock file to reduce noisy/duplicated outputs and make outcomes more predictable (each actionable failure results in either a draft PR or a tracking issue), while tightening integrity and Safe Outputs constraints.
Changes:
- Tightens GitHub MCP integrity filtering (
min-integrity: approved) and removespwshfrom the shell allowlist. - Adjusts Safe Outputs policy: up to 5 draft PRs and 3 issues per run; PRs restricted to library test files only; removes comment filing.
- Rewrites the workflow prompt into a shorter, more structured set of outcome rules and fixed PR/issue body templates.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/mobile-scan.md | Updates workflow description, tool configuration, Safe Outputs limits/policies, and rewrites the prompt guidance for PR vs issue outcomes. |
| .github/workflows/mobile-scan.lock.yml | Regenerated compiled workflow to reflect new integrity policy, Safe Outputs config, and removal of comment/discussion-related handling. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 4
Description
The mobile platform failure scanner has been failing with permission-denied errors and produced a mix of PRs, issues, and repeated comments on the same issues across runs. This change makes the workflow simpler and more predictable.
Now every mobile failure either becomes a draft PR (when there's a per-test fix like
[SkipOnPlatform]) or a tracking issue (for product bugs, native crashes, multi-assembly regressions, or infra problems that need an owner). The workflow no longer files comments and no longer ends a run withnoop.Other changes:
src/libraries/**/tests/**and matching.csproj); anything else fails PR creation.pwsh Get-CIStatus.ps1,gh search prs) and droppedpwshfrom the allowlist.Validated with one workflow_dispatch run on this branch where it produced three issues #127563, #127564, #127565.