Skip to content

fix(cron): avoid false provider failure summaries - #83188

Closed
cation98 wants to merge 1 commit into
NousResearch:mainfrom
cation98:agent/fix-cron-failure-summary
Closed

fix(cron): avoid false provider failure summaries#83188
cation98 wants to merge 1 commit into
NousResearch:mainfrom
cation98:agent/fix-cron-failure-summary

Conversation

@cation98

Copy link
Copy Markdown
Contributor

Summary

  • classify HTTP 429 failures without matching embedded digits in unrelated identifiers
  • omit fallback-chain claims for no_agent script jobs
  • distinguish scheduler script timeouts from provider timeouts

Root cause

The cron delivery summarizer treated any occurrence of 429 as a provider rate limit. A source identifier containing those digits therefore produced a misleading Telegram alert. The same summary also claimed that a model fallback chain had been exhausted even when the job intentionally ran in no_agent mode.

User impact

Operators now receive an accurate cron failure summary and are no longer directed toward provider quota troubleshooting for local script or source-snapshot failures.

Validation

  • scripts/run_tests.sh tests/cron/test_scheduler.py tests/cron/test_cron_no_agent.py -q
  • 79 tests passed

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/cron Cron scheduler and job management sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages labels Aug 10, 2026
teknium1 added a commit that referenced this pull request Aug 13, 2026
…composed no_agent gate

The cherry-picked tests predate #85508's honest fallback-chain phrasing
and each other: assertions pinned the old 'exhausted or unavailable'
literal and #83188's no_agent fallback-note behavior, which #77648's
mode gate supersedes (no provider classification at all for no_agent
jobs). Assert the composed contract instead.
@teknium1

Copy link
Copy Markdown
Contributor

Merged via PR #85536 (rebase-merge) — your commit was cherry-picked onto current main with your authorship preserved in git log.

Your \b429\b whole-token match landed as written. The no_agent fallback-note half was superseded by #77648's broader mode gate (no provider classification at all for script jobs), and your script-timeout wording arrived via #82460's contract check — your tests were reconciled to the composed contract and all pass. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cron Cron scheduler and job management P2 Medium — degraded but workaround exists sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants