Fix issue triage: title prefix, prior-run context, PR analysis, and update/create race condition#23
Conversation
…race condition 1. Fix title prefix for update-issue: The update-issue safe-output does not auto-prepend the title-prefix (unlike create-issue). Updated instructions so the agent includes the full prefix when calling update-issue. 2. Incorporate existing triage issue content: Added Step 2 to the skill to read the existing triage report issue's body and comments, using that as prior-run context for trend analysis and maintainer guidance. 3. Handle race condition: Publishing rules now try update-issue first and fall back to create-issue if the target issue was closed during the run. Agent-Logs-Url: https://github.com/jeffhandley/modelcontextprotocol-csharp-sdk/sessions/1daf4f66-3f2d-48f4-8f4a-b176e02305ad Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
|
@copilot the trend analysis is good. Expand the reading of triage report issues to read triage reports created (opened and closed) going back 4 weeks. And make sure the triage report issues themselves are excluded from the actual issue triage data, expanding that to all issues labeled The logic for reading the issue triage reports need to understand those are to be read from the workflow repository (that could be a fork or side repo), or it could be the modelcontextprotocol/csharp-sdk repo itself. Ensure the triage assessment looks at open and closed pull requests in modelcontextprotocol/csharp-sdk (always that upstream repo) to identify issues potentially resolved by pull requests. It might already do that; I don't recall. Be really darned sure the triage issue title doesn't lose its prefix when edited. |
…dd PR analysis, reinforce title prefix 1. Read open AND closed triage report issues from the last 4 weeks (not just the current open one) for trend analysis across the window. 2. Clarify that triage reports live in the workflow repository (which may be a fork/side repo or modelcontextprotocol/csharp-sdk itself). 3. Exclude issues labeled `automation` from the triage data set — these are workflow-generated issues and are not part of the SDK issue backlog. 4. Add Step 4 (Fetch Recent Pull Requests) to examine open and recently closed/merged PRs in modelcontextprotocol/csharp-sdk. Cross-reference with issues during deep-dive review to identify issues potentially resolved by merged PRs. 5. Add prominent warning box about the create-issue vs update-issue title prefix asymmetry and add title prefix constraint to the Constraints section. Agent-Logs-Url: https://github.com/jeffhandley/modelcontextprotocol-csharp-sdk/sessions/c6b2b7a4-4a43-47f3-b319-8f69e1e8e907 Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
… or updated for PRs Agent-Logs-Url: https://github.com/jeffhandley/modelcontextprotocol-csharp-sdk/sessions/c6b2b7a4-4a43-47f3-b319-8f69e1e8e907 Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
Addressed in 71dff77 and 30e4585:
|
|
@copilot make the BLUF content bullets instead of a paragraph |
Agent-Logs-Url: https://github.com/jeffhandley/modelcontextprotocol-csharp-sdk/sessions/2e701934-3553-4f5c-baa7-fc2fda86b8ff Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
|
|
||
| ### Step 4: Fetch Recent Pull Requests | ||
|
|
||
| Fetch open **and** recently closed/merged pull requests from `modelcontextprotocol/csharp-sdk` (always the upstream repo). Include PRs that were merged or updated within the last 4 weeks. For each PR, capture: |
There was a problem hiding this comment.
For the PRs, we also need semantic analysis of the PR to identify potential issue resolutions that were not linked on the PR but it seems like a match to an open issue.
| - **SLA compliance:** {compliant | N violations} — {brief status} | ||
| - **Urgent attention:** {N} issues need immediate action | ||
| - **Top finding:** {single most important takeaway} | ||
| - **Trend:** {compared to last report: improving / stable / declining} |
There was a problem hiding this comment.
Compared to each of the last 4 weeks, plus the previous report.
|
@copilot Address the feedback |
jeffhandley
left a comment
There was a problem hiding this comment.
@copilot there is outstanding feedback to address
The most recent triage run stripped the
[C# SDK Issue Triage]prefix from the issue title. Root cause:update-issuesafe-output usestitle-prefixonly for matching (not auto-prepending), unlikecreate-issuewhich does auto-prepend. The compiled workflow confirms this asymmetry:Changes
Title prefix fix (
.github/workflows/issue-triage.md)create-issue: passyyyy-MM-dd (N to triage)— prefix auto-prependedupdate-issue: pass[C# SDK Issue Triage] yyyy-MM-dd (N to triage)— no auto-prepend⚠️ Criticalwarning box explaining the asymmetry and a new constraint bullet to reinforce correct usagePrior-run context (
.github/skills/issue-triage/SKILL.md,.github/workflows/issue-triage.md)modelcontextprotocol/csharp-sdkitselfExclude automation issues (
.github/skills/issue-triage/SKILL.md,.github/workflows/issue-triage.md)automationfrom the triage data set — these are workflow-generated issues (triage reports, tier audits) and are not part of the SDK issue backlogPR analysis (
.github/skills/issue-triage/SKILL.md)modelcontextprotocol/csharp-sdk(always the upstream repo)Race condition handling (
.github/workflows/issue-triage.md)update-issueon the existing open issue first; if it fails (e.g., issue closed mid-run), fall back tocreate-issueReport format (
.github/skills/issue-triage/references/report-format.md)Housekeeping
No lock file recompilation needed —
issue-triage.lock.ymluses{{#runtime-import}}to load the.mdat runtime.