claude-bot
0873803faa
feat(launcher): drop dead frontmatter model + validate model name (never-break)
...
G1: remove the dead `model:` line from all 6 .openclaw/agents/*.md prompts —
launcher never read it; config (agent_model_*) is the single source of truth.
G2: add is_valid_model helper (format check ^claude-…$) applied inside
resolve_agent_model's resolution cascade and at the inline --fallback-model
read in _spawn. An invalid name is logged and skipped to the next valid level
(in the limit: no --model flag), never passed to the CLI, never raises. Format
check chosen over an allowlist for forward-compatibility (ADR-001).
G3 (routing) and G4 (fallback) intentionally NOT enabled — all agents stay on
claude-opus-4-8; agent_fallback_model stays "".
Docs (golden source) updated in the same change: README model/effort table +
validation, CLAUDE.md, .env.example (ORCH_AGENT_MODEL_*/EFFORT_*/FALLBACK_MODEL),
CHANGELOG. Tests: test_agent_frontmatter_no_model.py (G1), extended
test_resolve_agent_model.py (G2 never-break).
Refs: ORCH-074
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-08 22:00:54 +03:00
..
2026-05-19 15:57:00 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 22:00:54 +03:00
2026-06-05 17:58:00 +00:00
2026-06-05 17:50:47 +03:00
2026-06-03 22:58:18 +03:00
2026-06-05 17:50:47 +03:00
2026-06-08 10:34:33 +00:00
2026-06-08 06:41:52 +00:00
2026-06-08 06:34:37 +00:00
2026-06-07 07:46:19 +00:00
2026-06-08 08:45:31 +00:00
2026-06-07 07:46:19 +00:00
2026-06-07 14:40:06 +00:00
2026-06-06 21:07:35 +00:00
2026-06-06 21:07:35 +00:00
2026-06-08 08:45:31 +00:00
2026-06-06 21:07:35 +00:00
2026-06-06 21:07:35 +00:00
2026-06-07 22:02:45 +00:00
2026-06-05 17:50:47 +03:00
2026-06-02 21:12:06 +03:00
2026-06-06 20:55:25 +00:00
2026-06-07 07:46:19 +00:00
2026-06-07 16:14:45 +00:00
2026-06-07 12:39:00 +00:00
2026-06-03 09:53:55 +03:00
2026-06-07 22:02:45 +00:00
2026-06-08 16:30:46 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 16:30:46 +03:00
2026-06-07 16:14:45 +00:00
2026-06-08 16:30:46 +03:00
2026-06-05 17:58:00 +00:00
2026-06-05 17:50:47 +03:00
2026-06-08 10:34:33 +00:00
2026-06-07 22:02:45 +00:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-06 15:02:33 +00:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-03 22:42:53 +03:00
2026-06-03 10:53:25 +03:00
2026-06-08 06:41:52 +00:00
2026-06-08 10:34:33 +00:00
2026-06-08 05:18:46 +00:00
2026-06-07 19:20:41 +00:00
2026-06-07 22:02:45 +00:00
2026-06-08 06:41:52 +00:00
2026-06-07 22:02:45 +00:00
2026-06-07 22:02:45 +00:00
2026-06-07 22:02:45 +00:00
2026-06-07 14:40:06 +00:00
2026-06-05 17:50:47 +03:00
2026-06-02 22:30:51 +03:00
2026-06-08 11:24:01 +00:00
2026-06-08 08:45:31 +00:00
2026-06-08 19:17:44 +03:00
2026-06-07 18:04:50 +00:00
2026-06-07 18:04:50 +00:00
2026-06-07 12:39:00 +00:00
2026-06-07 16:14:45 +00:00
2026-06-08 06:41:52 +00:00
2026-06-07 22:02:45 +00:00
2026-06-03 00:12:17 +03:00
2026-06-05 19:45:19 +03:00
2026-06-08 22:00:54 +03:00
2026-06-06 04:42:11 +00:00
2026-06-07 18:04:50 +00:00
2026-06-08 06:41:52 +00:00
2026-06-07 19:20:41 +00:00
2026-06-07 18:04:50 +00:00
2026-06-07 18:04:50 +00:00
2026-06-07 22:02:45 +00:00
2026-06-08 08:45:31 +00:00
2026-06-07 12:39:00 +00:00
2026-06-06 21:07:35 +00:00
2026-06-05 17:50:47 +03:00
2026-06-05 17:50:47 +03:00
2026-06-05 17:50:47 +03:00
2026-06-05 17:50:47 +03:00
2026-06-03 22:18:24 +03:00
2026-06-03 22:18:24 +03:00
2026-06-03 22:42:53 +03:00
2026-06-08 10:34:33 +00:00
2026-06-08 10:34:33 +00:00
2026-06-06 10:13:49 +00:00
2026-06-08 10:34:33 +00:00
2026-06-08 10:34:33 +00:00
2026-06-04 11:17:58 +03:00
2026-06-03 22:18:24 +03:00
2026-06-03 18:18:26 +03:00
2026-06-04 22:38:09 +03:00