fix: widen Edgeville ditch crossing to the real cache extent (#174 residue) #186

Merged
sickday merged 1 commit from fix/wilderness-ditch-range into main 2026-07-20 19:44:40 +00:00
Owner

The #174 reroute fix reduced but didn't end the nav storm: fleets still wedged
at a handful of tiles, worst (2936,3355) and around x=3062/x=3130 south of the
wilderness. Live repro with the persisted fleet (scripts/probe_stuck_bots.exs)
showed the dominant population — 38 bots — all stuck trying to reach Edgeville
bank (3094,3491): PKers, magers, rangers, looters banking from the wilderness,
unable to cross the ditch southbound.

Root cause: the ditch crossing gate was hardcoded to x=3072..3122, but the
cache has 145 Wilderness Ditch (23271) locs spanning x=3042..3199 — the whole
Edgeville/Varrock border — and that border row is a solid wall (A* confirms NO
PATH across it at any horizon). A bot that reached the ditch outside the narrow
range failed must_cross_ditch?, never leapt, and wedged forever, re-routing and
recover-teleporting on a loop. Correcting @ditch_x_min/@ditch_x_max to the real
extent lets them cross. Re-running the repro: the 38-bot Edgeville pileup drops
to 0 and total wedged bots fall 60 -> 24 (the rest are separate, smaller
gatherer chokepoints west of Falador, left for follow-up).

Also tag the two terminal nav-recovery warnings ("giving up" / "reroutes
failed, recovering") with domain: [:bot] so they obey the existing console
muting like every other bot log — they were emitting on the default (elixir)
domain and leaking to the console, which is what surfaced the flood.

The #174 reroute fix reduced but didn't end the nav storm: fleets still wedged at a handful of tiles, worst (2936,3355) and around x=3062/x=3130 south of the wilderness. Live repro with the persisted fleet (scripts/probe_stuck_bots.exs) showed the dominant population — 38 bots — all stuck trying to reach Edgeville bank (3094,3491): PKers, magers, rangers, looters banking from the wilderness, unable to cross the ditch southbound. Root cause: the ditch crossing gate was hardcoded to x=3072..3122, but the cache has 145 Wilderness Ditch (23271) locs spanning x=3042..3199 — the whole Edgeville/Varrock border — and that border row is a solid wall (A* confirms NO PATH across it at any horizon). A bot that reached the ditch outside the narrow range failed must_cross_ditch?, never leapt, and wedged forever, re-routing and recover-teleporting on a loop. Correcting @ditch_x_min/@ditch_x_max to the real extent lets them cross. Re-running the repro: the 38-bot Edgeville pileup drops to 0 and total wedged bots fall 60 -> 24 (the rest are separate, smaller gatherer chokepoints west of Falador, left for follow-up). Also tag the two terminal nav-recovery warnings ("giving up" / "reroutes failed, recovering") with domain: [:bot] so they obey the existing console muting like every other bot log — they were emitting on the default (elixir) domain and leaking to the console, which is what surfaced the flood.
fix: widen Edgeville ditch crossing to the real cache extent (#174 residue)
All checks were successful
ci / test (pull_request) Successful in 2m31s
f9cf447b10
The #174 reroute fix reduced but didn't end the nav storm: fleets still wedged
at a handful of tiles, worst (2936,3355) and around x=3062/x=3130 south of the
wilderness. Live repro with the persisted fleet (scripts/probe_stuck_bots.exs)
showed the dominant population — 38 bots — all stuck trying to reach Edgeville
bank (3094,3491): PKers, magers, rangers, looters banking from the wilderness,
unable to cross the ditch southbound.

Root cause: the ditch crossing gate was hardcoded to x=3072..3122, but the
cache has 145 Wilderness Ditch (23271) locs spanning x=3042..3199 — the whole
Edgeville/Varrock border — and that border row is a solid wall (A* confirms NO
PATH across it at any horizon). A bot that reached the ditch outside the narrow
range failed must_cross_ditch?, never leapt, and wedged forever, re-routing and
recover-teleporting on a loop. Correcting @ditch_x_min/@ditch_x_max to the real
extent lets them cross. Re-running the repro: the 38-bot Edgeville pileup drops
to 0 and total wedged bots fall 60 -> 24 (the rest are separate, smaller
gatherer chokepoints west of Falador, left for follow-up).

Also tag the two terminal nav-recovery warnings ("giving up" / "reroutes
failed, recovering") with domain: [:bot] so they obey the existing console
muting like every other bot log — they were emitting on the default (elixir)
domain and leaking to the console, which is what surfaced the flood.
Sign in to join this conversation.
No description provided.