63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# Cron Job Model Fix (Post-Update)
|
|
|
|
**Session:** 2026-05-08 | **Impact:** All cron jobs with `model: null` break after Hermes Agent update
|
|
|
|
## Problem
|
|
|
|
After a Hermes Agent update, cron jobs with `model: null` fail immediately:
|
|
|
|
```
|
|
Error code: 400 - {'message': 'model should be in provider/model format'}
|
|
```
|
|
|
|
The new codepath strictly validates the `model` field — it no longer auto-resolves from config.
|
|
|
|
## Fix Pattern
|
|
|
|
### Step 1: Identify affected jobs
|
|
```bash
|
|
hermes cron list
|
|
```
|
|
Look for jobs where `model: null`.
|
|
|
|
### Step 2: Apply explicit model
|
|
```bash
|
|
hermes cron update <job-id> --model '{"model": "<provider>/<model>"}'
|
|
```
|
|
|
|
Example for this setup:
|
|
```bash
|
|
hermes cron update <job-id> --model '{"model": "custom/llama/model.gguf"}'
|
|
```
|
|
|
|
### Step 3: Verify
|
|
```bash
|
|
hermes cron list --name <job-name>
|
|
```
|
|
Confirm `model` is now `custom/llama/model.gguf`.
|
|
|
|
### Step 4: Restart gateway (if running)
|
|
```bash
|
|
systemctl --user restart hermes-gateway
|
|
```
|
|
The gateway process caches job definitions in memory. Restart ensures it loads updated models.
|
|
|
|
## Prevention
|
|
|
|
When creating new cron jobs, **always** specify the model explicitly:
|
|
```bash
|
|
hermes cron create --name "..." --model '{"model": "custom/llama/model.gguf"}' --prompt "..."
|
|
```
|
|
|
|
Or for script-only jobs (no LLM needed), set `--no-agent`:
|
|
```bash
|
|
hermes cron create --name "..." --script "..." --no-agent
|
|
```
|
|
|
|
## Session-Specifics (2026-05-08)
|
|
|
|
Three jobs were affected by the update to v0.13.0 (commit 474d1e812):
|
|
- `SRE Network Reconnaissance` (4733a436d99a) → fixed
|
|
- `Rechnungen-Organizer` (f773f8c23230) → fixed
|
|
- `memory-sync-daily` (ce496a8d1062) → deleted and recreated as `no_agent: true` script-only
|