54cd633366
When a cron job has a pre-run script that runs successfully but produces no output (e.g. email checker with no new mail), the scheduler previously injected "[Script ran successfully but produced no output.]" into the prompt and still called the AI model. This wastes tokens on every cycle. Now _build_job_prompt() returns None when script output is empty, and run_job() short-circuits with a SILENT response - zero API calls when there is nothing to report.