Skip to content

Add discovery method to bug report template#32075

Open
rcomer wants to merge 1 commit into
matplotlib:mainfrom
rcomer:bug-discovery
Open

Add discovery method to bug report template#32075
rcomer wants to merge 1 commit into
matplotlib:mainfrom
rcomer:bug-discovery

Conversation

@rcomer

@rcomer rcomer commented Jul 20, 2026

Copy link
Copy Markdown
Member

PR summary

Recently it seems people use AI to search for Matplotlib bugs in order to report them. Examples RippleTester and probably williamlus and smith2936.

This is not necessarily good or bad, but I think it would be useful to know up front whether the report comes from a genuine use case. If we know it did not, we do not waste time asking the reporter "what were you really trying to do?"

Bikeshedding on the exact wording welcome!

AI Disclosure

No AI used

PR checklist

@story645

Copy link
Copy Markdown
Member

Definitely a good idea, maybe free text might work better than drop down?

Comment thread .github/ISSUE_TEMPLATE/bug_report.yml Outdated
Comment on lines +56 to +57
- Bug affects real work that uses Matplotlib
- Actively looking for bugs to report

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Bug affects real work that uses Matplotlib
- Actively looking for bugs to report
- Through organic Matplotlib usage and impacts user work
- Systematically searching for bugs (e.g. fuzzing)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is my entry for the color of the bikeshed.

@story645 story645 Jul 20, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bikeshed on the bike shed - impacts on/to user work

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I spent a couple minutes trying to think of a 3rd category and came up blank

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have further mixed Tom's paint suggestion.

Comment thread .github/ISSUE_TEMPLATE/bug_report.yml Outdated
id: discovery
attributes:
label: Bug discovery
description: How did you become aware of this bug?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: Simpler language

Suggested change
description: How did you become aware of this bug?
description: How did find of this bug?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing a "you"

Comment thread .github/ISSUE_TEMPLATE/bug_report.yml Outdated
label: Bug discovery
description: How did you become aware of this bug?
options:
- Bug affects real work that uses Matplotlib

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Bug affects real work that uses Matplotlib
- While using Matplotlib

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to avoid the implied assumption that the reporter is the user. They could be a support person or other colleague helping the user with debugging. They could be a downstream maintainer re-raising something reported to their repo, or raising something that broke in their CI.

@story645 story645 Jul 21, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I read "while using" as "while someone was using Matplotlib", which does "During usage of Matplotlib" or a modification of Tom's suggestion "Through organic usage of Matplotlib" work?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which even shorter "Organic Matplotlib Use"

@timhoffm

Copy link
Copy Markdown
Member

Definitely a good idea, maybe free text might work better than drop down?

Let’s stick with a selection. This is simpler for users as they don’t need to come up with a description and simpler for us as we can quickly interpret the standard answers and don’t have to interpret user text. IMHO the added level of precision of a free text is not needed here.

Possibly add “Other” as a third option so that users don’t have to select a seemingly improper option.

@jklymak

jklymak commented Jul 20, 2026

Copy link
Copy Markdown
Member

I would be less concerned with how the bug/flaw was found and more concerned with whether it matters. I'd suggest a checkbox or amendment of the reproducer checkbox that makes it clear we will prioritize issues with practical end-use examples, not standalone theoretical issues.

@story645

Copy link
Copy Markdown
Member

Possibly add “Other” as a third option so that users don’t have to select a seemingly improper option.

That works for me too. The free text explains too is probably covered by the reproducer.

@rcomer

rcomer commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

I would be less concerned with how the bug/flaw was found and more concerned with whether it matters. I'd suggest a checkbox or amendment of the reproducer checkbox that makes it clear we will prioritize issues with practical end-use examples, not standalone theoretical issues.

I think how it was found is a factor in how much it matters: if someone reports a bug that came up while doing their science then they clearly thought it was important enough to take time out of their day to report. Someone who is actively looking for bugs to report doesn’t have that same friction of whether bug-reporting is something they want to spend their time on.

The response can also vary depending on how it was found. If there is a genuine user, then they will be happy if we can provide a workaround or explain a different way to do it (whether we ultimately fix the bug or not). If there is no user then trying to work out how to do the thing is wasted effort.

attributes:
label: Code for reproduction
description: >-
If possible, please provide a minimum self-contained example. If you

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If possible, please provide a minimal self-contained example, preferably demonstrating a visualization end-use case. If you

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes perfect sense when addressing the bug auto-discoverer, but I'm not sure how it reads to the inexperienced user who is only just learning how to make a minimal reproducer. Is it more confusing?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, maybe not well worded. A few iterations with Claude (;-) yielded:

If possible, show a real plotting task that reproduces the issue. Keep it self-contained with all necessary code and data, but focus on actual usage, not synthetic edge cases.

@jklymak

jklymak commented Jul 21, 2026

Copy link
Copy Markdown
Member

@rcomer I understand and agree that it is the case that automated reports are less likely to show important issues.

However, I think it would be helpful for the user to try to craft a reproducer that uses this in an actual use case - I've suggested a change above. If an automated tool did this, and it seemed a reasonable use case, I'd still think we would investigate it. I'm more likely to get excited about a logic flaw in Grouper if a flaw in end user behaviour can be demonstrated.

@rcomer

rcomer commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

@jklymak OK I think I follow you now and agree that the Grouper example is a good case of not actually affecting a plot. Do we have other/many examples like that? More often I see "if I do this I get this broken plot" and then no answer to "OK, but why did you do that?"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants