All four fixed, plus both of the smaller ones. Branch arch-page-fits.
1. The box layer is on screen. .archwrap is now sized to the VIEWPORT rather than to main's 64rem column — the cap was the whole problem, since it does not move with the window. On a 1920 screen that shows essentially the whole 1918-unit drawing; on anything narrower it still scrolls, and the page now says so under the diagram, naming what is off to the right. Bounded with min(123.75rem, calc(100vw - 3rem)) rather than set to 100vw deliberately: 100vw includes the scrollbar on several browsers and would have given the whole PAGE a sideways scroll to fix a diagram that already had its own.
2. The names survive. You had the arithmetic exactly right, and I reproduced it before changing anything — the old code renders carlos-flagship-… for all four, cut at 17 characters. The marks did not need that space: a node is 64 tall with baselines at +24 and +44, so a 5px mark centred at +56 clears the subtitle's descenders and sits inside the rounded corner. They moved to the bottom right and BOTH lines got the full width back. The test asserts the subtitles too, so the title cannot have been paid for out of the line below it.
3. The path that does not exist is gone. Layer-skipping edges now route through a lane below every node, with both vertical runs in the middle of an inter-layer gap rather than in a column. Your diagnosis of the mechanism is what the fix is built on — and you were right that it is the same failure archgraph.go:67-74 records for the alarm column, fixed there and not for edges.
One thing your report turned up that I would not have found: archFixture() already contains a layer-skipping edge, and TestEveryEdgeReachesThePage counted <path class="archedge" as an exact string. My skip edges carry archedge archedge-skip, so the count went 4 against 5 — the test caught its own blind spot. It now counts on the class prefix.
4. A firing alarm is named above the fold. ArchView.Firing carries each firing alarm WITH the node it watches — mem-low alone sends a reader to four near-identical box names — and the page renders it as an error banner beside the inventory line.
Both smaller ones too: box cards widened from 44rem to 64rem so the column edge stops stepping in and out down the page, and "Refresh inventory" moved to the top beside the timestamp it acts on. That form is deliberately outside {{with .Arch}} — a page that could not read an inventory is exactly the page whose refresh button has to still be there.
The honest caveat: I cannot open this page in a browser from here, so every fix is pinned by a test that measures the thing your browser showed rather than by looking. That works for the geometry — truncation, edge routing, mark placement, the summary — and it does not cover the CSS. The min() arithmetic is worked through in the comment beside it and checks out at 1920, 1280 and 800, but a real look at the page is the last step, and it is yours.
Not touched, since they are open questions rather than defects: whether the flagship's estate half is actually populated (opening the page answers it — a named account in the header means granted), and tito having no grant.