Fresh-install fixes + runtime-only release package (0.10.2)
- m1_smoke/m0_probe: skip with instructions when the gitignored ESP-IDF
firmware artifact is missing (fresh clone npm test crashed with ENOENT);
explicit firmware paths still hard-fail
- package_release.py: runtime allowlist — entry html, build/, peris/,
examples/, serve.py, install scripts + fetch tool, LICENSE, READMEs
(sources/tests/docs stay in the repo; 122 -> ~60 files)
- preserve hook: npm run serve fetches the browser build first