| 643 | |
| 644 | |
| 645 | def run_review_plan(request_id: str, approve: bool, |
| 646 | feedback: str = "") -> str: |
| 647 | state = pending_requests.get(request_id) |
| 648 | if not state: |
| 649 | return f"Request {request_id} not found" |
| 650 | state.status = "approved" if approve else "rejected" |
| 651 | BUS.send("lead", state.sender, |
| 652 | feedback or ("Approved" if approve else "Rejected"), |
| 653 | "plan_approval_response", |
| 654 | {"request_id": request_id, "approve": approve}) |
| 655 | return f"Plan {'approved' if approve else 'rejected'}" |
| 656 | |
| 657 | |
| 658 | # ── MCP System (s19 new) ── |