diff --git a/rust/crates/rusty-claude-cli/tests/output_format_contract.rs b/rust/crates/rusty-claude-cli/tests/output_format_contract.rs index 2f0d4cd6..41347f32 100644 --- a/rust/crates/rusty-claude-cli/tests/output_format_contract.rs +++ b/rust/crates/rusty-claude-cli/tests/output_format_contract.rs @@ -190,12 +190,16 @@ fn inventory_commands_emit_structured_json_when_requested() { ); assert_eq!(plugins["status"], "ok"); let plugin_entries = plugins["plugins"].as_array().expect("plugins array"); - assert!( - plugin_entries.iter().all(|plugin| plugin["id"].is_string() - && plugin["lifecycle_state"].is_string() - && plugin["lifecycle"].is_object()), - "plugins JSON entries should carry lifecycle contract fields" - ); + for plugin in plugin_entries { + assert!( + plugin["lifecycle_state"].is_string(), + "plugin entries should expose lifecycle_state" + ); + assert!( + plugin["lifecycle"]["configured"].is_boolean(), + "plugin entries should expose lifecycle contract summary" + ); + } assert!(plugins["load_failures"] .as_array() .expect("plugin load failures array")