confirm_submission
Finalize and submit pending reviews, meta-reviews, or comments to OpenReview using a confirmation ID from preview actions.
Instructions
Confirm and submit a pending review, meta-review, or comment to OpenReview.
Args: confirmation_id: The confirmation ID returned by submit_review, submit_meta_review, post_comment, or message_reviewer.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirmation_id | Yes |
Implementation Reference
- The confirm_submission function handles the submission of pending items to OpenReview by retrieving them from the pending_store and executing the note edit.
@mcp.tool() async def confirm_submission(confirmation_id: str) -> str: """Confirm and submit a pending review, meta-review, or comment to OpenReview. Args: confirmation_id: The confirmation ID returned by submit_review, submit_meta_review, post_comment, or message_reviewer. """ item = pending_store.pop(confirmation_id) if not item: return f"Confirmation ID `{confirmation_id}` not found or already used. Please prepare the submission again." client = get_client() action = item["action"] payload = item["payload"] try: edit = _execute_note_edit(client, payload) # post_note_edit may return a dict or an Edit object if isinstance(edit, dict): note_id = edit.get("note", {}).get("id", "unknown") else: note_obj = getattr(edit, "note", None) note_id = getattr(note_obj, "id", "unknown") if note_obj else "unknown" action_labels = { "submit_review": "Review", "edit_review": "Review edit", "submit_meta_review": "Meta-review", "post_comment": "Comment", "message_reviewer": "Message", } label = action_labels.get(action, "Submission") return f"{label} posted successfully to OpenReview.\n\n**Note ID:** {note_id}\n**Action:** {action}" except Exception as e: pending_store.add(action=item["action"], payload=item["payload"], preview=item["preview"]) return f"Failed to submit: {e}\n\nThe submission has been preserved — you can try again."