URI-013 HIGH: URI hygiene — route ALL URI parse/compose through the URI class (retire manual indexOf/slice/split parsing + string-concat construction)

A READ-ONLY audit of the JS tree found URIs parsed and composed BY HAND across ~30 production files: Category A (manual PARSING — indexOf(":")/slice/split/regex to pull scheme/authority/path/query/fragment) and Category B (manual CONSTRUCTION — scheme + ":" + … string-concat). The canonical helpers themselves offend: shared/nav.js navUri concatenates and navAuthorize hand-splits — the helper that should BE the fix. Rule: ONLY the URI class (new URI / uri._parse / URI.make / .toString) and the nav/refKey helpers (built ON it) may parse or compose a URI. This is a behavior-PRESERVING refactor — the existing suite (esp. plain/tlv byte-parity) is the safety net. Highest value: views/status/status.js:322 bypasses navUri (the scope-leak class URI-012 fixed on the RESOLVE side, still open on the BAKE side), the nav helpers hand-roll, and ~39 ?branch#sha refs-key concats want ONE shared refKey(). Method Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome