feat: cron agents can suppress delivery with [SILENT] response#1833
Merged
feat: cron agents can suppress delivery with [SILENT] response#1833
Conversation
added 2 commits
March 17, 2026 13:29
…plete The /browser command handler existed in cli.py but was never added to COMMAND_REGISTRY after the centralized command registry refactor. This meant: - /browser didn't appear in /help - No tab-completion or subcommand suggestions - Dispatch used _base_word fallback instead of canonical resolution Added CommandDef with connect/disconnect/status subcommands and switched dispatch to use canonical instead of _base_word.
Every cron job prompt now includes guidance that the agent can respond with [SILENT] when it has nothing new or noteworthy to report. The scheduler checks for this marker and skips delivery, while still saving output to disk for audit. Failed jobs always deliver regardless. This replaces the notify parameter approach from PR #1807 with a simpler always-on design — the model is smart enough to decide when there's nothing worth reporting without needing a per-job flag.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Every cron job prompt now includes guidance that the agent can respond with
[SILENT]when it has nothing new or noteworthy to report. The scheduler checks for this marker and skips delivery, while still saving output to disk for audit. Failed jobs always deliver regardless.How it works
_build_job_prompt()always prepends a[SYSTEM: ...]hint teaching the cron agent about[SILENT][SILENT](optionally followed by an internal note)tick(), the scheduler sees the marker and skips_deliver_result()— output is still saved to diskDesign choice
This replaces the
notifyparameter approach from PR #1807. Instead of a per-job flag with three modes (always/changes_only/never), we just always give the agent the option and let it decide. The model is smart enough to know when a daily report should be delivered vs when a monitoring job found nothing new.Simpler: no new field on jobs, no schema change, no migration. Same effective behavior.
Supersedes #1807.
Changes
cron/scheduler.py—SILENT_MARKERconstant, always-on prompt hint in_build_job_prompt(), delivery suppression intick()tests/cron/test_scheduler.py— 8 new tests covering normal delivery, silent suppression, case insensitivity, failure override, output-still-savedTest plan
python -m pytest tests/cron/ -n0 -q— 62 passed, 3 skipped