diff --git a/src/app/subagent/division.rs b/src/app/subagent/division.rs index c2da0b9..5f39672 100644 --- a/src/app/subagent/division.rs +++ b/src/app/subagent/division.rs @@ -88,4 +88,14 @@ mod tests { assert!(!tools.contains(&"write".to_string())); assert!(!tools.contains(&"delete".to_string())); } + + #[test] + fn read_tier_is_subset_of_write_tier_and_write_is_subset_of_full() { + use std::collections::HashSet; + let read: HashSet<_> = tools_for(READ).into_iter().collect(); + let write: HashSet<_> = tools_for(WRITE).into_iter().collect(); + let full: HashSet<_> = tools_for(FULL).into_iter().collect(); + assert!(read.is_subset(&write), "read tier must be a subset of write tier"); + assert!(write.is_subset(&full), "write tier must be a subset of full tier"); + } }