Route back counter port
Definition¶
Hexagonal port for the per-issue route-back counter. Lives in src/route_back.py alongside RouteBackCoordinator. The coordinator depends on this port rather than StateTracker directly, so unit tests can wire a tiny in-memory dict implementation without pulling in the full state layer. Production wiring connects StateTracker as the concrete adapter.
Invariants¶
- Pure Protocol — no implementation, no state.
- Three methods:
get_route_back_countreads the current count;increment_route_back_countreturns the new count after incrementing;decrement_route_back_countrolls back an increment when a subsequent label swap fails, preventing transient network blips from burning route-back budget without any actual route-back occurring. decrement_route_back_countmust be a no-op (returning 0) when the counter is already at zero.