@@ -143,6 +143,29 @@ with no development-device list is not the separately installed development
143143Preview app. Its local validation does not establish App Store processing,
144144TestFlight availability, or store-installed upgrade behavior.
145145
146+ ## Android WebView diagnostic boundary
147+
148+ An earlier isolated debug-build Blocks startup timeout is retained in the
149+ private Android evidence. The first profile-build captures showed loading;
150+ they did not establish an expired watchdog. On the Lenovo with Google WebView
151+ 155.0.8059.43, three separate controls passed: a native inline HTML/JavaScript
152+ bridge, a native WebView with the exact production Blockly assets/CSP, and a
153+ minimal Flutter profile app using the same pinned WebView plugins and asset
154+ path. The exact-asset controls observed ` onPageStarted ` , then ` hostReady ` , and
155+ confirmed that ` window.pybleBlocks.configureHost ` exists. The selected provider
156+ was installed/enabled and not stopped or suspended at inspection time.
157+
158+ The current isolated profile candidate subsequently reached the real Blocks
159+ workspace. These observations distinguish the retained debug failure from a
160+ completed profile-candidate failure; they do not identify the original cause
161+ or prove DR-T12 by themselves. The inline control exposed a possible callback
162+ ordering hazard, but neither exact-asset control reproduced it, so no runtime
163+ change or claimed fix followed. The physical report must separately record
164+ actual generated-text handoff, recovery and cold relaunch. Diagnostic fixture
165+ sources, APK hashes and callback logs remain under ignored
166+ ` local/recovery-completion/{native-webview-smoke,flutter-webview-smoke,android}/ ` .
167+ The production artifacts above remain bound to ` e54a78a ` .
168+
146169## Distribution access and remaining account work
147170
148171The owner Android upload identity is locally usable and matches the historical
0 commit comments