RESTBase currently emits ETag headers in the following format: "<revision_id>/<TimeUUID>(/stash)?" where revision_id is the ID of the revision for the HTML and TimeUUID is a unique UUID of the HTML render, based on the rendering timestamp. Optional /stash suffix is added for stashed transformation, but we can probably add it if the HTML was added to a stash even for page/revision HTML GET requests with stashing.
A few services using RESTBase might depend on this ETag format, but I do not quite know of any hard dependencies. We should evaluate whether adopting the same format of ETag is wise (TimeUUID might be quite expensive to generate) and either adopt it, or come up with a new format.
The requirements for ETag is that it needs to be unique for each rendering of the page we produce since parsoid's parses are not stable and might differ from render to render. The etag should by itself uniquely identify an entry in parsoid stash. All the normal ETag header guarantees should hold as well.