yeah - we're aiming at the same target, have diff POVs is all.
"perfect caching" is an interesting name. i imagine you are thinking it's "perfect" from the client's POV. you proly don't care about what it _means_ to create a "version" some examples that come to mind easily:
- is it just structure changes? data?
- if i remove a template from a Cj representation is that a new "version"
- if i add a template since this is for a logged in admin user, is that a new "version"?
- if this one user has a new data element that has a link that others do not, is that a new version?
i also suspect the number (and associated costs) of "versions" CDNs and intermediaries will handle for you is something to consider. Is it "cheaper" for me to pay for storing these versions (assuming they will be used "frequently") or to regen them from the server upon request?
my point here is that there may be other factors that make "perfect caching" less than desirable from the network POV.
but, hey, i'd like to see this up and running and see what it takes for a server to generate these "perfect cache" resources/addresses and what pay off you get from perceived reponsiveness on the client.