Merge 3e7eaf67 (REQ-WEB-PROXY-LOCATION-NAMESPACE rider) into test/304-remote-friction Takes the relay-side Location fix and its fixup so this lane's cross-node int cell has the product it asserts. webserve.rs resolved TAKE-OURS at both cfg(test) hunks, per doyle's amended ruling. Theirs is base character-for-character except the port argument dropped from six handle_path/resolve_path calls, so it carries no assertion the product lane authored; every JSON assertion in both hunks targets handle_path("/local/", Some("json")), the registry index twin that a4017a15 retired. At this tree that path returns FOUND with an empty body, so those assertions have no subject -- the carry set is empty rather than partial. Nothing is lost: this lane's repin already asserts the json query's live redirect behaviour, and the escaper coverage restored at 9f09db4e sits on the message facet, which is the live escaper. Resolved blob asserted by oid, not by reading: index entry for crates/spt-daemon/src/webserve.rs == 29f4d7ef, byte-equal to ec1e4737's blob. bootstrap_firewall/windows.rs and rc.rs auto-merged. Merged tree checked for the state neither lane had built: no under_own_prefix reference survives anywhere under crates/, relabel_location is at docshost.rs:419, under_node_prefix at webproxy.rs:285, and the fixup's protocol-relative guard at docshost.rs:426. Co-authored by: hertz Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01GY7rT7iPXEDNb7FN18WX1K