Findings / UX-046
Setting location.hash inside a vault app re-navigates the frame: every link silently dead
OpenHighFailuredev.vault.sgraph.ai
What we saw
In the host the app is an about:srcdoc frame, where assigning location.hash re-navigates instead of firing hashchange. The How Much Evidence vault shipped on 5 October 2026 with every view link dead.
Why it matters
An app that works when opened as a file ships to readers with no working navigation, and nothing errors.
The fix
Keep the route in a variable; catch a[href^="#"] in a capture click handler; mark links data-sg-native; use the hash only when running standalone. Documented in the sgit.ai guidance.
The record
| Status | Open. Open as a platform trap; every lab vault avoids it. |
| Severity | High |
| Kind | Failure: works against the reader |
| Product | dev.vault.sgraph.ai, platform |
| Where | any vault app that routes by hash |
| Problems | Host trap, Dead end |
| Visibility | Silent: no symptom on screen: found only by measuring, or by its consequences |
| Recommendation | Design for the host: use the host's own mechanisms (route variable, sg.state, vault snapshot) instead of the browser's defaults |
| Area | Platform |
| Breaks | A vault app works inside the host, not just on its own |
| Observed | 2026-10-05, host |
| Last checked | 2026-10-11, host |
| Source | Design lab: what building it measured |
Previous: UX-045 Persona pages are a list, with no story, opinion or next step
Next: UX-047 localStorage throws inside the vault app frame, so reader data is lost on reload