-
Notifications
You must be signed in to change notification settings - Fork 0
auto-Mythos discover fails fast (~27s) intermittently regardless of file size — claude-code-action/OAuth reliability, not #376 #379
Description
Root cause correction for #376
#376 assumed the auto-Mythos Tier-5 discover crashes because merger.rs is too large (7020 lines). PR #378 (splitting it into ≤1419-line submodules) disproves that: all 9 per-submodule discover jobs — including the 160-line naming.rs — failed with the same "discover step failed before emitting structured output", each fast-failing in ~27s (far too fast to have analyzed anything). The matrix already caps max-parallel: 2, so it's not a concurrency blowout.
Actual cause
The anthropics/claude-code-action (using the maintainer's Max-plan OAuth token, per .github/workflows/mythos-auto.yml) fails fast at invocation, intermittently — it succeeded on #377, failed on every job on #378. Consistent with an account-level OAuth token that is expired / rate-limited / quota-exhausted, or an action-startup failure. This is independent of the file under analysis.
Impact
The Tier-5 adversarial gate is silently unreliable: a burst of fast-fails looks like "findings" in the aggregate (❌ N findings) when nothing was actually analyzed. On #370 the local Mythos pass caught a real regression precisely because the CI one couldn't be relied on.
Fix directions (maintainer-side)
- Add retry/backoff on the
claude-code-actionstep (a fast-fail should retry, not report a phantom finding). - Verify/rotate the Max-plan OAuth token; add a token-health preflight that skips-with-a-clear-status rather than reporting "FINDING" when auth fails.
- Distinguish "discover crashed" (infra) from "discover ran and found something" in the aggregate — never surface the former as a FINDING (it currently does, which is why it reads as a gate failure).
#376's split is still worthwhile for maintainability, but it is NOT the fix for this — retitling #376 accordingly.