D701 - Resources reach the backend by residency

Status: decided Date: 2026-09-16

The frontend reads guest memory, content-hashes each resource and hands the backend plain data through ensure_resident, idempotent per ResourceId and called before the commands that name it. Resource grows one variant per kind, and the backend owns and evicts its host objects.

Why: shaders, buffers and textures reach the backend the same way, so the mechanism is residency, not shader delivery. Content addressing makes invalidation automatic: a rewritten resource has new bytes and a new id. Reading guest memory on the frontend keeps the backend clear of the guest address space and orbistoun-gpu clear of any graphics API.

Rejected: