# ADR-0005: Versioned resource lifecycle and host present model - Status: accepted - Date: 2026-07-17 ## Decision API version 2 includes opaque contexts, surfaces, and textures, plus sized descriptors for texture upload and present. Context destruction returns `RESOURCE_BUSY` while child handles exist. The version-1 `chimera_gfx_destroy` symbol remains as a void compatibility wrapper for childless contexts. The mock backend implements the complete ownership model in host memory and records deterministic present serials and content hashes. The mock present is a state transition, not a graphical operation. It creates no window, accesses no display, and advertises both `NON_RENDERING` and `HOST_TEST_ONLY`. The PS5 backend is a separate compiled unit that refuses context creation with `SAFETY_POLICY`. ## Consequences Adapter work can compile and test lifecycle assumptions before a hardware ABI exists. Future backends must preserve validation and cleanup semantics, but must not inherit mock capabilities without evidence.