codewars / codewars.com

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

Privilege Unlock Amendment Request - Raise the (metaphorical) bar on amount of Honor required to resolve any Issue #796

Closed DonaldKellett closed 7 years ago

DonaldKellett commented 7 years ago

Recently, a relatively new user who isn't yet familiar with the mode of work on Codewars with just under 1500 Honor abused his/her newfound privilege of resolving any Issue by prematurely resolving my Issue which was "Random tests needed" (in the JavaScript version) without actually adding them (or providing a valid reason as to why they aren't needed) which lead to a fellow Moderator overlooking this Issue when approving it. With regards to this incident, I would like to propose that the honor threshold for resolving any Issue on Codewars be raised from 1300 to 3000, i.e. changing it to a Moderator-only privilege, reason being that by the time a user has gained 3000 Honor and becomes a Moderator, hopefully he/she would be much more familiar with what is expected of a typical Kata and what are/aren't Issues etc. which would greatly reduce the chances of said user abusing his/her privileges by nullifying genuine Issue reports raised by responsible Moderators on Codewars. Otherwise, what is the point of being able to raise an Issue on a (Beta or otherwise) Kata if lots of new users are just going to abuse their privileges and resolve them? The whole point of raising Issues on Beta Kata is that such a tag can prevent substandard Kata from being approved until the Issue at hand is actually fixed but this new privilege seems to be completely undermining its purpose of existence.

suic86 commented 7 years ago

@DonaldKellett thanks for this. Let me add one point.

In a discussion with @lechevalier (see here) I realized an important thing: The system of privileges based exclusively on amount of honor points penalizes people who are primarily solvers. An example of this is @lechevalier who is one of the best Python coders on CW.

My suggestion is to base the privileges on rank (e.g. 1 and 2kyu players should be able to resolve issues, edit approved kata code regardless on honor points) and not only on honor points. Reaching e.g. 3kyu or 2kyu in a language is a sign of proficiency :)

kazk commented 7 years ago

@suic86, I'm confused. Isn't @lechevalier already 3000+?

My suggestion is to base the privileges on rank (e.g. 1 and 2kyu players should be able to resolve issues, edit approved kata code regardless on honor points)

I'm against this. The user @DonaldKellett mentions is 2kyu. 3000+ for "primary solvers" is hard to reach, but it should be kept that way. Ranks only shows that the user knows how to code and it's possible to reach 1kyu solving around 100 katas (maybe less) and have less than 1000 honor. Allowing that disregards the user's familiarity with CodeWars community which I think is most important.

changing it to a Moderator-only privilege, reason being that by the time a user has gained 3000 Honor and becomes a Moderator, hopefully he/she would be much more familiar with what is expected of a typical Kata and what are/aren't Issues etc

The privilege to "edit approved kata code" should be discussed separately and treated much more carefully. What is the honor required for this?

suic86 commented 7 years ago

Alright, let me modify that sentence:

My suggestion is to base the privileges on rank too* and not only on honor points.

My point is to combine somehow these two things but I put it in wrong way and gave a wrong example.

Ad lechevalier's 3000 points: In my understanding, his point is that he still can't edit some of the katas (read his comment :))

Ad "edit approved kata": As I remember one needs 6000 points to be able to edit approved kata, but I can be wrong. This isn't documented anywhere (I even raised a github issue for this #590.)

Question: What if one has the ability to "resolve" the ISSUE but can't actually resolve it as that requires editing the kata?

Regards,

suic

* A word I missed while editing.

kazk commented 7 years ago

Ok, I think I understand you now. I'm not agains that 👍 But it's really hard to find a good balance when combining those two.

Do you mean this comment?

I often read issues on some katas that only need a few lines of code to solve them (at least several times a week), but again there is no way to edit these katas. source

I think @lechevalier means the "approved" ones because @lechevalier's profile has "Contributed Kata: 13" and "Kata Approvals: 2" meaning edited at least 11 kata?


6000? I didn't know I had a privilege to edit approved kata. I don't think I got any notifications and I always get 500 error. I know reaching 6000 just by solving is much more difficult. I think you need to be a JavaScripter or polyglot?


Question: What if one has the ability to "resolve" the ISSUE but can't actually resolve it as that requires editing the kata?

Adopting something similar to "Pull Request" should be the most effective solution. Anyone (or require 1000 honor, for example) can open it, but only affects the kata if author/moderators/contributors accepts it. I don't think it's a good idea to increase the number of users with privileges to resolve this inconvenience. Maybe introduce a new privilege for "editing kata description" with lower requirement? That takes care of the minor issues with spelling/grammatical errors and formatting, and possibly "translations" in the future.

suic86 commented 7 years ago

@kazk:

Yes I meant that comment.

Ad my question: I don't have a good answer. :/ This question rather points to a fact that one can "solve" an issue even if he actually can't :/ Therefore to resolve an ISSUE under an approved kata (/kata with more than 500 solutions) should require different priviliges.

