I would put criterion #2 way, way above criterion #1. Both objectives
strike me as overspecifying a solution, as opposed to stating what the
goal is.
My criteria would be something like, "Suppose I want to hack in some
new policy about upvotes and karma. For instance that some comments or
some posts can be declared karma-neutral for the purposes of
implementing polls or rank ordering of suggestions. Does this tutorial
help me form an accurate mental model of what happens as a result of
clicking the upvote button, in terms of how LW is implemented? Does it
help me think effectively about bringing about the desired effects?
Does it help me anticipate potentially detrimental unintended effects?
Does it help me map that (dynamic) execution model to specific bits of
the (static) source code? Does the tutorial cover enough of the major
relevant aspects of LW besides the example (picked at random) of votes
and karma?"
Cheers,
Laurent