codewars / codewars.com

Issue tracker for Codewars
https://www.codewars.com
BSD 2-Clause "Simplified" License
2.09k stars 219 forks source link

Handling beta kata retirement more gracefully and better informing new kata authors of beta process quality assurance #1672

Open Voileexperiments opened 5 years ago

Voileexperiments commented 5 years ago

Coming from #1645.

Currently beta katas are retired after receiving a very low satisfaction rate, which can happen quickly when a new beta kata has significant issues. The problem here is:

Incidentally (and unsurprisingly), stackoverflow meta has encountered such kind of issues for a long time, and they have some very good suggestions.


┆Issue is synchronized with this Clickup by Unito

CliffStamp commented 5 years ago

This has to be made a priority to address, you can see new authors getting kata's retired immediately in the same day, often with no issues raised. The kata is published, it is gang voted down and retired.

I just had a kata retired in the middle of me adding random tests to it when I noted the solution lacked them, and there were no comments, no issues raised. It comes up and goes down on the whim of just a handful of people. And I guarantee if you look at the host of auto-retired kata you will see the same people involved.

The way it is now, you might as well give a select few people the ability to just auto retire katas based on what they feel alone is worthwhile with no mandate to adhere to any community/site standard because that is exactly what has been is achieved.

And if this isn't going to be changed, put a big red flag on the screen when new katas are getting made to the effect of

"NOTE - if just a couple of people don't like this kata, it can be retired for no other reason than they don't like it. You are not guaranteed to get any comments, nor any change to fix it, it will just be retired."

If you are going to be extremely unfair and hostile to new users, at a minimum, let them know what to expect.

Voileexperiments commented 5 years ago

@CliffStamp Like I have said before, if you insist on accusing everyone for being strict, hostile elitists who shuts down every kata for arcane reasons, please provide a proof for this, because among all PUs you're literally the only one who's making such accusations. If you cannot provide such proof and yet keep saying so sprinkling salt all over us, you're not just not helping the situation, you're making it worse.

Also, your point is off-topic to this issue because strictly speaking, "some users are too strict about beta process" is not the topic on this issue. This issue is about "how to make beta process more transparent to everyone". If you want to complain about particular users, go make another issue about it and explicitly state it as such (e.g "that user whose name's md5 hash is b4f14574a9f95bfa174bbd255752121f does not obey beta standards and is definitely an alien").

Blind4Basics commented 5 years ago

I'm not sure there is an ideal way to handle all of this, but, about the retirement process being to quick, what about one of those:

This, way, the kata isn't retired yet, isn't accessible "anymore/for now" so that should let time to the author to look into this. and being put to draft, the kata isn't completable anymore (no submit final) so for PU who scrutinize their dashboard and access the kata seeing the issue raised, they still can raise other issues, but cannot downvote (for now), so that'd stop the "hemorrhage".

Just ideas...

CliffStamp commented 5 years ago
  • automatic unpublishing with notification to the author for a beta having an issue opened (only for recent published kata, otherwise old betas will definitely disappear)