Ad 6000 points by solving: I think one has to be a polyglot. Some balance between ranking and honour points would help here. Here I agree with you that finding a good balance is difficult

My opinion:

(feel free to skip this :))

This is still a valid and important discussion but the suggestions getting more and more complex. I've been working for years in corporate environment and I don't believe that too much regulation and complex rules can make things better. I feel that CW is getting over-regulated and too strict and dogmatic and less and less fun (it's more CommentWars than CodeWars). All those endless discussions on duplicates*, testing, random tests** (e. g. py.checkio.org has no random tests but it's a very good game and in some respect even better and harder than CW), coding style, best practices etc.

Other thing is that people (it's definitely NOT only one person) try to enforce their ideas about what could make or makes CW a better place and making laws from recommendations and hard requirements from soft ones. But there are no clear criteria and definitions and no common sense agreement.

The fuss under the kata which "initiated" the last few github issues is on the one hand justified on the other hand IMO ridiculous (such a long discussion just because of 3 tests... OMG :/ Why don't we just try to fix the issue instead of talking about...? :/).

I really would like to have a distraction free mode in CW (see #798) to be able to ignore all this and just switch back to solver mode. I find absurd that people are "punished" for creating content... and that happens every day.

Regards,

suic

* Solving and creating a kata requires different skills and both requires training. I would rather allow everybody to create one's own kata than "yelling" that it's a duplicate especially when it's almost impossible to find the other kata :( (see my heretic comment under #752)

** e.g. to learn and master QuickCheck just because one wants to create a simple kata is an overkill. The more restricted random input one needs the more he needs know about QuickCheck. It took me 3-4 hours to make my first Haskell translation just because of this :(

jhoffner commented 7 years ago

The privilege honor is being revamped due to the honor updates, which I'm about to test now and hopefully will push tomorrow. They just fell into the backlog. Resolving issues will be higher up in the list now.

The reason why you earn that privilege before you earn the ability to edit kata is that there was an issue with moderation, some kata were stuck in beta and the issues that were logged were not really issues, so its nice to be able to close them so that the kata can be pushed through (in the case of the author leaving the site). So basically its the ability for one more experienced user to close a non-issue logged by a less experienced user who didn't know better.

lechevalier commented 7 years ago

Here to clarify some points I described in the discussion mentionned by suic.

Firstly its purpose wasn't exactly on resolving issues itself: correcting typos or writing a more precise description is part of quality improvement process but alas not sufficient. Main concern of many issues is about problems with the program behind: incorrect or missing test cases, wrong test function and so on. Then it seems rather logical to assume the ability of solving isssues grants also the privilege to edit some code, and yet even with the recent overhaul of privilege system, there is no clue about such a possibility.

Secondly while a PR system would be the best answer in open sourcing as suggested by @kazk , you should keep in mind that many authors/contributors/translators become silent (and not inactive) on CW once the initial job is done, provoking an accumulation of reports about the same issue or different ones. The example I provided in the previous discussion clearly illustrates my point and at now, without an answer from any actor involded in the creation of this kata, it is doomed to remain dormant.

Unsolved issues negatively impact the quality of CW and due to its scale in terms of kata quantity, I am not sure that solving them (nor approving kata edits) can be restricted to moderators only. There is actually a need to expand these privileges in order to treat them as soon as they appears. Although I agree such responsibilities cannot be handed out too lightly, the roles of moderator and kata corrector have to be distinguished from each other: the first one needs a great knowledge of community and represents CW staff while the second one only requires good programming skills and some common sense. To my opinion, there is no use to arbitrate a clear correction that solves an open issue, especially on recent katas, where several players will quickly run into the same issue. The only remaining question is about older katas where correction can have bigger side effects . Here also you need to distinguish edits that deal with some edge case, with nearly no impact, from edits that make many solutions obsolete. When dealing with such exceptions, they should be pushed to moderators for approval, otherwise they can be merged automatically without any worry. Defining a threshold on the number of impacted solutions (say +500 solutions) before pushed for approval would be a great way to achieve this automation process.

jhoffner commented 7 years ago

Thanks @lechevalier for your comments. However I'm closing this issue for now as I don't see anything else changing in the near future. Resolving comments is now actually higher than the ability to edit. There are at the moment about 180 users who can resolve any issue on the site, and of course that list will continue to grow. For coauthors who can fix an issue themselves but can't resolve the issue, they will need to work with others in the community to get it marked resolved - which adds an extra layer of coordination but also an extra layer of validation in those cases.

lechevalier commented 7 years ago

That is sad to hear when knowing that issues can persist during months or until hiting 500+ solution milestone and thus becoming closed to even more users. At least power users should be notified for old issues or edits should be allowed on inactive players' kata as suggested above.