Skip to content

eve-online-mining-bot: aggressive=yes stands ready instead of fleeing under wormhole=yes - #496

Merged
smerwin merged 1 commit into
mainfrom
mining-bot-wormhole-aggressive-no-flee
Sep 14, 2026
Merged

smerwin merged 1 commit into
mainfrom
mining-bot-wormhole-aggressive-no-flee

Conversation

@smerwin

@smerwin smerwin commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Summary

wormholeSafetyStep's fallback -- once engageHostiles finds nothing on
the overview to lock -- was unconditionally runAway, regardless of why
the grid did not read clean. Two live six-hour runs with wormhole=yes aggressive=yes (runs 22 and 23, both on Isolated Core Deposit) show this
firing almost entirely on uncertainty:

  • Neither run ever saw a hostile D-Scan sighting, a hostile overview entry,
    or an engagement.
  • This is a wormhole -- leave rather than keep mining. fired ~13 times in
    run 22 and 213 times in run 23, essentially every time on
    CannotTellWhetherTheGridIsClean (no D-Scan window, or a stale scan) and
    never on SomethingIsOnTheGrid.
  • Run 23's average load per unload trip dropped from ~16,000 m³ to ~10,900 m³
    (12 unloads -> 16), consistent with the ship heading back before a full
    hold, interrupted by this branch.

Under aggressive = yes this branch no longer calls runAway at all:

  • A genuine hostile signal (SomethingIsOnTheGrid -- a D-Scan sighting, or
    an overview pilot the rat-colour/warp-disrupt test does not catch) that
    cannot yet be locked launches drones and stands ready instead, through the
    new readyDronesForGridHostile. Once drones are out, later readings of
    the same sighting launch nothing further and mining continues until
    engageHostiles finds something on the overview to send them after.
  • Mere uncertainty (CannotTellWhetherTheGridIsClean) triggers nothing at
    all -- no flee, no drone launch -- since aggressive mode does not run from
    doubt, only from evidence.
  • aggressive = no is unchanged. The shield-percentage emergency retreat in
    returnDronesAndRunAwayIfHitpointsAreTooLowOrWithoutDrones is untouched --
    this is scoped to the wormhole grid check alone.

Fixes #495

Test plan

  • elm-format --yes applied
  • elm make Bot.elm --output=out.js -- "Success! Compiled 15 modules"
    followed by the expected harmless "NO MAIN" error
  • Untested against a live client. Nothing here has watched a genuine
    D-Scan hostile contact fire readyDronesForGridHostile; what to watch on
    the next wormhole=yes aggressive=yes run is the CannotTellWhetherTheGridIsClean
    fleeing disappearing from the decision log (the grid clause itself still
    prints every reading via describeWormholeSafety), and, if a real hostile
    ever shows up on D-Scan first, Nothing on the overview to lock yet -- launch drones and stand ready rather than run. appearing ahead of an
    eventual Aggressive: fighting '...'.

🤖 Generated with Claude Code

… under wormhole=yes

wormholeSafetyStep's fallback, once engageHostiles finds nothing on the
overview to lock, was unconditionally runAway regardless of why the grid did
not read clean. Runs 22 and 23 (~13 and 213 fires of "leave rather than keep
mining") show this firing almost entirely on CannotTellWhetherTheGridIsClean
-- an absent or stale D-Scan window -- never on a genuine hostile.

Under aggressive=yes this branch no longer calls runAway at all: a genuine
hostile signal (SomethingIsOnTheGrid) that cannot yet be locked now launches
drones and stands ready via the new readyDronesForGridHostile, and mere
uncertainty triggers nothing -- no flee, no drone launch. aggressive=no is
unchanged, and the shield-percentage emergency retreat is untouched.

Fixes #495

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@smerwin
smerwin merged commit 5eea6bb into main Sep 14, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

eve-online-mining-bot: wormhole=yes still flees under aggressive=yes when nothing is lockable yet

2 participants