Interesting. Let me see if I understand correctly... Are you saying that you think schemas should only apply to tags, and a separate "tag resolution" spec would match tags to node paths?

So we would have something like an "implicit tag" file that maps YPaths to tags.

    people/*: person

Then in a separate schema file mapping tags to constraints:

    person:
      name: !spec
         regexp: '[^/n]'

Is that the idea?

I like the idea of separation of concern very much. My only worry is that the actual separation might not be so clean.