radrootsd

JSON-RPC bridge for Radroots event publishing
git clone https://radroots.dev/git/radrootsd.git
Log | Files | Refs | README | LICENSE

commit 0c2674a0be83d35b7e171e79873db4e37359dc03
parent 41c964d7c34ac01c19f10792791ac623d61fdff7
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 radrootsd runtime roots
- assert config logs identity and bridge state paths under the explicit repo-local base
- keep the daemon profile matrix aligned with the interactive_user and service_host coverage
- give the outer runtime-path verification lane a direct radrootsd repo_local proof point

Diffstat:
Msrc/app/config.rs | 28++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/app/config.rs b/src/app/config.rs @@ -656,6 +656,34 @@ mod tests { } #[test] + fn runtime_paths_follow_repo_local_contract() { + let repo_local_root = PathBuf::from("/repo/.local/radroots/dev/radrootsd"); + let paths = resolve_runtime_paths_with_resolver( + &linux_resolver("/home/treesap"), + RadrootsPathProfile::RepoLocal, + Some(repo_local_root.as_path()), + ) + .expect("resolve repo-local paths"); + + assert_eq!( + paths.config_path, + repo_local_root.join("config/services/radrootsd/config.toml") + ); + assert_eq!( + paths.logs_dir, + repo_local_root.join("logs/services/radrootsd") + ); + assert_eq!( + paths.identity_path, + repo_local_root.join("secrets/services/radrootsd/identity.secret.json") + ); + assert_eq!( + paths.bridge_state_path, + repo_local_root.join("data/services/radrootsd/bridge/bridge-jobs.json") + ); + } + + #[test] fn load_settings_materializes_profile_defaults_when_paths_are_omitted() { let temp = tempfile::tempdir().expect("tempdir"); let config_path = temp.path().join("radrootsd.toml");