Regarding to Alejandro's comment
For #1, as long as we agree that implementation could be case insensitive. This becomes a documentation discussion. I will carefully think about it.
For #4, how about something like: permission is represented as an Octal while an Octal is represented by string "[0-7]+". We cannot limit it to 3 digits since there is an additional digit for the sticky bit. Also, leading zeros should be insignificant.
For #5, I will at least refer token encoding to the Hadoop doc and try to make it clear in our doc.