Follow-up to review.
The dependency pin is `openhop_core@dev`, so CI installs a Core without the
per-message flood scope override until that change lands there. The guard
imported symbols from it directly, which meant the module could not import at
all and this branch could not be green on its own before Core merged.
The constants are now reached through the module and a `skipif` covers the
whole file, so the branch stands alone and the guard resumes the moment Core
lands. The skip reason names the cause, so a permanent silent skip would be
visible in the report rather than reading as a pass.
Also corrects the `_flood_scope_applied` comment. It claimed losing the mark
would let the dispatcher re-scope the packet to the repeater's own region. It
would not: `scope_packet` has already set TRANSPORT_FLOOD and the dispatcher
re-scopes only ROUTE_TYPE_FLOOD. The assertion stays, as the contract Core
states, but it is no longer described as load-bearing.
Still outstanding, deliberately: this stops at the bridge's injector and does
not drive PacketRouter.inject_packet, the engine, and the final dispatcher
with a conflicting repeater region configured. That is the test worth adding
next if this guard is ever to carry real weight.