Bug report completeness
Check that a bug report has reproduction steps, environment details, and expected versus actual behaviour.
F@fProblem
Most first-time bug reports are missing something, and the back-and-forth to get it takes longer than the fix.
Goal
Ask for the one missing piece right away, and label complete reports as ready for triage.
Input / state
The bug report text.
- report
- Title and body of the issue.
Decision question
report_statusWhat, if anything, is this bug report missing that a maintainer needs to reproduce it?
Options
completeHas steps to reproduce, the environment, and expected versus actual behaviour.missing_reproductionNo steps or example that would let someone reproduce it.missing_environmentNo version, platform or configuration details.missing_expected_vs_actualDoesn't say what was expected or what happened instead.
Allowed outcomes
Decided in your code from the answer and its confidence. Thresholds are yours to set and test.
- Ready for triageChoice is complete and confidence meets your threshold.
- Ask for reproductionChoice is missing_reproduction and confidence meets your threshold.
- Ask for environmentChoice is missing_environment and confidence meets your threshold.
- Ask what was expectedChoice is missing_expected_vs_actual and confidence meets your threshold.
- Maintainer triageConfidence is below your threshold: probability is spread across options.
Example scenarios
Predefined demonstrations. No model is called; the outcome shown is an illustrative judgment.
Example state
{
"report": "v3.2.1 on macOS 14. Steps: open settings, toggle sync, restart. Expected sync on, actual sync off."
}Outcome
IllustrativeChoice is complete and confidence meets your threshold.
Why
Steps, environment and expectation are all there.
Using it well
- Ask for the most important missing piece first; a list of five questions often goes unanswered.
- Some bugs are obvious without full details. Let maintainers override the label.
Request definition
POST https://api.typesafe.ai/v1/systemone{
"model": "jev-latest",
"state": {
"report": "<report>"
},
"questions": {
"report_status": {
"type": "choice",
"instructions": "What, if anything, is this bug report missing that a maintainer needs to reproduce it?",
"criteria": {
"complete": "Has steps to reproduce, the environment, and expected versus actual behaviour.",
"missing_reproduction": "No steps or example that would let someone reproduce it.",
"missing_environment": "No version, platform or configuration details.",
"missing_expected_vs_actual": "Doesn't say what was expected or what happened instead."
}
}
}
}Request shape from the System One API reference; a Kev server accepts the same body. Replace the placeholder state with your data. Requests need your own API key or server.
Version History
Initial version