Skip to content

Commit 233d207

Browse files
authored
docs(issues): require release and duplicate checks (#2214)
Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent 8c0ecac commit 233d207

3 files changed

Lines changed: 46 additions & 11 deletions

File tree

.agents/skills/create-github-issue/SKILL.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,21 @@ This project uses YAML form issue templates. When creating issues, match the tem
1717

1818
### Bug Reports
1919

20-
Do not add a type label automatically. The body must include an **Agent Diagnostic** section — this is required by the template and enforced by project convention. Apply area or topic labels only when they are clearly known.
20+
Do not add a type label automatically. The body must include an **Agent Diagnostic** section — this is required by the template and enforced by project convention. The diagnostic must identify the OpenShell version tested, whether the latest release or known fixes were checked, and whether possible duplicate issues were searched. If the agent cannot verify the latest release or search existing issues, say so explicitly instead of guessing. Apply area or topic labels only when they are clearly known.
2121

2222
```bash
2323
gh issue create \
2424
--title "bug: <concise description>" \
2525
--body "$(cat <<'EOF'
2626
## Agent Diagnostic
2727
28-
<Paste the output from the agent's investigation. What skills were loaded?
29-
What was found? What was tried?>
28+
- Skills loaded: <skills used during investigation>
29+
- OpenShell version tested: <version from openshell --version or other source>
30+
- Latest release checked: <version checked, or unable to verify>
31+
- Known fixes reviewed: <release notes / merged PRs checked, or unable to verify>
32+
- Possible duplicates reviewed: <existing issues searched, or unable to verify>
33+
- Findings: <what the agent found and tried>
34+
- Remaining reason for filing: <why this still appears to be a bug>
3035
3136
## Description
3237
@@ -44,6 +49,8 @@ What was found? What was tried?>
4449
- OS: <os>
4550
- Docker: <version>
4651
- OpenShell: <version>
52+
- Latest release checked: <yes/no and reason>
53+
- Possible duplicates checked: <yes/no and reason>
4754
4855
## Logs
4956

.agents/skills/triage-issue/SKILL.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Query all open issues with the `state:triage-needed` label and process them in s
5151
gh issue list --label "state:triage-needed" --state open --json number,title --jq '.[].number'
5252
```
5353

54-
For each issue returned, run the full triage workflow (Steps 1-6). Report a summary at the end listing each issue and its classification.
54+
For each issue returned, run the full triage workflow (Steps 1-7). Report a summary at the end listing each issue and its classification.
5555

5656
## Step 1: Fetch the Issue
5757

@@ -89,7 +89,23 @@ Check whether the issue body contains a substantive agent diagnostic section. Lo
8989

9090
**If the diagnostic section is substantive**, proceed to Step 4.
9191

92-
## Step 4: Diagnose and Validate
92+
## Step 4: Check Reported Version and Known Fixes
93+
94+
Before deeper diagnosis, determine whether the report may already be fixed in a newer release.
95+
96+
1. Extract the reported OpenShell version from the issue body, Agent Diagnostic, environment section, logs, and comments. If no version is provided, record that as missing context and continue.
97+
2. Check current release information and known fixes when available:
98+
- `gh release list --limit 10`
99+
- `gh release view <tag>`
100+
- linked issues, merged PRs, release notes, and local git tags/history
101+
3. If network access or release metadata is unavailable, state the limitation in the triage comment instead of guessing.
102+
103+
If the issue targets an older OpenShell release and a newer release or merged PR appears to address the same behavior:
104+
105+
- If the reporter has already reproduced the issue on the fixed/current release, continue to Step 5.
106+
- If the reporter has not tested the fixed/current release, use the `fixed-in-release` classification in Step 6. Reference the fixing version and PR/issue when known, and ask for a fresh report or reopen if the issue still reproduces on that version.
107+
108+
## Step 5: Diagnose and Validate
93109

94110
Assess the report by investigating the codebase. Use the `principal-engineer-reviewer` sub-agent via the Task tool:
95111

@@ -114,20 +130,21 @@ Based on the sub-agent's analysis, also attempt to validate the report directly:
114130
- For inference and provider-topology issues: reference the `debug-inference` skill's known failure patterns
115131
- For CLI/usage issues: reference the `openshell-cli` skill's command reference
116132

117-
## Step 5: Classify
133+
## Step 6: Classify
118134

119135
Based on the investigation, classify the issue into one of these categories:
120136

121137
| Classification | Criteria | Action |
122138
|---------------|----------|--------|
123139
| **bug-confirmed** | Agent diagnostic and codebase analysis confirm a real defect | Apply relevant `area:*` or `topic:*` labels as needed, remove `state:triage-needed`, and assign the built-in `Bug` issue type manually if needed |
124140
| **feature-valid** | Design proposal is sound, feasible given the architecture | Apply relevant `area:*` or `topic:*` labels as needed, remove `state:triage-needed`, and assign the built-in `Feature` issue type manually if needed |
141+
| **fixed-in-release** | Report targets an older OpenShell release and a newer release or merged PR appears to address the behavior; no fixed/current-release reproduction is provided | Comment with the fixing version and PR/issue when known. Close as completed when the fix is clear, or request a retest if confirmation is still needed. Remove `state:triage-needed` when closing |
125142
| **duplicate** | An existing open issue covers this | Link the duplicate, close with comment |
126143
| **user-error** | The reported behavior is expected, or the issue is a misconfiguration | Comment with explanation and guidance, close |
127144
| **needs-more-info** | Report is substantive but missing critical reproduction details | Comment requesting specifics, keep `state:triage-needed` |
128145
| **needs-investigation** | Report appears valid but requires deeper analysis (spike candidate) | Label `spike`, remove `state:triage-needed` |
129146

130-
## Step 6: Post Triage Comment
147+
## Step 7: Post Triage Comment
131148

132149
Post a structured comment with the triage marker:
133150

@@ -136,7 +153,7 @@ Post a structured comment with the triage marker:
136153
>
137154
> ## Triage Assessment
138155
>
139-
> **Classification:** <classification from Step 5>
156+
> **Classification:** <classification from Step 6>
140157
>
141158
> ### Summary
142159
> <2-3 sentences: what was found, whether the report is valid>
@@ -148,7 +165,7 @@ Post a structured comment with the triage marker:
148165
> <Next steps: ready for spike, needs more info from reporter, can be closed, etc.>
149166
```
150167

151-
Apply the appropriate labels as determined in Step 5.
168+
Apply the appropriate labels as determined in Step 6.
152169

153170
**Do not apply `state:agent-ready`.** That is always a human decision.
154171

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,20 @@ body:
99
1010
OpenShell is an agent-first project. Before filing this bug, point your coding agent at the repo and have it investigate using the available skills (`debug-openshell-cluster`, `debug-inference`, `openshell-cli`, etc.). See [CONTRIBUTING.md](https://github.com/NVIDIA/OpenShell/blob/main/CONTRIBUTING.md) for the full skills table.
1111
12+
Please also check the latest OpenShell release and search existing issues for possible duplicates before filing. If you cannot upgrade, retest, or search existing issues, explain why in the diagnostic.
13+
1214
- type: textarea
1315
id: agent-diagnostic
1416
attributes:
1517
label: Agent Diagnostic
1618
description: |
17-
Paste the output from your agent's investigation of this bug. What skills did it load? What did it find? What did it try?
19+
Paste the output from your agent's investigation of this bug. What skills did it load? What did it find? What did it try? Which OpenShell version did it test, and did it check the latest release, known fixes, and possible duplicates?
1820
placeholder: |
1921
Example:
2022
- Loaded `debug-inference` skill
23+
- Tested OpenShell v0.x.x
24+
- Checked latest release / known fixes: no matching fix found
25+
- Searched existing issues for duplicates: no matching issue found
2126
- Ran `openshell inference get` and `openshell provider get ollama`
2227
- Found `OPENAI_BASE_URL=http://127.0.0.1:11434/v1`, which is unreachable from the gateway
2328
- Updated the provider to use `host.openshell.internal`, but the issue persists because the gateway is remote
@@ -47,11 +52,13 @@ body:
4752
id: environment
4853
attributes:
4954
label: Environment
50-
description: OS, Docker version, OpenShell version, and any other relevant details.
55+
description: OS, Docker version, OpenShell version tested, whether the latest release and existing issues were checked, and any other relevant details.
5156
placeholder: |
5257
- OS: macOS 15.2 / Ubuntu 24.04 / Windows 11 + WSL2
5358
- Docker: Docker Desktop 4.x / Docker Engine 27.x
5459
- OpenShell: v0.x.x (output of `openshell --version`)
60+
- Latest release checked: yes / no, because ...
61+
- Possible duplicates checked: yes / no, because ...
5562
validations:
5663
required: true
5764

@@ -75,5 +82,9 @@ body:
7582
required: true
7683
- label: I loaded relevant skills (e.g., `debug-openshell-cluster`, `debug-inference`, `openshell-cli`)
7784
required: true
85+
- label: I checked the latest OpenShell release and either reproduced the issue there or explained why I cannot upgrade/test it
86+
required: true
87+
- label: I searched existing issues for possible duplicates or explained why I could not
88+
required: true
7889
- label: My agent could not resolve this — the diagnostic above explains why
7990
required: true

0 commit comments

Comments
 (0)