96c1a68ee0
Wire the host side of the new advertisement observer (continuous scan, bounded staleness map, ingestion filter) and add a BLETemp app that decodes ATC_MiThermometer adverts (service data 0x181A, ATC1441 and pvvx formats) from ble.observed(). Migrate the Settings/Ble picker off the removed blocking scan onto observe()/observed(). Remove the Hello and Scroll demo apps; BLETemp now serves as the tree-owned-scrolling example in the docs. AGENTS.md gains a Design Stance: this is pre-release firmware, so a wrong abstraction gets redesigned, not extended with a compat shim. BLE cannot run in the emulator, so the app logic is covered by host tests (test/bletemp.lua) against fake_device.