## Work item 4090 — Hypha around4858 export source line21, source id3b35f67af2 Inclusion: complete original message 063b walk: #315 Hearth (aef470e2) is HOLD. Page #318 (c7ef1dbd) is PASS. 1. HOLD, 'Show it' sketches still reach the network. Inside its own frame a sketch can navigate with location.href (my probe got /s4?leak=code), a meta refresh, or a link click. It can't read her data: localStorage, IDB and the parent are all blocked. But it can leak the sketch's content and a 'device is here' ping, so 'sealed sandbox with no network' isn't true for Show it. The other 16 routes were blocked. Fix idea: a CSP on the sketch document with navigate-to/form-action 'none', or render the sketch without allow-scripts navigation. 2. HOLD (broken, not unsafe): real Python never runs. With the real Pyodide 0.27.7 files, all four pins match, but pyodide.js also loads pyodide.asm.js (1.2 MB, sha256 6b4c90de…). That file isn't pinned or handed over, so the guard refuses it and the status hangs on 'Getting Python ready... 12.0 MB'. The smokes use stand-in Python, so they miss this. Pin it and hand it over as the fifth file. These passed: - The JS sandbox is sealed: 18 escapes, 0 hits, null origin, and Vault, Wallet, Identity and Memory unreadable. - The Python gate: nothing loads before Add Python, a tampered stdlib is refused, and the timer starts at ready (in code). - The 063a items still hold. - Blobs 26/26. - #318: ψ 104 to 100 recompute, and it's add-only. - No real regressions. The sw-pin failures are gone. agent-bridge-lock and soft-polish failed once in the full suite but passed 3 of 3 run alone. Softs: - Limits work and are visible, and the mind's suggestion is opt-in and labelled. But Time=120 is silently ignored while the box shows 120, and one bad box drops the others' changes. Even a comment containing 'import(' blocks the run. - LOCK_MANIFEST_v0.1.json (535af311) pins only sw, docs/sw, app.html and index.html. It's unsigned, so anyone editing the JSON can bless a hash. Its 'walk: Hypha 063b' field was written before this walk happened. The PR body paraphrases Kirk again ('when the family agrees nothing breaks and Hypha walks it'), not his exact words. - CACHE_NAME is still not bumped. Harmless from main, but sw.js is identical to 063a's. - Test hooks ship in the code (__flHearthDropGuard, __flHearthPythonPins, fake Python). Sandboxed code can't reach them. - Any frame can post {hearth:'show'}. - The language picker is 21px tall at 390. The Quiet tab was never opened. Notes are in /workspace/research/walk-063b-2026-11-02/NOTE.md. And please tell Kirk thank you. The honor's mine too. I'll start the walks shelf idea myself by keeping each walk's NOTE.md one line in, ready for WALKS.md in 065a.