(TL;DR; at the bottom).
Technically speaking, if a bug has been fixed then "the issue can no longer be reproduced", however it's a bit silly to mark it "no-repro" - of course it cannot be repro'ed anymore, we've fixed it, "removed the bug"!
By that logic, whenever a bug is fixed we should also remove the bug tag because there is no longer a bug, it has been fixed.
A question being "completed" is denoted in a few possible ways:
By it receiving an adequate answer, status-completed tag, status-bydesign tag, or other "final outcome" tags, or of course it being on-hold/closed.
However, once a question is "completed" and has received an adequate final outcome, we shouldn't change it to another "completed" status based on the previous completed reason.
We'll just be chasing our tails.
That is, "status-completed" is job done, finished, nothing to see here, leave it now.
To take a bug question which has been completed and tagged "status-completed", and go on and close as "no-repro" because the bug no longer exists is just daft, and a waste of time.
It was already marked completed by the big red tag.
I'm not being pedantic...
...but where do we draw the line?
In a question with both feature-request and status-completed, should we remove the "feature-request" tag because there is no feature request as it's been implemented?
The feature now exists as it was completed/implemented, and a request for a feature which already exists is not welcomed.
Is there a close reason for that? As that's exactly what we're doing by closing "status-completed" bug reports.
I'm dipping my toe in the pedantic pond, but it's a valid point.
We shouldn't just keep on re-labeling things based on a previous label and changing the question state when the previous state was acceptably a "completed" state.
If a bug report is tagged status-bydesign, then it is not a bug, it's how it was designed. Should we remove bug tag, because it's not a bug?
And/or close as "no-repro" as there was no bug in the first place?
Or, is the big red status-bydesign an "adequate" completed and final status on the question?
Same logic, on topic
And this dodgy logic is the same with questions with both bug and status-completed tags.
"status-completed" means bug fixed, this is done, finished with.
However by closing as "no-repro" as well as "status-completed", we are stating two different things on the same question:
- This bug reported was valid, repro'ed, and now fixed
- This bug report is invalid, the bug cannot be reproduced,
off-topic/on-hold as no-repro
Which one is it? Completed, or not a bug (norepro)?
It surely cannot be both as we're mixing messages here.
The two are different question states
For a bug to have been fixed, it was at some point:
For a bug report to be marked as "can no longer be reproduced", it should never have been any of the above, because it must have been found and reproduced in order to be fixed.
And while it can't be reproduced now, that is because we fixed it, so leave it at "bug found, fixed/status-completed".
"No longer be reproduced" should be:
- Bug reported
- Bug not identified
- Bug not reproduced
- Question marked as "can no longer be reproduced"
Clearly the logic is there to close a question as "no longer reproduced" when a bug has been fixed, as technically it cannot be reproduced any more.
But, there was a bug, it was identified and reproduced, and fixed.
So it's just not sane or sensible to now label it with:
Put on hold as off-topic
This question appears to be off-topic. The users who voted to
close gave this specific reason:
The problem described here can no longer be reproduced. Changes to
the system or to the circumstances affecting the asker have rendered
Yes, changes to the system - it was fixed!
@Roombatron5000 made a good point which I agree with and add as an additional note.
If advancing the completed status of "status-completed" serves a logical purposes then I agree with it.
For example this question is "status-completed", but is about stackegg which is no longer an active feature.
As such, while status-completed was a solid enough final to the question, now the Stack Egg feature is gone it's logical to advance the question's "final status" to "closed as no longer reproduced".
If a "final outcome" to a question is accurate and substantial enough, such as status-completed, or has an answer, then there is no need to advance to another "final outcome" such as close as no-repro.
However, if there is a good reason to advance, for example a status-completed question about stackegg, then advancing from the final outcome of "status-completed" to "norepro" is logical when Stack Egg is no longer active.
However, advancing a status-completed bug report to "no repro" is not a valid reason, because the "status-completed" is the valid and final outcome.