## Fix: framed pages could not read vault content · Dev renamed to Internal

- **The library, the talks and the deck failed to load.** Root cause: a page running inside the
  host's `srcdoc` stage frame usually cannot reach the SG bridge, *and* its relative `fetch()`
  resolves against the parent's base rather than the vault root — so both routes to vault content
  failed, and the page showed "The library could not be loaded." Reproduced exactly before fixing.
- **The fix is to ask the host.** The host is the context that loaded the page in the first place, so
  it demonstrably has a working reader. It now answers a read RPC over postMessage
  (`rm-read` → `rm-read-result`, text or binary), and framed pages go through
  `RM.services.vaultIo`, which tries the direct bridge first, then the host, then plain fetch for the
  standalone case. This was the missing piece in the 0.5.4 externalisation: content stopped being
  inlined, but the frame was never given a reliable way to fetch it back.
- A smoke group now reproduces the exact failure conditions — no bridge reachable, `fetch` returning
  404 — and asserts the articles, talks and deck all still load.
- **"Dev" is now "Internal"** in the navigation, since "Dev" reads as developer documentation rather
  than the internal release log. The file stays `dev.html`: frozen versions link to it and, by
  design, cannot be edited.
