Runtime configuration
Kheish exposes live runtime controls through the daemon CLI and HTTP API.What can change live
Without restarting the daemon, you can change:- the daemon default route
- the learning automation policy
- the permission mode
- the system prompt settings
- the daemon-wide hook configuration
- the debug capture level
Common commands
runtime set-model accepts either a bare model name or a route-aware selector in the form <route_id>/<model>. The CLI normalizes that selector before calling the HTTP API.
Learning automation policy
The daemon-owned learning worker is configured through runtime policy:./target/debug/kheish-daemon runtime learning-policy get./target/debug/kheish-daemon runtime learning-policy set --file learning-policy.json
- whether the daemon captures
run_summarycandidates automatically - whether the daemon captures semantic
fact/preference/decisioncandidates from completed runs - whether candidates stay manual, run in
shadow, or can publish automatically - which candidates match
manual_review,reject,publish_provisional, orpublish_active - whether API-origin candidates may auto-publish with the active tier
- which named rules are temporarily quarantined
- whether the model-backed judge is enabled, and which optional route override it uses
- the daemon replaces the full learning policy on
set - send
modeexplicitly when mutating policy publish_activeis still gated by daemon-owned verification- automatically published learnings are only prompt-visible after verification
- the judge is bounded by the deterministic policy envelope; it does not write directly to the learning store
Operational semantics
These settings are daemon-wide. They affect future execution on that daemon, but they do not retroactively change the pinned route or model of an already active run. On a mixed-provider daemon,runtime set-model should be read as changing the daemon fallback route rather than forcing every session onto one provider immediately.
Recommended practice
After any runtime mutation, verify the current state withruntime get. Treat live reconfiguration as an operational change with production impact, especially when permissions, hooks, or debug capture are involved.