commit 5281709783b28fd77eafb53e3ba8c61e90b84705
parent 182e686b7d17b562d4da6806e4b128e6f23f840b
Author: triesap <tyson@radroots.org>
Date: Wed, 8 Apr 2026 01:22:48 +0000
config: cover repo local path defaults
- add a repo-local path contract test for the canonical rhi runtime roots
- assert config logs identity and workflow state paths under the explicit repo-local base
- keep the worker profile matrix aligned with the interactive_user and service_host coverage
- give the outer runtime-path verification lane a direct rhi repo_local proof point
Diffstat:
1 file changed, 25 insertions(+), 0 deletions(-)
diff --git a/src/config.rs b/src/config.rs
@@ -381,6 +381,31 @@ mod tests {
}
#[test]
+ fn runtime_paths_follow_repo_local_contract() {
+ let repo_local_root = PathBuf::from("/repo/.local/radroots/dev/rhi");
+ let paths = resolve_runtime_paths_with_resolver(
+ &linux_resolver(),
+ RadrootsPathProfile::RepoLocal,
+ Some(repo_local_root.as_path()),
+ )
+ .expect("repo_local paths should resolve");
+
+ assert_eq!(
+ paths.config_path,
+ repo_local_root.join("config/workers/rhi/config.toml")
+ );
+ assert_eq!(paths.logs_dir, repo_local_root.join("logs/workers/rhi"));
+ assert_eq!(
+ paths.identity_path,
+ repo_local_root.join("secrets/workers/rhi/identity.secret.json")
+ );
+ assert_eq!(
+ paths.subscriber_state_path,
+ repo_local_root.join("data/workers/rhi/trade-listing/state.json")
+ );
+ }
+
+ #[test]
fn load_settings_materializes_profile_defaults_when_paths_are_omitted() {
let temp = tempfile::tempdir().expect("tempdir");
let config_path = temp.path().join("config.toml");