feat(cross-project): découverte et contact inter-projets — tools MCP idea_project_{list,read_context,list_agents,ask_agent,cancel_agent}, permission contactable par agent + default_contactable persistée dans les templates, routage orchestrator par projectId+agentId — #260 (tests ciblés verts, QA en attente)

This commit is contained in:
2026-09-07 16:31:14 +02:00
parent d7b24ad183
commit 98954986a7
18 changed files with 721 additions and 15 deletions

View File

@ -70,6 +70,7 @@ async fn save_then_get_and_list_roundtrip() {
Some(McpToolPolicy {
allowed_tools: vec!["idea_template_read".to_owned()],
}),
true,
)
.unwrap();
store.save(&t).await.unwrap();
@ -137,6 +138,7 @@ async fn index_is_camelcase_with_content_hash() {
Some(McpToolPolicy {
allowed_tools: vec!["idea_template_read".to_owned()],
}),
true,
)
.unwrap();
store.save(&template).await.unwrap();
@ -171,6 +173,10 @@ async fn index_is_camelcase_with_content_hash() {
.and_then(|v| v.as_str()),
Some("idea_template_read")
);
assert_eq!(
entry.get("defaultContactable").and_then(|v| v.as_bool()),
Some(true)
);
assert!(entry.get("content_hash").is_none(), "no snake_case leak");
}