impl AppState {
pub async fn discover_goal_capabilities(
&self,
goal: tandem_types::GoalSpec,
tenant_id: String,
) -> tandem_types::GoalCapabilityLearningResponse {
self.goal_capability_learning_store
.discover_for_goal(goal, tenant_id)
.await
}
pub async fn get_discovery_decision(
&self,
decision_id: &str,
) -> Option<crate::goal_capability_learning::DiscoveryDecision> {
self.goal_capability_learning_store.get_decision(decision_id).await
}
pub async fn list_discovery_decisions_for_tenant(
&self,
tenant_id: &str,
) -> Vec<crate::goal_capability_learning::DiscoveryDecision> {
self.goal_capability_learning_store
.list_for_tenant(tenant_id)
.await
}
}