# Registration Success Does Not Guarantee Render Success Under Lazy Loading ## Claim When a system resolves a resource's location lazily — only at render or use time rather than at registration time — a broken reference can pass registration silently and only surface as a failure later, so registration-time testing alone isn't sufficient. <!-- atomicity: 1 idea ✓ --> ## Scope & conditions - Applies to any registry pattern where an item is registered with a pointer (file path, URL, identifier) that gets resolved lazily rather than validated eagerly. - The failure mode specifically is silent: no error at registration, empty/missing output at render — which makes it easy to ship a broken registration undetected. - Does not indict lazy loading as a design choice — lazy loading has real performance benefits; it just shifts where validation needs to happen. ## Evidence WordPress 7.1's SVG icon registration API accepts a file path for an icon at registration time but doesn't resolve or validate that path until the icon is actually rendered. A plugin can register an icon with a wrong path, have the registration succeed without error, and only discover the problem when the icon renders as empty content — potentially in production, not during development testing that only exercised registration. ## Links - [[3. Resources/Permanent Notes/Namespaced Registries Let Extensions Share Assets Without Sharing Ownership]] — companion claim from the same source: that note is about the registry's collision-avoidance design; this one is about a validation gap in the same registry's lazy-resolution behavior. - [[3. Resources/MOCs/WordPress Hosting Security Stack MOC]] — applies-in: silent failure modes in a security-sanitized rendering path are exactly the kind of edge case worth auditing for. - [[3. Resources/MOCs/WordPress Platform Design MOC]] — applies-in: Joins the WordPress runtime and testing cluster. ## Tests / falsifiers - Register an icon with a deliberately broken file path and confirm the failure only appears at render (not registration) — verifies the claim directly against WordPress 7.1's actual behavior. - Find a registry pattern that validates eagerly at registration time instead (fails fast) and compare developer error-discovery time against the lazy pattern — would show the tradeoff this note implies rather than assuming it. ## Maintenance - Last tended: 2026-08-16 - Next review: 2026-11-16 ## Source - [[3. Resources/Readwise/Articles/Registering and Rendering SVG Icons in WordPress 7.1]] — the documented lazy file-path resolution and its empty-content failure mode.