I'd like to propose self-scoring or a similar tag, but I'd like to get some feedback on whether this is useful and how the tag might work.
First the proposal:
self-scoring is a scoring criterion where the scoring mechanism and the task required are the same. This means that if you pass your program to itself as input it should give you it's score.
Some examples are given at the bottom of the post.
My motivation for proposing the tag is that it would break of a (small) chunk of the many challenges with code-challenge into a more specific, searchable group. code-challenge is never going away but it is not a very useful tag and it would be nice to split off developing groups if possible.
I do think this tag also has potential for a good deal more challenges to be made. It's quite flexible and new challenges can be very innovative or novel. It might be a little tough to come up with a good task that makes for an interesting scoring criterion, but I don't think we have exhausted the supply.
Now there are some things I think are worth discussing:
In finding examples I was not able to find a good example question that was asked by anyone other than myself. It's possible this is just a personal fixation of mine and that other people are just not asking these. Although it's possible that making this a tag could lead to interest from others, sparking new and innovative challenges.
The scoring can be pretty varied between challenges that meet the requirements. It might be wrong to think of this as a scoring criterion tag. Maybe it is better to think of the scoring criterion being code-challenge and the task being to implement whatever scoring criterion.
A similar type of challenge that doesn't fall under this is restricted-source+decision-problem challenges where you are required to validate rather than score your own program. This challenge type even has some that aren't asked by me! Should we add self-validating or something as well? Should these just be one tag with a name that encompasses both of them?
Marginal or possible examples: