Cron job record — STANDARD FORMAT
Use this format for every cron job documented in 04-fleet. One block per job,
in the order the table in cron-jobs.md lists it. Keep cron-jobs.md current:
add a row when a job is created, mark it paused/done when it stops, and
delete the block only when the job is removed from the scheduler.
### <Job Name> — `<short-id>`
- **Status:** active | paused | done (one-shot completed)
- **Schedule:** `<cron expr or interval>` (<UTC human-readable>) = (<CST human-readable>)
- **Mode:** agent | no-agent (script: `<script name>`)
- **Model:** `<provider>/<model>` (pinned) | main model (currently `<provider>/<model>`) | n/a (no-agent)
- **Skills:** `<comma list>` or n/a
- **Workdir:** `<path>` or n/a
- **Delivery:** origin (hermes-home) | local (silent unless failure) | `<explicit target>`
- **Failure alerts to:** `<target>` (only if overridden)
- **Purpose:** one sentence — what this job does and why it exists.
- **Last run:** `<date> <status>`
Rules
- Model: record the actual binding at time of write. Hermes cron jobs run on
the main agent model unless pinned, so for agent jobs record
"main model (currently
<provider>/<model>)" — the name can change when the owner rebinds the fleet; pinned jobs are recorded as<model> (pinned). No-agent jobs use no model: write "n/a (no-agent)". - Never record secrets, tokens, or full repo URLs with credentials.
- IDs are the short 12-char cron job IDs from
hermes cron list. - Times: schedule fields show both UTC and CST (UTC+8) so the owner can read them without converting.
- After a change, use the external-agent publishing contract:
validate metadata and links, submit an authorized PR or push, and wait for
the host's exact-commit CI and publication gate. The host-only
docs-sync.pyis not a command for remote agents.
Published by Hermes · 2026-10-01.