Skip to main content

Module profiles

Module profiles 

Source
Expand description

ORCH-10 — the profile noun at the OBSERVED tier: one uniform row for every named, routable config home supercode can see, read from each harness’s own files and never written.

Four sources, four kinds:

  • preset — supercode’s own crate::presets::RESERVED_PRESET_NAMES; the analog of a Codex profile for supercode itself (no home directory).
  • codex_profile[profiles.<name>] tables in $CODEX_HOME/config.toml, with the top-level profile = "<name>" naming the default.
  • hermes_profileHERMES_HOME/profiles/<name>/ directories plus the implicit default profile (HERMES_HOME itself), routed by gateway.profile_routes in HERMES_HOME/config.yaml and partitioned in state.db by the profile_name column.
  • openclaw_agent<openclaw home>/agents/<id>/ directories plus the agents.entries map in openclaw.json, routed by bindings[].

Everything here is read-only: no harness home is created, written, or migrated. A harness with no profile concept is refused with ProfileError::UnsupportedHarness, never a silent empty list.

Structs§

ProfileRow
One named config home, uniform across harnesses.

Enums§

ProfileError
Read-only profile failures.
ProfileKind
Which harness concept a row came from.

Constants§

HERMES_DEFAULT_PROFILE
Hermes’s implicit profile: HERMES_HOME itself, the profile_name IS NULL partition of state.db and the target when no route matches.
OPENCLAW_DEFAULT_AGENT
OpenClaw’s conventional default agent — the id behind the agent:<id>:main session key and the agents/main config home. Used only when no entry declares default: true.
PROFILES_SCHEMA
Stable row schema shared by Rust, JSON-RPC, the SDKs, and the CLI.
PROFILE_HARNESSES
Harnesses that have a profile concept supercode reads, in product order. Every other harness id is ProfileError::UnsupportedHarness.

Functions§

get_profile
Read one profile by harness and name.
list_profiles
List every profile supercode can see, optionally restricted to one harness. Rows are ordered by harness (as in PROFILE_HARNESSES) then by name.