# Submit independent Atomic Article review

Review the current validated candidate from a different authenticated actor. Acceptance requires at least 85/100, no automatic failures, the current candidate hash, and no more than three rounds.

- Exact name: `content_article_peer_review_submit`
- Category: Atomic Articles
- Required access: write
- Allowed agent roles: admin
- MCP endpoint: `https://api.funnels.akera.agency/`

## Annotations

- idempotentHint: true

## Input JSON Schema

```json
{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "minLength": 1
    },
    "batchId": {
      "type": "string",
      "minLength": 1
    },
    "resumeToken": {
      "type": "string",
      "minLength": 32
    },
    "expectedBatchVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "validationReceiptId": {
      "type": "string",
      "minLength": 1
    },
    "candidateHash": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 200
    },
    "scores": {
      "type": "object",
      "properties": {
        "extractionDepth": {
          "type": "integer",
          "minimum": 0,
          "maximum": 25
        },
        "sourceFidelity": {
          "type": "integer",
          "minimum": 0,
          "maximum": 25
        },
        "audienceOfferFit": {
          "type": "integer",
          "minimum": 0,
          "maximum": 20
        },
        "articleQuality": {
          "type": "integer",
          "minimum": 0,
          "maximum": 20
        },
        "batchDistinctness": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        }
      },
      "required": [
        "extractionDepth",
        "sourceFidelity",
        "audienceOfferFit",
        "articleQuality",
        "batchDistinctness"
      ]
    },
    "automaticFailures": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 500
      }
    },
    "feedback": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "criterion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "evidence": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "acceptanceCondition": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          }
        },
        "required": [
          "target",
          "criterion",
          "evidence",
          "acceptanceCondition"
        ]
      }
    }
  },
  "required": [
    "workspaceId",
    "batchId",
    "resumeToken",
    "expectedBatchVersion",
    "validationReceiptId",
    "candidateHash",
    "idempotencyKey",
    "scores",
    "automaticFailures",
    "feedback"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

## Call shape

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "content_article_peer_review_submit",
    "arguments": {}
  }
}
```
