Three renamed callbacks, a MAC that is a string, and the facet rule ExecuteAsync is ExecuteWithCallback, joining LoadWithCallback and LoadListenWithCallback. All three end in Async and none is awaitable, which is what earned them the rename; all three are now error:true, so 3.x code stops compiling with a message naming the replacement rather than binding to a callback the caller never awaits. The upgrade page had a "Breaking changes in your source" section that never mentioned them — it does now. MndpHelper.FindMacByHost returns the MAC as a string, the spelling RouterMac and TikRouterAddress.FromMac take, so the discovery helper's answer can go straight to the thing it exists to feed. CreateWinboxNativeMacConnection takes a routerMac parameter like the other two MAC factories. And the facet rule the pages had never stated: only the first three facets carry a capability flag, and that is a rule rather than an accident. A facet for a FEATURE a transport cannot perform gets a flag, because code holding a runtime-chosen connection has to ask before it casts. A facet for a SETTING that is meaningless elsewhere gets none — the cast succeeding is already the answer. TikFakeConnection now satisfies every composite interface, so the advice to prefer a typed connection is advice a test can follow.
Communication debugging & testing: split into the fake and the trace The page owned two subjects that share only the word "debugging": replacing the router with a fake so tests run in CI, and watching a real exchange. A reader arriving for one had to walk past the other, and the title promised both. Unit-testing-without-a-router now holds TikFakeConnection and sits with the three Testing-* pages it links to. Communication-debugging holds OnReadRow/OnWriteRow, TikWireTrace and the console sample for trying out API syntax. Each opens with what it is and points at the other. Seventeen inbound links were re-pointed one at a time rather than by pattern -- they do not all go to the same half, and two of them named both subjects in one line and became two links. The old page is deleted: nothing links to it, and the link graph has no broken references and no orphans. Also here, because it is one line: the ordered-menu list in High-level-API-advanced gains the bridge firewall and /routing/ospf/interface-template. The router was asked -- /interface/bridge/filter and /interface/bridge/nat both offer a move verb -- so their absence was a gap in the entities, now fixed in the library.