desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs
Comment 1, line 1
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:1
//! Hermes Agent adapter; see architecture.md#adapter-layout.Comment 2, line 2
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:2
//! - Stable entry point implements the shared interface and re-exports modules.Comment 3, line 3
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:3
//! - detect checks state.db columns and the v22 primary-key shape before version selection.Comment 4, line 4
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:4
//! - versions registers session_model_usage_v1 interval aggregates.Comment 5, line 5
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:5
//! - common owns usage mapping, in-memory base_url normalization and read-only/staged source access.Comment 6, line 6
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:6
//!Comment 7, line 7
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:7
//! A24 references: source commit ef70b3661cbfcf57e583008ad91dd04d8ba46070Comment 8, line 8
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:8
//! (hermes_state_common.py SCHEMA_SQL, hermes_state_usage.py and agent/turn_usage.py)Comment 9, line 9
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:9
//! and official 0.21.5 image commit f97608f178d1ffeca59860195ab7da295f7c8e5f.Comment 10, line 10
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:10
//! Real isolated local-model CLI/resumed-session samples checked normalized buckets; other paths remain unverified.Comment 11, line 11
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:11
//! This implementation reads native local intervals per model/task.Comment 12, line 12
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:12
//! Per-request agent-log details and exact daily attribution require separate verification.Comment 13, line 22
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:22
/// Hermes-home environment override from hermes_constants.py get_hermes_home.Comment 14, line 25
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:25
/// Stateless Hermes Agent adapter.Comment 15, line 39
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:39
/// Find state.db under a candidate root, including named profiles.Comment 16, line 40
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:40
/// Profile directories must match PROFILE_ID_RE: ^[a-z0-9][a-z0-9_-]{0,63}$Comment 17, line 41
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:41
/// and contain config.yaml/.env/SOUL.md/profile.yaml/auth.json/state.db as an identity marker.Comment 18, line 44
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:44
// Depth 3 includes root/profiles/<name>/state.db.Comment 19, line 80
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:80
// Relative path depth 1 is root/state.db for the default home or HERMES_HOME.Comment 20, line 81
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:81
// Depth 2 accepts a user/backup parent root; detect checks database identity.Comment 21, line 82
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:82
// Depth 3 requires profiles/<name>/state.db and a valid profile name. state.dbComment 22, line 83
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:83
// itself is a referenced identity marker, so no additional marker file is needed.Comment 23, line 116
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:116
// Read HERMES_HOME; process-internal context overrides are invisible to collection.Comment 24, line 125
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:125
// Platform defaults from _get_platform_default_hermes_home:Comment 25, line 126
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:126
// Windows %LOCALAPPDATA%/hermes, falling back to ~/AppData/Local/hermes;Comment 26, line 127
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:127
// macOS/Linux ~/.hermes.Comment 27, line 151
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:151
// Manual roots can be a Hermes home, its parent or a user home.Comment 28, line 152
desktop/src-tauri/crates/core/src/adapters/hermes/mod.rs:152
// Bounded enumeration uses depth 3 and accepts root/child state.db or named profiles at depth 3.