UserDraftOverlay : Overlay fields added to every "get by path" response that accepts the get_draft query parameter. The deployed payload is sent untouched in the response body; the authed user’s saved draft for this path — whatever shape the editor wrote — is attached as the sibling draft field when get_draft=true and a draft exists. The frontend pairs the two to present diff / reset / discard UI; the server never merges them. When no_deployed=true there is no deployed row at this path — the response body is a best-effort stand-in synthesized from the draft, and only draft is canonical. Callers should disable "diff vs deployed" UI in that case.