It works if you don't surround the recursive reference with {{#with items}}. http://jsfiddle.net/KKn5G/9/
I see that my previous fiddle revision (#3) included that, but it was an artifact from when I was starting the recursive template with {{#each this}} instead of {{#each items}}. Sorry about the misdirection.
I think you've found a Mustache bug, because the function that the scope resolver is choking on is a can.compute that yields some list of sub-items. That should have been resolved to the list automatically.