SIGN IN SIGN UP

fix(omo-senpi): stop blaming SENPI_BIN for a model-admission exhaustion

A run whose model candidates were all refused never spawned a child and never resolved an
executable, but it is finalized with reason `spawn_failed` just like a launcher that could not
be found, so the parked-reflection banner told the user to set `SENPI_BIN` while every model was
merely rate limited. The advice is unusable on that path - the omo launcher deletes `SENPI_BIN`
from the engine environment - and #7815 shows a stale value breaks the launcher fallback outright.

Gate the executable hint behind the `attempted:` roster that `formatMemoryModelExhaustion`
appends, and answer each exhaustion kind on its own terms. That also reaches two hints the old
ordering had made unreachable: `auth_missing` never got /login because the `spawn_failed`
branch ran first, and `context_overflow` had no branch at all and fell through to a child log
no child had written.

Fixes #8367
Y
YeonGyu-Kim committed
5d7f1cfd5bd8bd308bdf26709fd7ba23276ce12e
Parent: c4b78a4