Bind ticket completion to current review evidence

This commit is contained in:
2026-09-29 01:47:01 +09:00
parent 590abf3142
commit ad08110c96
16 changed files with 530 additions and 59 deletions
@@ -80,6 +80,7 @@ struct CompleteTicketInput {
operation_id: String,
item_revision: String,
merge_request_ids: Vec<String>,
requirement_approval_event_id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
#[serde(rename_all = "snake_case")]
@@ -213,6 +214,7 @@ impl Tool for MergeRequestTool {
"operation_id": v.operation_id,
"item_revision": v.item_revision,
"merge_request_ids": v.merge_request_ids,
"requirement_approval_event_id": v.requirement_approval_event_id,
})),
)
}
+2 -1
View File
@@ -613,7 +613,7 @@ impl Tool for SubWorkerSpawnTool {
child_registry
.attach_parent_protocol(session.protocol_sender(), session.session_id_string());
if let Some((_ticket_id, merge_request_id, capability_token)) = &reviewer_capability {
if let Some((ticket_id, merge_request_id, capability_token)) = &reviewer_capability {
let workspace_id = self.workspace_context.workspace_id().ok_or_else(|| {
ToolError::ExecutionFailed("review capability lost Workspace identity".to_string())
})?;
@@ -643,6 +643,7 @@ impl Tool for SubWorkerSpawnTool {
)));
}
let body = serde_json::json!({
"ticket_id": ticket_id,
"child_session_id": child_session_id,
"capability_token": capability_token,
});