{"appId":"demo-cinema-vod","generatedAt":"2026-08-09T23:01:39.629Z","status":"ready","fingerprint":"6310162323baf4d81f3194e9c9908c99942fa55f56401b7a654886112b1d01c9","stages":[{"id":"manifest","label":"Manifest validation","status":"passed","findings":[]},{"id":"assets","label":"Asset preflight","status":"passed","findings":[]},{"id":"analytics","label":"Analytics readiness","status":"passed","findings":[]},{"id":"security","label":"Embed security","status":"passed","findings":[]},{"id":"adapter","label":"WebTV adapter","status":"passed","findings":[]},{"id":"adapter","label":"android-tv adapter","status":"passed","findings":[]},{"id":"adapter","label":"roku adapter","status":"passed","findings":[]}],"summary":{"errors":0,"warnings":0,"assetsChecked":14,"adapterTargets":3,"webtvAdapterStatus":"ready"},"manifest":{"valid":true,"status":"valid","fingerprint":"6310162323baf4d81f3194e9c9908c99942fa55f56401b7a654886112b1d01c9","findings":[]},"assets":{"appId":"demo-cinema-vod","generatedAt":"2026-08-09T23:01:39.629Z","totals":{"assets":14,"ok":14,"warnings":0,"errors":0},"findings":[{"asset":{"id":"demo-cinema-vod.logo","type":"image","url":"https://placehold.co/512x512/07080D/FEE440?text=Demo%20Cinema%20VOD","usage":"logo"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":148,"status":200},{"asset":{"id":"demo-cinema-vod.splash","type":"image","url":"https://placehold.co/1920x1080/07080D/F8F4EA?text=Demo%20Cinema%20VOD","usage":"splash"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":145,"status":200},{"asset":{"id":"cinema-feature.poster","type":"image","url":"https://placehold.co/960x540/181B27/F8F4EA?text=The%20Silent%20Harbor","usage":"poster","contentId":"cinema-feature"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":143,"status":200},{"asset":{"id":"cinema-feature.background","type":"image","url":"https://placehold.co/1920x1080/07080D/F8F4EA?text=The%20Silent%20Harbor","usage":"background","contentId":"cinema-feature"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":141,"status":200},{"asset":{"id":"cinema-feature.playback","type":"playback","url":"https://samplelib.com/lib/preview/mp4/sample-30s.mp4","usage":"playback","contentId":"cinema-feature"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"video/mp4","elapsedMs":579,"status":200},{"asset":{"id":"cinema-trailer.poster","type":"image","url":"https://placehold.co/960x540/181B27/F8F4EA?text=Festival%20Trailer","usage":"poster","contentId":"cinema-trailer"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":306,"status":200},{"asset":{"id":"cinema-trailer.background","type":"image","url":"https://placehold.co/1920x1080/07080D/F8F4EA?text=Festival%20Trailer","usage":"background","contentId":"cinema-trailer"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":304,"status":200},{"asset":{"id":"cinema-trailer.playback","type":"playback","url":"https://samplelib.com/lib/preview/mp4/sample-10s.mp4","usage":"playback","contentId":"cinema-trailer"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"video/mp4","elapsedMs":589,"status":200},{"asset":{"id":"cinema-photo-book.poster","type":"image","url":"https://placehold.co/960x540/181B27/F8F4EA?text=Behind%20The%20Lens","usage":"poster","contentId":"cinema-photo-book"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":143,"status":200},{"asset":{"id":"cinema-photo-book.background","type":"image","url":"https://placehold.co/1920x1080/07080D/F8F4EA?text=Behind%20The%20Lens","usage":"background","contentId":"cinema-photo-book"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":113,"status":200},{"asset":{"id":"cinema-watchlist.poster","type":"image","url":"https://placehold.co/960x540/181B27/F8F4EA?text=Festival%20Watchlist","usage":"poster","contentId":"cinema-watchlist"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":127,"status":200},{"asset":{"id":"cinema-watchlist.background","type":"image","url":"https://placehold.co/1920x1080/07080D/F8F4EA?text=Festival%20Watchlist","usage":"background","contentId":"cinema-watchlist"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":121,"status":200},{"asset":{"id":"demo-cinema-vod-home.background","type":"image","url":"https://placehold.co/1920x1080/07080D/F8F4EA?text=Demo%20Cinema%20VOD%20Home","usage":"background","screenId":"demo-cinema-vod-home"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"image/svg+xml; charset=utf-8","elapsedMs":188,"status":200},{"asset":{"id":"demo-cinema-vod-home.safe-embed.embed","type":"embed","url":"https://www.openstreetmap.org/export/embed.html?bbox=-0.1500%2C51.5000%2C-0.0800%2C51.5300&layer=mapnik","usage":"embed","screenId":"demo-cinema-vod-home","blockId":"safe-embed"},"severity":"ok","message":"Asset is reachable.","checkedWith":"HEAD","contentType":"text/html; charset=utf-8","elapsedMs":46,"status":200}]},"adapters":[{"adapterId":"webtv-reference","target":"browser-webtv","status":"ready","entryRoutes":{"portal":"/portal?project=demo-cinema-vod","preview":"/?project=demo-cinema-vod","manifest":"/api/app-manifest/current?project=demo-cinema-vod"},"supported":{"blockTypes":["hero","rail","grid","liveGuide","continueWatching","posterList","text","banner","actions","embed","searchKeyboard","searchResults","searchPreview","bundleOffer","providerLogoRail","promoMosaic"],"streamFormats":["mp4","external","youtube","hls","dash","webrtc"],"navigationModels":["browser","spatial","rowPriority"]},"findings":[]},{"adapterId":"android-tv-target","target":"android-tv","status":"ready","runtime":{"language":"Kotlin / Jetpack Compose for TV","rendererEntry":"native/android-tv/app/src/main/java/app/universalmedia/MainActivity.kt","packageRoot":"native/android-tv"},"supported":{"blockTypes":["hero","searchKeyboard","searchResults","searchPreview","bundleOffer","providerLogoRail","promoMosaic"],"nativeBlockTypes":["hero","searchKeyboard","searchResults","searchPreview","bundleOffer"],"fallbackBlockTypes":["providerLogoRail","promoMosaic"],"streamFormats":["hls","dash","mp4","external"],"billingProviders":["iap","external"]},"billing":{"entitlementEndpoint":"/api/subscription/entitlement?project=demo-cinema-vod","purchaseEndpoint":"/api/subscription/purchase","restoreEndpoint":"/api/subscription/restore","providerMode":"none"},"findings":[]},{"adapterId":"roku-target","target":"roku","status":"ready","runtime":{"language":"BrightScript / SceneGraph","rendererEntry":"native/roku/source/main.brs","packageRoot":"native/roku"},"supported":{"blockTypes":["searchKeyboard","searchResults","searchPreview","bundleOffer","providerLogoRail","promoMosaic"],"nativeBlockTypes":["searchKeyboard","searchResults","searchPreview","bundleOffer"],"fallbackBlockTypes":["providerLogoRail","promoMosaic"],"streamFormats":["hls","dash","mp4","external"],"billingProviders":["iap","external"]},"billing":{"entitlementEndpoint":"/api/subscription/entitlement?project=demo-cinema-vod","purchaseEndpoint":"/api/subscription/purchase","restoreEndpoint":"/api/subscription/restore","providerMode":"none"},"findings":[]}],"webtvAdapter":{"adapterId":"webtv-reference","target":"browser-webtv","status":"ready","entryRoutes":{"portal":"/portal?project=demo-cinema-vod","preview":"/?project=demo-cinema-vod","manifest":"/api/app-manifest/current?project=demo-cinema-vod"},"supported":{"blockTypes":["hero","rail","grid","liveGuide","continueWatching","posterList","text","banner","actions","embed","searchKeyboard","searchResults","searchPreview","bundleOffer","providerLogoRail","promoMosaic"],"streamFormats":["mp4","external","youtube","hls","dash","webrtc"],"navigationModels":["browser","spatial","rowPriority"]},"findings":[]}}