Agents and scheduled jobs
A green check, an exit 0, or a run completed line is a status the agent or scheduler chose to emit. It is not proof that the email sent, the file landed, the ticket closed, or the order updated.
Schedulers and agents often mark the tick complete when their wrapper finishes. The wrapper can finish after a skip, a tool timeout, a plan with no mutation, or a write to the wrong environment. Your dashboard still shows success. The expected work still did not happen.
Agents often emit done after composing a reply. Confirm the side effect in the destination system: the row, the file, the message, the ticket.
A 200 from the tool is an HTTP hop. Open the record the tool was supposed to create. If it is missing, the run did not complete the work, even if the agent said it did.
Some runners mark success when the wait ended. A tool that never returned a mutation is an unfinished run, not a green one.
If the watermark updates at start, a skipped or crashed tick still looks on time. Move last_run only after the side effect exists.
A held lock, an empty queue, a disabled flag, and nothing to do are not completion. If those paths return exit 0, the scheduler will report that the job ran.
Staging, a preview deploy, or another workspace can be green while production never executed the same tick.
A success status only tells you the wrapper finished. The failure people search for is silence after that green mark: no email sent, no file written, no ticket closed. Instrument the positive completion event on a channel. Set the rhythm you already know. Page when that event is missing, even if the agent or cron still reports success.
After the side effect exists, emit that event on a channel with the cadence you already know. logs.so watches that positive completion event and pages when it is missing. It does not prove why, and it does not run the job for you.
This page is free guidance. Silence monitoring and incident email are Pro-only at $19/mo. On Pro, logs.so watches a positive completion event on an expected cadence and emails confirmed subscribers when the channel goes quiet. It detects when that expected event is missing. It cannot prove the root cause, and it cannot guarantee the agent or job actually ran. View a status page.