ML.NET CI scan
Run the ML.NET CI failure scanner from a local Copilot CLI session. This skill replaces scheduled GitHub Actions execution for now.
Inputs
| Input | Required | Description |
|---|---|---|
| Build ID | No | Specific AzDO build to analyze. Otherwise select the source build using the playbook. |
| Apply approved drafts | No | Defaults to false. GitHub mutations require explicit approval in the current conversation. |
Workflow
- Confirm the working repository is
dotnet/machinelearning. - Verify local GitHub access with
gh auth status. Use anonymousdnceng-public/publicAzDO and Helix endpoints from the references. - Create local state under
/tmp/mlnet-ci-scan/. - Read
references/playbook.mdandreferences/ci-scan.instructions.md. - Follow the playbook once for the selected build window.
- Treat every issue-writing instruction as a request to prepare a draft. Do not create issues, add labels, or post comments while analyzing.
- Present each proposed issue with its exact title, body, labels, evidence links, and dedup result. Cap the run at three drafts.
- Apply drafts only after the user explicitly approves the exact GitHub writes. Never close or modify unrelated issues.
Local substitutions
- Store all intermediate state under
/tmp/mlnet-ci-scan/. - Replace
aw_<id>placeholders withdraft-<n>until an issue is created. - Report no-op and skip outcomes directly in chat. Do not create status issues.
- Use the authenticated local user rather than
COPILOT_GITHUB_TOKENor a PAT pool.
Validation
- Every failure signature has exactly one outcome.
- Every draft passes the occurrence, follow-up, specificity, sanitization, match-count, and dedup gates.
- The final response includes the full tally table and all skipped reasons.