There are lots of issues spammed which are not actual issues (i.e. the kata isn't actually broken), they are just personal preferences. There are PU's who don't like any kind of story/description for example and just want a problem stated like it was from a math textbook. Because someone has such an opinion doesn't mean the kata should get unpublished. I could keep everyone one of your katas unpublished by just raising as an issue that it should be translated into French as well as English, it seems absurd that anyone's personal and arbitrary whims should have that kind of influence. The real problem is there is nothing stopping abuse, and there is rampant abuse of the current system.

https://www.codewars.com/kata/reorder-the-text/solutions/javascript

Second kata retired by the same guy. First one had no comments at to the problem, just auto-retired. In the second he fixed every issue raised promptly to ensure he wasn't auto-retired, still retired because there are people who will vote to retire a kata for nothing aside from a personal whim without saying why they are voting to do it. Yes, that is exactly how you make Codewars a place to encourage learning and to foster new kata content.

And again, it is the same people, lets not pretend this is a community approach to curation.

Here is the reality

If you have something which is supposed to be a community driven perspective, BUT, you tolerate extreme actions of a vocal minority - then all you will have is that extreme vocal minority. Because of the lack of any kind of community moderation, that is what has been created, a lot of power has been given to a select few without moderation and that will always lead to abuse, this isn't a well known fact, do any reading at all about what happens if you power divide a community without moderation.

You want a solution, you only have two choices

The second one is very easy, you simply give beta's a longer grace period, say a month before that retirement is evaluated. You have to realize not everyone is on CW every day, some people have other jobs/lives and some issues are not at all easy to resolve, reference solutions which miss edge cases, generators which miss edge cases, etc. . That gives enough time for the community to evaluate it, and for authors to respond.

But as notes, while this isn't fixed, and you have such a hostile environment, the least you can do is warn any new author what they are facing. You know the problem exists, you know it isn't fixed, so warn people is it there so you don't have people waste their time who don't want to deal with that.

kazk commented 5 years ago

The calculation of satisfaction percent had a bug when the number of "Not Satisfied" was more than "Very Satisfied" (#1292). This made some kata to auto-retire much quicker.

I'll be deploying the fix for this either tomorrow or early next week.

@CliffStamp only one user down voted that kata.

Blind4Basics commented 5 years ago

@CliffStamp

you're talking about abuses, personal preferences and those who are screaming the loudest... But do you even realize that you fit extremely well into each one of theses categories too? Meaning that you don't help the community either, currently.

You actually level up the average stress by a lot, mostly because of your general tone and your behavior. And that's sad because you may have some good points/ideas in the middle of all your rants...

Voileexperiments commented 5 years ago

I think I should perhaps add a number 6 to the list in the OP:

Since beta katas award honor for ranking and satisfaction votes, and you lose the ability to make ranking votes after it's approved (and both after it's unpublished/retired), it encourages users to leave a vote no matter what. Which was good in the past because the approval criteria was high and you need up to 12 votes with at least 90% satisfaction rating to get past beta, but not needed anymore with beta approval requirement being as low as it is right now, and in fact is now being somewhat harmful in two ways:

I don't really think giving missable honor for voting is a good idea at now when most of the time votes are made just to not miss out that additional tiny bit of honor. At least there should be good reasons for us to hold out our votes for something, which currently is nothing.

Blind4Basics commented 5 years ago

@kazk : what are the current exact rules that trigger the auto-retirement? (That would be a good idea to document that somewhere in the wiki, btw. Maybe in the kata creation section? )

kazk commented 5 years ago

@Blind4Basics the rule hasn't changed.

Auto-retire conditions:

  1. If 4 or more votes and satisfaction percent is 0 (4+ consecutive "Not Satisfied")
  2. If n or more votes and satisfaction percent is <= 20 where n is the same as the number of votes needed to be approved

It should be the same as before. I only fixed a bug in the satisfaction percent calculation which was breaking the first one.

I didn't realize the second rule was using the number of votes needed to be approved. It makes no sense to me. This means a kata written by a new user requires more votes to be auto-retired :/ I guess this assumes a terrible kata by a new user is handled by the first rule.


FArekkusu commented 5 years ago

Personally, I liked the system before the fix more :(

It's unfair that some katas get retired quickly, but nobody seems to care about the fact that the majority of them are objectively very bad, and it may be a much better idea to kill those.

For example, this kata is plain worthless: alias an existing method with input validation thrown in; it has no novelty (and most probably a duplicate), and dealing with the input validation brings nothing game-changing to the task (and usually it's plain annoying). Yet with 0 very, 1 somewhat and 4 not satisfied votes it's still up...

kazk commented 5 years ago

Personally, I liked the system before the fix more :(

The fix was for satisfaction percent being incorrect because it was ignoring somewhat in certain conditions. I didn't change anything else including the rule itself.

I think the second rule should be revised. So your example doesn't need 7 more votes to be retired.

FArekkusu commented 5 years ago

satisfaction percent is <= 20

IMO, 20% is too high. Here is another kata which was published recently and received 1/2/5 votes resulting in 25% satisfaction rating. Fixed tests are bad, there're no random tests, the returned values overflow the maximum value which a data type can hold. In the last 3 days the author fixed nothing, and the issues keep piling up. I think the 20% bound should be raised because such a low value is unachievable unless the kata gets 4 times more downvotes than upvotes (and even more if somewhat votes get mixed in which happens frequently).

Voileexperiments commented 5 years ago

Even the worst katas would converge to something like ~40% in the end, so 20% is definitely too low.

kazk commented 5 years ago

Yeah, I don't think a beta kata with such a low satisfaction percent (like 30%) will be able to recover either so there's no point to keep it.

I'll make it half the required satisfaction percent for now (45, 42.5, 37.5, 35).

kazk commented 5 years ago

Here's a list of kata to be auto-retired after this adjustment. Note that this still needs the same number of votes as approving it.

20 kata where assessed rank is White

3 kata where assessed rank is Yellow:

None for Blue and Purple.

Voileexperiments commented 5 years ago

@kazk There is an elephant the room: most of these katas are also duplicates. So the real question is, why are duplicates still kept in the beta for so long? And when will #1315 be dealt with? (There are like hundreds of duplicates there.)

kazk commented 5 years ago

For those still in beta, I was hoping enough users voting down will retire them. I don't know what to do with already approved ones at the moment (merge them, retire them, etc).

Codewars has other higher priority bugs to be fixed and I also have other projects going on right now so I can't say when.

For now, I'll create a wiki page from #1315 just to collect information. Comments are impossible for others to contribute to and it's too difficult to keep track.

kazk commented 5 years ago

Created https://github.com/Codewars/codewars.com/wiki/List-of-Possible-Duplicate-Kata for keeping track of duplicates.

I'm going to deploy the auto-retire adjustment soon.

Steffan153 commented 5 years ago

4+ consecutive "Not Satisfied"

It just seems too soon. The author just doesn't get much time to fix it and the next day it's retired. e.g. (well noone really reported much but) https://www.codewars.com/kata/add-1-to-a-number-dot-dot-dot-but-without-the-plus-or-operator/discuss It was just one day and it was retired. It just seemed too fast.

Voileexperiments commented 5 years ago

The author just doesn't get much time to fix it and the next day it's retired. e.g. (well noone really reported much but) https://www.codewars.com/kata/add-1-to-a-number-dot-dot-dot-but-without-the-plus-or-operator/discuss It was just one day and it was retired. It just seemed too fast.

In this case, (your) kata deserves to be retired because you didn't enforce your solution at all; just look at the solutions, there's no way such a lousy kata would be accepted. Also "do a simple task a without b" is almost always a bad idea, unless you can introduce actual novelty into the mix, and properly enforce it.

Again, this issue is not about "complaining about my katas that get retired that I feel undeserved". This is for the entire beta process.

Steffan153 commented 5 years ago

That wasn't my main point. My main point was (I've seen this with other katas too) that some just get retired too soon.

On 2019-07-01 13:18, Voile wrote:

The author just doesn't get much time to fix it and the next day it's retired. e.g. (well noone really reported much but)

https://www.codewars.com/kata/add-1-to-a-number-dot-dot-dot-but-without-the-plus-or-operator/discuss It was just one day and it was retired. It just seemed too fast.

In this case, (your) kata deserves to be retired because you didn't enforce your solution at all; just look at the solutions, there's no way such a lousy kata would be accepted. Also "do a simple task a without b" is almost always a bad idea, unless you can introduce actual novelty into the mix, and properly enforce it.

Again, this issue is not about "complaining about my katas that get retired that I feel undeserved". This is for the entire beta process.

-- You are receiving this because you commented. Reply to this email directly, view it on GitHub [1], or mute the thread [2].

Links:

[1] https://github.com/Codewars/codewars.com/issues/1672?email_source=notifications&amp;email_token=AJUIMJ2F4D2ESIMEAAHWW43P5H7YZA5CNFSM4GOTXGMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY6C5FY#issuecomment-507260567 [2] https://github.com/notifications/unsubscribe-auth/AJUIMJ5SYWFAMO36JZUXK2LP5H7YZANCNFSM4GOTXGMA

FArekkusu commented 5 years ago

@Steffan153, getting as little as 4 not satisfied's without any very or somewhat votes is not a trivial task already, and raising the bar will only lead to more low-quality katas surviving for longer. In fact, it was proposed a long time ago to raise the bar for the "kata authoring" privilege to fight with people who don't understand that authoring new content is not a game/joke, and therefore to avoid this topic about "katas getting retired being too unfair for new authors", but it doesn't look like we'll see this happening soon...

Steffan153 commented 5 years ago

Well, my example was a bit different. But in some katas it would be fine, but the next thing they know it's retired. But they just hadn't seen the issues yet, e.g. sleeping. But, those votes were only because there was issues.

hobovsky commented 5 years ago

Feature suggestion, in the spirit of "achievement badges" mentioned some time ago: when a user sadfaces a kata without either raising an issue or upvoting an existing issue, they receive "Asshole downvoter" badge. What do you think, guys?

nomennescio commented 5 years ago

I also got hit by this for an experimental feature; even a low grading by a only a few will auto-retire, before I had the chance to even solve the issue. This was within only a couple of days. Some of us do have RL responsibilities too...

VFDan commented 4 years ago

Some katas (e.g. mine https://www.codewars.com/kata/5e544505698ef000285b0aca) get 3 "Not Satisfied" votes and then the creator solves an issue, and then they get another "Not Satisfied" vote and the kata gets retired. I think that the 4 "Not Satisfied" votes limit is a bit arbitrary; maybe if: an issue gets resolved, then the downvote count gets halved (rounded up)..

FArekkusu commented 4 years ago

@VFDan

  1. (Ideally) issues have nothing to do with satisfaction rating
  2. You can't just remove people's votes because an arbitrary issue got resolved, moreover it'd be possible to abuse such system easily
  3. The kata you mentioned is simply bad
juggler39 commented 3 years ago

Something must be done against "Asshole downvoters". Look at this kata: https://www.codewars.com/kata/5f605a322eb24a002086a50b. It was downvoted by a couple aggressive downvoters before normal participants could even see it. There were no issues or comments. I propose to make all new katas immune to autoretirement for example for 3 days in order to sane people had the chance to solve them.

FArekkusu commented 3 years ago

It was downvoted by a couple aggressive downvoters before normal participants could even see it

Define "normal".


@juggler39 the second time you published this kata, it still got retired, just a little later. Maybe the real problem was that your idea was low-effort and uninspired, and not people "aggressively downvoting it for no reason"?

hobovsky commented 3 years ago

There could be reasons it attracted so many downvotes, and I am pretty sure there were. "Aggressive downvoters", how you put them, might seem aggressive, but usually they are rather right. It could be true that auto-retirement does not work really well and works too fast. But still, downvoting without any kind of feedback is asshole move nonetheless. How hard is it to create an issue, or to upvote an existing issue? If one gonna play a sheriff, they could do just anything slightly more useful than swinging their gun around and shooting bad betas down.

Voileexperiments commented 3 years ago

But still, downvoting without any kind of feedback is asshole move nonetheless. How hard is it to create an issue, or to upvote an existing issue? If one gonna play a sheriff, they could do just anything slightly more useful than swinging their gun around and shooting bad betas down.

Because there are a lot of snowflake kata authors who commits various atrocious kata author sins? I can't tell you how many times I'm raising issues and the ensuing experience makes me not want to deal with them on the site ever again.

So yeah, since there are nothing that protects me from raising an issue without getting assaulted by unqualified kata authors, I'm not going to give a chance for them to even contemplate about attacking me. If someone doesn't agree with this approach, revise the beta kata practice. It's a natural result of unresolved conflict.

juggler39 commented 3 years ago

Define "normal".

For me it is everyone, who dosn't downvote kata without any reasons.

Voileexperiments commented 3 years ago

Let me repeat this again. This issue is about handling beta kata retirement conflicts in general. It's not for complaining about your own katas getting retired because you feel they do not deserve being downvoted. It is off-topic and frankly, how you feel about how your katas are being treated have very little to do with everyone else.

If you still want to complain about it. Go open a new issue. But it certainly do not belong to here.

juggler39 commented 3 years ago

What about the process? Don't you think, that it happens too fast? If the kata would be immune for some days then autors could react on the issues before the kata is retired.

NadChel commented 1 year ago

Was my kata auto-retired (https://www.codewars.com/kata/63f9edbc5ad6e5004ba2b235)? I fixed the only issue it had (which was an inadequate JS version that was added automatically). I think it's very good. I want some explanation, at least

Kacarott commented 1 year ago

@NadChel Yes, it was auto-retired due to low satisfaction. As for why people voted unsatisfied, I am not sure. My guess is that most people who solved it opened it in JS, and saw that it was just a "dud" kata, and so voted unsatisfied since they thought it was unfinished.

If you want, you could simply create a new kata, copy your description and tests across, and make sure there is no JS version this time (you must have added it accidentally last time).

NadChel commented 1 year ago

@NadChel Yes, it was auto-retired due to low satisfaction. As for why people voted unsatisfied, I am not sure. My guess is that most people who solved it opened it in JS, and saw that it was just a "dud" kata, and so voted unsatisfied since they thought it was unfinished.

If you want, you could simply create a new kata, copy your description and tests across, and make sure there is no JS version this time (you must have added it accidentally last time).

@Kacarott is there any way I can "unretire" it? If not, can the copied kata have the same name?

hobovsky commented 1 year ago

Un-retiring a kata is not currently possible, and it would not the best way either because the old votes would still stay. The best way is to recreate it as a completely new kata and copy all code snippets. Yes, the new kata can have the same title as the old one.

A word of advice: the retired kata could still have some issues which would attract downvotes, and they can be transferred to your new kata. You can get a preliminary review by creating your kata anew but not publishing it, keep it as a draft, and ask for review of your draft on Codewars Discord in #reviewing channel. This way, you can get some early feedback without risk of getting too many downvotes.

NadChel commented 1 year ago

Un-retiring a kata is not currently possible, and it would not the best way either because the old votes would still stay. The best way is to recreate it as a completely new kata and copy all code snippets. Yes, the new kata can have the same title as the old one.

A word of advice: the retired kata could still have some issues which would attract downvotes, and they can be transferred to your new kata. You can get a preliminary review by creating your kata anew but not publishing it, keep it as a draft, and ask for review of your draft on Codewars Discord in #reviewing channel. This way, you can get some early feedback without risk of getting too many downvotes.

@hobovsky can I delete the original kata so that only the copy remains?

Kacarott commented 1 year ago

Once a kata has any solves, it can no longer be deleted. But any kata which is in Draft or Retired state cannot be found in the kata search page, only people with a direct link can see it. Also, even if people do have a link to a draft or retired kata, they can not submit solutions to it.

NadChel commented 1 year ago

Once a kata has any solves, it can no longer be deleted. But any kata which is in Draft or Retired state cannot be found in the kata search page, only people with a direct link can see it. Also, even if people do have a link to a draft or retired kata, they can not submit solutions to it.

@Kacarott what's the point of the beta phase if it can still be downvoted into nonexistence in the blink of an eye? It wasn't even my mistake (I never included a JS version; I guess it was automatically added because JS is one of my trained languages). Still, I reacted swiftly and translated it into JS merely hours after the publication. And it didn't help me anyway! How fair is that?

JohanWiltink commented 1 year ago

Review is the point of the Beta phase. If your kata gathers so many downvotes it should obviously never be approved, retirement is better than letting it languish in Beta ( gathering ever more downvotes ).

There is, at least in theory, a difference between downvoting a kata and raising issues on it. Issues can be addressed, but a downvote means the kata should not exist. Not all voters take this approach, but that's the intention of the system.

If your kata is a duplicate, or the essential task is not fit to be made into a kata, downvoting it is the correct expression of that. If your kata does not have random tests, raising an issue would be. In practice, if a kata is published without random tests, I downvote it. Author should have know better. ( Not applicable to your case - I didn't even solve yours. )

hobovsky commented 1 year ago

You don't need to address all your questions directly to Kacarott, other uses can answer them too :)

The point of beta phase is to curate content published by users before it reaches a permanent state. It tends to happen quite swiftly, because there's quite a few very active reviewers, and any newly published kata attracts attention in minutes. If a kata is of insufficient quality, it's guaranteed to receive issues quite soon. If a kata is published in a condition which does not even make it suitable for publication, it's probable to be downvoted quickly.

You are right that downvoting a kata without any feedback is not great, but this is what many of reviewers don't understand, and some of them find clicking a red button much easier than typing in a couple of words into a text box. Well, writing is hard, I believe, and clicking red buttons seems to be top of capabilities for some.

Having said that, it does not happen often that a kata gets nothing but downvotes if it is any good. It is very probable that in this particular case, it got downvoted quickly because it made an impression of being simply broken. And reacting in a few hours is still not quick enough, because reviewers are often faster than that.

The JS version being added accidentally is highly unlikely. It could be selected by default by kata creator, but it would not be persisted if the kata would not be saved like that. At some point, the JS version had to be saved. Currently there is no known issue about JS versions popping up out of nowhere. If you can reproduce this behavior, feel free to report a bug.

On top of all of this, I am not sure how "unfair" is this, or how much of a problem recreating a kata is. It boils down to copying 5 snippets, and dropping a link to the draft on Discord. You'd get an immediate feedback without getting a single downvote. Go through a round or two of fixing problems reported on Discord, and then publish for beta a (hopefully) cleaned up version. Is this, for some reason, a bad way to go?

NadChel commented 1 year ago

Review is the point of the Beta phase. If your kata gathers so many downvotes it should obviously never be approved, retirement is better than letting it languish in Beta ( gathering ever more downvotes ).

There is, at least in theory, a difference between downvoting a kata and raising issues on it. Issues can be addressed, but a downvote means the kata should not exist. Not all voters take this approach, but that's the intention of the system.

If your kata is a duplicate, or the essential task is not fit to be made into a kata, downvoting it is the correct expression of that. If your kata does not have random tests, raising an issue would be. In practice, if a kata is published without random tests, I downvote it. Author should have know better. ( Not applicable to your case - I didn't even solve yours. )

@JohanWiltink "so many"? You mean five? Three of them were added by JS coders at the time no JS translation was even written! It's gratuitous and toxic. What makes you think it would gather "ever more downvotes"?

Here's my vision: no downvotes should be allowed at all, at least not in the beta phase, only suggestions and issue reporting. Why? Because you can't act on a downvote (you can act on a specific suggestion, though). A kata should be approved if no unresolved problems exist and it gains X likes (say, five)

Kacarott commented 1 year ago

I guess it was automatically added because JS is one of my trained languages)

It wasn't. When opening a new kata, the default language is JS (I believe because its popular and also the first language available on CW), so what likely happened is that you accidentally/unknowingly made some small change to the JS code setup before realising and switching to another language. Then when you saved, the editor thought that you intended for both a Java and JS version, and so published both.

As for downvotes being toxic, I don't see how. You might be surprised to hear this but it is actually fairly common the people will post completely unfinished/zero effort kata, which lack almost any kind of tests, often a bad description, etc. These are very quickly retired/unpublished. If downvoting was removed, and all beta kata were allowed to stay in beta until eventually getting enough upvotes, then there would be multiple thousands of zero-effort kata filling up the space. It would be extremely difficult to find any beta of actual quality to train on and to try get approved. Even with the system we currently have, there is still thousands of beta kata just sitting there, of which probably only a couple hundred are of high enough quality to be approved one day.

In regards to it being unfair to kata authors, this is understandable, and we have actually somewhat recently introduced a new mechanic to help that: see here however this is only triggered when 2 issues or more are raised, so it never triggered on your kata.

So in summary, an honest mistake by you caused a kata to be published, which looked like just another low effort kata to people attempting to solve it in JS, so they downvoted it to remove it from beta. If your kata was actually of high quality, then this was simply an honest mistake on their part. Ideally, another issue would have been raised to send it to draft instead, however that didn't happen. It seems to me like an obvious and very easy solution would be to simply copy over your work to a new kata, ensure the JS version is removed (or keep the one you ended up translating), and perhaps leave a note in the discourse to let people know that you are remaking it with a proper JS version.

NadChel commented 1 year ago

You don't need to address all your questions directly to Kacarott, other uses can answer them too :)

The point of beta phase is to curate content published by users before it reaches a permanent state. It tends to happen quite swiftly, because there's quite a few very active reviewers, and any newly published kata attracts attention in minutes. If a kata is of insufficient quality, it's guaranteed to receive issues quite soon. If a kata is published in a condition which does not even make it suitable for publication, it's probable to be downvoted quickly.

You are right that downvoting a kata without any feedback is not great, but this is what many of reviewers don't understand, and some of them find clicking a red button much easier than typing in a couple of words into a text box. Well, writing is hard, I believe, and clicking red buttons seems to be top of capabilities for some.

Having said that, it does not happen often that a kata gets nothing but downvotes if it is any good. It is very probable that in this particular case, it got downvoted quickly because it made an impression of being simply broken. And reacting in a few hours is still not quick enough, because reviewers are often faster than that.

The JS version being added accidentally is highly unlikely. It could be selected by default by kata creator, but it would not be persisted if the kata would not be saved like that. At some point, the JS version had to be saved. Currently there is no known issue about JS versions popping up out of nowhere. If you can reproduce this behavior, feel free to report a bug.

On top of all of this, I am not sure how "unfair" is this, or how much of a problem recreating a kata is. It boils down to copying 5 snippets, and dropping a link to the draft on Discord. You'd get an immediate feedback without getting a single downvote. Go through a round or two of fixing problems reported on Discord, and then publish for beta a (hopefully) cleaned up version. Is this, for some reason, a bad way to go?

@hobovsky I can't even join the Discord channel. I have checked probably a thousand pandas with glasses, no go 🤦‍♂️

hobovsky commented 1 year ago

Here's my vision: no downvotes should be allowed at all, at least not in the beta phase, only suggestions and issue reporting. Why? Because you can't act on a downvote (you can act on a specific suggestion, though). A kata should be approved if no unresolved problems exist and it gains X likes (say, five)

I think idea is based on a premise that every published beta kata created by users is eventually approvable, while it's not always (and frankly, not that often) a case. There are kata which are copies of other kata, duplicates, homework questions fishing for solutions, broken (unsolvable, or without tests, or with critical mistakes in tests), or just with a minimal effort put from authors side. Feedback and issues on kata of this kind often proved to be pointless because authors were not interested in acting on them. There are also kata which are technically good, just conceptually bad, or boring, or not great for reasons other than technical, and satisfaction votes are meant to reflect this aspect: some kata should not be approved even if there is no technical issue with them.

Please note that I explain how things work in general, and not necessarily in relation to your kata. I also do not say that the beta process is good as it is now. If it were good, this ticket would not be even necessary. Any ideas for improvements are really welcome, because the beta process definitely should not be an unpleasant experience. But the beta process should be able to handle many more problems than just kata with some small, fixable problems with their technical implementation. Some kata are just too bad. And kata with no tests which can make an impression of unfinished and not ready for publication are one of them. As a mod, I can just force them back to draft and ask author for fixing before publishing. But I can imagine how other users can just downvote a kata with no tests. But again, if this was a honest mistake, why not just recreate it, in a correct language, and with all tests?

It's also worth to remember that it's difficult to create something what everyone else would like. It's possible that someone still won't like a perfectly executed idea, or audience in general won't share author's enthusiasm about the idea. 100% satisfaction rate is very difficult to get.

NadChel commented 1 year ago

Yes, the new kata can have the same title as the old one.

@hobovsky It doesn't seem so. "Name is already taken"

JohanWiltink commented 1 year ago

Can you rename the retired one?

NadChel commented 1 year ago

Review is the point of the Beta phase. If your kata gathers so many downvotes it should obviously never be approved, retirement is better than letting it languish in Beta ( gathering ever more downvotes ).

There is, at least in theory, a difference between downvoting a kata and raising issues on it. Issues can be addressed, but a downvote means the kata should not exist. Not all voters take this approach, but that's the intention of the system.

If your kata is a duplicate, or the essential task is not fit to be made into a kata, downvoting it is the correct expression of that. If your kata does not have random tests, raising an issue would be. In practice, if a kata is published without random tests, I downvote it. Author should have know better. ( Not applicable to your case - I didn't even solve yours. )

You said, if I understood you correctly, my kata doesn't need random tests. However, I'm still asked to add them. Do I need them or not? And what are random tests exactly? Should I include tests that use randomly generated sequences of letters?