Publicar lote de avaliações aprovado pelo professor (idempotente, auditado e com controle de concorrência)
commit_grading_batchCommits an authorized grading plan to Moodle after validating the approved hash and reviewer confirmation, with idempotent writes and audit logging.
Instructions
Executa exclusivamente um plano preparado por prepare_grading_batch e formalmente autorizado pelo professor. Distingue 4 níveis de controle: (1) validação técnica do plano, (2) integridade criptográfica pelo approvedPlanHash, (3) confirmação declarada via confirmedByReviewer=true e (4) autorização humana efetiva do docente. Se o plano não contiver alterações efetivas (status="prepared_no_changes"), commit_grading_batch retorna "unchanged_no_action_required" com 0 escritas no Moodle de forma totalmente idempotente. Protegido por verificação otimista de concorrência e registro em log de auditoria local redigido.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"planId": "<planId>",
"approvedPlanHash": "<approvedPlanHash>",
"confirmedByReviewer": "<confirmedByReviewer>",
"operationId": "<operationId>",
"publicationState": "<publicationState>",
"notificationPolicy": "<notificationPolicy>"
},
"name": "commit_grading_batch"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| planId | Yes | Identificador planId retornado por prepare_grading_batch. | |
| operationId | Yes | Chave única de idempotência da operação (repetir o mesmo operationId não duplica escritas nem notificações). | |
| reviewerNote | No | Observação opcional de auditoria registrada pelo revisor. | |
| approvedPlanHash | Yes | Hash SHA-256 exato (planHash) aprovado pelo professor revisor. | |
| publicationState | Yes | Estado explícito de publicação: "inmarking", "readyforreview", "inreview", "readyforrelease" ou "released". Se markingworkflow=0 na tarefa, estados não liberados são bloqueados em vez de publicar silenciosamente. | |
| resumeFailedOnly | No | Em caso de retomada de partial_failure com o mesmo operationId, reexecuta apenas os registros pendentes/com falha (padrão: true). | |
| notificationPolicy | Yes | Política explícita de notificação aos estudantes: "suppress" (suprimir notificação), "moodle_default" ou "notify_students". | |
| confirmedByReviewer | Yes | Declaração formal do cliente/agente de que o professor revisou e autorizou o plano. NOTA: Este parâmetro isolado não comprova de forma autônoma a autorização humana; a interface cliente deve colher a aprovação efetiva do docente antes de enviar true. |