paul:
1 - the easiest way to signal "read-only" for everything is do not include a template. this means no adds, no edits.
2 - to indicate adds, but no edits, include a template and mark items with the extension: ["read-only" : true] (this can be the whole collection or just some items)
3 - to indicate no adds but allowed edits, do not include a template and include a ["rel" : "edit"] link for each item (this can be the whole collection or just some items)
i think this covers the space well, and has a minimum reliance on extensions (which are all backward compatible).
i understand the desired to *optimize* the use of read-only for human grokability, but i don't think it improves things from the machine side. in generic code you'll still be making the decision on a per item bases, but not you have *two* places to check (item-level, doc-level).
comments?