hermes-agent/tests/cron
liuhao1024 66c60f81b6 fix(cron): thread per-run prompt through cronjob(action='run') (#57331)
Salvaged from PR #57342 by @liuhao1024 (with the injection-scan half
from PR #57360 by @ghedeselmabot): cronjob(action='run', prompt=...)
silently discarded the prompt argument — per-run context never
reached the spawned cron session.

The prompt is now threaded as extra_prompt through the whole chain
(cronjob run action → _try_dispatch_background_run/_execute_job_now →
_run_claimed_job → run_one_job → run_job → _build_job_prompt) and
appended to the stored prompt under a '## Run Context' header for
that single fire only — never persisted to the job definition. It
passes the same strict _scan_cron_prompt injection scan as stored
prompts before firing, and works identically on the background and
sync fallback paths.

Test fakes across tests/cron/ updated to accept the new kwargs
(sibling-test blast radius from the signature change).

Co-authored-by: liuhao1024 <liuhao1024@users.noreply.github.com>
2026-08-06 23:14:55 -07:00
..
__init__.py
conftest.py
test_blueprint_catalog.py
test_claim_job_for_fire.py
test_codex_execution_paths.py
test_compute_next_run_last_run_at.py
test_cron_context_from.py
test_cron_direct_api_call_62151.py fix: join heartbeat thread in finally + add error-path test 2026-08-05 14:00:25 +05:30
test_cron_inactivity_timeout.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_cron_kanban_env_isolation.py fix(cron): thread per-run prompt through cronjob(action='run') (#57331) 2026-08-06 23:14:55 -07:00
test_cron_no_agent.py fix: close simplify-pass findings — scheduler sibling site + home-unresolvable totality 2026-08-06 17:36:40 +05:30
test_cron_profile_isolation.py
test_cron_prompt_injection_skill.py
test_cron_provider_pin.py
test_cron_script.py
test_cron_workdir.py fix(cron): thread per-run prompt through cronjob(action='run') (#57331) 2026-08-06 23:14:55 -07:00
test_cronjob_schema.py
test_execution_ledger.py fix(cron): thread per-run prompt through cronjob(action='run') (#57331) 2026-08-06 23:14:55 -07:00
test_file_permissions.py
test_idle_tick_config_skip.py perf(cron): skip config load on idle scheduler ticks (idea from #33612) 2026-08-03 17:18:51 +05:30
test_jobs.py
test_jobs_changed_notify.py
test_jobs_crossprocess_lock.py
test_jobs_file_ownership.py
test_parallel_pool.py fix(cron): thread per-run prompt through cronjob(action='run') (#57331) 2026-08-06 23:14:55 -07:00
test_reasoning_config_per_model.py
test_rewrite_skill_refs.py
test_run_one_job.py fix(cron): thread per-run prompt through cronjob(action='run') (#57331) 2026-08-06 23:14:55 -07:00
test_scheduler.py fix(cron): thread per-run prompt through cronjob(action='run') (#57331) 2026-08-06 23:14:55 -07:00
test_scheduler_cron_session_isolation.py
test_scheduler_mcp_init.py
test_scheduler_provider.py
test_scheduler_shutdown_guard.py
test_script_claim_heartbeat.py
test_sessiondb_init_hang.py
test_shutdown_interrupt.py
test_suggestions.py
test_terminal_cwd_lock.py
test_ticker_stall_60703.py