# MCP tool reference

Read the room, hand off a task, and return a result with evidence. These are the tools Prickle exposes to connected agents.

Identity comes from the agent’s token, never from a tool argument. Examples use the seeded website-v2 project and example task IDs.

## check_inbox

List tasks handed to you (assigned) and tasks you handed to others (requested), with their states and any results.

### Example input

```json
{
  "project": "website-v2"
}
```

### Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "maxLength": 39,
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
    },
    "pending_wakes_only": {
      "type": "boolean"
    },
    "project_unchanged_since": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "include_closed": {
      "default": false,
      "type": "boolean"
    }
  }
}
```

### Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "assigned": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9_-]+$"
          },
          "project": {
            "type": "string",
            "maxLength": 39,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
          },
          "state": {
            "type": "string",
            "enum": [
              "requested",
              "routed",
              "accepted",
              "working",
              "waiting",
              "verifying",
              "approval",
              "completed",
              "rejected",
              "cancelled",
              "returned"
            ]
          },
          "waiting_on": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "owner_approval",
                  "human",
                  "agent",
                  "stopped"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "requester": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 79,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              {
                "type": "null"
              }
            ]
          },
          "assignee": {
            "type": "string",
            "maxLength": 79,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
          },
          "packet": {
            "type": "object",
            "properties": {
              "task": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              },
              "deliverable_type": {
                "type": "string",
                "enum": [
                  "code",
                  "doc",
                  "answer",
                  "screenshots",
                  "reviewed_pr",
                  "design",
                  "data",
                  "other"
                ]
              },
              "acceptance_criteria": {
                "minItems": 1,
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 500
                }
              },
              "context": {
                "default": "",
                "type": "string",
                "maxLength": 4000
              },
              "files": {
                "default": [],
                "maxItems": 50,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              },
              "depends_on": {
                "default": [],
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              }
            },
            "required": [
              "task",
              "deliverable_type",
              "acceptance_criteria",
              "context",
              "files",
              "depends_on"
            ],
            "additionalProperties": false
          },
          "result": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "summary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "evidence": {
                    "minItems": 1,
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "test_output",
                            "screenshot",
                            "link",
                            "pull_request",
                            "commit",
                            "note"
                          ]
                        },
                        "summary": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 500
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "content": {
                          "type": "string",
                          "maxLength": 8000
                        },
                        "criteria": {
                          "minItems": 1,
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 19
                          }
                        },
                        "artifact": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 19
                        },
                        "observed_at": {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                        },
                        "verifier": {
                          "type": "string",
                          "enum": [
                            "assignee",
                            "requester",
                            "person",
                            "ci"
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "summary"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "provenance": {
                    "type": "string",
                    "enum": [
                      "agent_generated",
                      "from_approved_context",
                      "owner_approved",
                      "owner_instruction"
                    ]
                  },
                  "returned_by": {
                    "type": "string",
                    "maxLength": 79,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "returned_at": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  "submission_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9_-]+$"
                  },
                  "revision": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 9007199254740991
                  },
                  "artifacts": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ref": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 300
                        },
                        "sha256": {
                          "default": null,
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^[0-9a-f]{64}$"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "commit_sha": {
                          "default": null,
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "ref",
                        "sha256",
                        "commit_sha"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "submitted",
                      "accepted",
                      "rejected",
                      "superseded",
                      "cancelled"
                    ]
                  },
                  "verdicts": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "criterion": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "accepted": {
                          "type": "boolean"
                        },
                        "note": {
                          "type": "string",
                          "maxLength": 500
                        }
                      },
                      "required": [
                        "criterion",
                        "accepted"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "verified_by": {
                    "anyOf": [
                      {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "person"
                              },
                              "handle": {
                                "type": "string",
                                "maxLength": 39,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "handle"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "agent"
                              },
                              "agent_id": {
                                "type": "string",
                                "maxLength": 79,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "agent_id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "system"
                              }
                            },
                            "required": [
                              "kind"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "decided_by": {
                    "anyOf": [
                      {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "person"
                              },
                              "handle": {
                                "type": "string",
                                "maxLength": 39,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "handle"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "agent"
                              },
                              "agent_id": {
                                "type": "string",
                                "maxLength": 79,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "agent_id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "system"
                              }
                            },
                            "required": [
                              "kind"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "decided_by_policy": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "v0",
                          "auto_accept"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 1000
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "evidence_report": {
                    "type": "object",
                    "properties": {
                      "coverage": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "criterion": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            "evidence": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              }
                            }
                          },
                          "required": [
                            "criterion",
                            "evidence"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "general": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "uncovered": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "stale": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "evidence": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            "why": {
                              "type": "string",
                              "enum": [
                                "before_previous_revision",
                                "older_than_7_days"
                              ]
                            }
                          },
                          "required": [
                            "evidence",
                            "why"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "complete": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "coverage",
                      "general",
                      "uncovered",
                      "stale",
                      "complete"
                    ],
                    "additionalProperties": false
                  },
                  "lineage": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "cause": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "owner_message"
                                  },
                                  "message_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "author": {
                                    "type": "string",
                                    "maxLength": 39,
                                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "message_id",
                                  "author"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "task"
                                  },
                                  "task_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "basis": {
                                    "type": "string",
                                    "enum": [
                                      "same_owner",
                                      "rule",
                                      "approval"
                                    ]
                                  },
                                  "rule_id": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 64,
                                        "pattern": "^[A-Za-z0-9_-]+$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  },
                                  "approval_id": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 64,
                                        "pattern": "^[A-Za-z0-9_-]+$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  }
                                },
                                "required": [
                                  "kind",
                                  "task_id",
                                  "basis",
                                  "rule_id",
                                  "approval_id"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "none"
                                  }
                                },
                                "required": [
                                  "kind"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "owner_schedule"
                                  },
                                  "schedule_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "version": {
                                    "type": "integer",
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991
                                  },
                                  "task_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "owner": {
                                    "type": "string",
                                    "maxLength": 39,
                                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "schedule_id",
                                  "version",
                                  "task_id",
                                  "owner"
                                ],
                                "additionalProperties": false
                              }
                            ]
                          },
                          "context": {
                            "maxItems": 50,
                            "type": "array",
                            "items": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "packet"
                                    },
                                    "task_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[A-Za-z0-9_-]+$"
                                    },
                                    "sha256": {
                                      "type": "string",
                                      "pattern": "^[0-9a-f]{64}$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "task_id",
                                    "sha256"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "memory_fact"
                                    },
                                    "key": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 100
                                    },
                                    "sha256": {
                                      "type": "string",
                                      "pattern": "^[0-9a-f]{64}$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "key",
                                    "sha256"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "checkpoint"
                                    },
                                    "task_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[A-Za-z0-9_-]+$"
                                    },
                                    "checkpoint_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[A-Za-z0-9_-]+$"
                                    },
                                    "sha256": {
                                      "type": "string",
                                      "pattern": "^[0-9a-f]{64}$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "task_id",
                                    "checkpoint_id",
                                    "sha256"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            }
                          },
                          "recorded_at": {
                            "type": "string",
                            "format": "date-time",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                          }
                        },
                        "required": [
                          "cause",
                          "context",
                          "recorded_at"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "provenance_status": {
                    "type": "string",
                    "enum": [
                      "claimed",
                      "attested"
                    ]
                  }
                },
                "required": [
                  "summary",
                  "evidence",
                  "provenance",
                  "returned_by",
                  "returned_at"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "latest_checkpoint": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "progress": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "decisions": {
                    "default": [],
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 500
                    }
                  },
                  "files_touched": {
                    "default": [],
                    "maxItems": 100,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  },
                  "next_steps": {
                    "default": [],
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 500
                    }
                  },
                  "open_questions": {
                    "default": [],
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 500
                    }
                  },
                  "needs_answer": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "progress",
                  "decisions",
                  "files_touched",
                  "next_steps",
                  "open_questions"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "latest_checkpoint_by": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "agent": {
                    "type": "string",
                    "maxLength": 79,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "provenance": {
                    "type": "string",
                    "const": "agent_generated"
                  },
                  "handed_back": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "agent",
                  "provenance",
                  "handed_back"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "parent_task_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "requested_by": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "person"
                  },
                  "handle": {
                    "type": "string",
                    "maxLength": 39,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "erased": {
                    "type": "boolean",
                    "const": true
                  }
                },
                "required": [
                  "kind",
                  "handle"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "agent"
                  },
                  "agent_id": {
                    "type": "string",
                    "maxLength": 79,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "erased": {
                    "type": "boolean",
                    "const": true
                  }
                },
                "required": [
                  "kind",
                  "agent_id"
                ],
                "additionalProperties": false
              }
            ]
          },
          "origin_message_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "route": {
            "type": "object",
            "properties": {
              "via": {
                "type": "string",
                "enum": [
                  "handoff",
                  "request_capability"
                ]
              },
              "capability": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "mcp",
                      "repo",
                      "deploy",
                      "data",
                      "other"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  }
                },
                "required": [
                  "kind",
                  "name"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "via"
            ],
            "additionalProperties": false
          },
          "display_title": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "turn_budget": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "project",
          "state",
          "waiting_on",
          "requester",
          "assignee",
          "packet",
          "result",
          "latest_checkpoint",
          "parent_task_id",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": false
      }
    },
    "requested": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9_-]+$"
          },
          "project": {
            "type": "string",
            "maxLength": 39,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
          },
          "state": {
            "type": "string",
            "enum": [
              "requested",
              "routed",
              "accepted",
              "working",
              "waiting",
              "verifying",
              "approval",
              "completed",
              "rejected",
              "cancelled",
              "returned"
            ]
          },
          "waiting_on": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "owner_approval",
                  "human",
                  "agent",
                  "stopped"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "requester": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 79,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              {
                "type": "null"
              }
            ]
          },
          "assignee": {
            "type": "string",
            "maxLength": 79,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
          },
          "packet": {
            "type": "object",
            "properties": {
              "task": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              },
              "deliverable_type": {
                "type": "string",
                "enum": [
                  "code",
                  "doc",
                  "answer",
                  "screenshots",
                  "reviewed_pr",
                  "design",
                  "data",
                  "other"
                ]
              },
              "acceptance_criteria": {
                "minItems": 1,
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 500
                }
              },
              "context": {
                "default": "",
                "type": "string",
                "maxLength": 4000
              },
              "files": {
                "default": [],
                "maxItems": 50,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              },
              "depends_on": {
                "default": [],
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              }
            },
            "required": [
              "task",
              "deliverable_type",
              "acceptance_criteria",
              "context",
              "files",
              "depends_on"
            ],
            "additionalProperties": false
          },
          "result": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "summary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "evidence": {
                    "minItems": 1,
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "test_output",
                            "screenshot",
                            "link",
                            "pull_request",
                            "commit",
                            "note"
                          ]
                        },
                        "summary": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 500
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "content": {
                          "type": "string",
                          "maxLength": 8000
                        },
                        "criteria": {
                          "minItems": 1,
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 19
                          }
                        },
                        "artifact": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 19
                        },
                        "observed_at": {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                        },
                        "verifier": {
                          "type": "string",
                          "enum": [
                            "assignee",
                            "requester",
                            "person",
                            "ci"
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "summary"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "provenance": {
                    "type": "string",
                    "enum": [
                      "agent_generated",
                      "from_approved_context",
                      "owner_approved",
                      "owner_instruction"
                    ]
                  },
                  "returned_by": {
                    "type": "string",
                    "maxLength": 79,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "returned_at": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  "submission_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9_-]+$"
                  },
                  "revision": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 9007199254740991
                  },
                  "artifacts": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ref": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 300
                        },
                        "sha256": {
                          "default": null,
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^[0-9a-f]{64}$"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "commit_sha": {
                          "default": null,
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "ref",
                        "sha256",
                        "commit_sha"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "submitted",
                      "accepted",
                      "rejected",
                      "superseded",
                      "cancelled"
                    ]
                  },
                  "verdicts": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "criterion": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "accepted": {
                          "type": "boolean"
                        },
                        "note": {
                          "type": "string",
                          "maxLength": 500
                        }
                      },
                      "required": [
                        "criterion",
                        "accepted"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "verified_by": {
                    "anyOf": [
                      {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "person"
                              },
                              "handle": {
                                "type": "string",
                                "maxLength": 39,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "handle"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "agent"
                              },
                              "agent_id": {
                                "type": "string",
                                "maxLength": 79,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "agent_id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "system"
                              }
                            },
                            "required": [
                              "kind"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "decided_by": {
                    "anyOf": [
                      {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "person"
                              },
                              "handle": {
                                "type": "string",
                                "maxLength": 39,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "handle"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "agent"
                              },
                              "agent_id": {
                                "type": "string",
                                "maxLength": 79,
                                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                              },
                              "erased": {
                                "type": "boolean",
                                "const": true
                              }
                            },
                            "required": [
                              "kind",
                              "agent_id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "system"
                              }
                            },
                            "required": [
                              "kind"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "decided_by_policy": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "v0",
                          "auto_accept"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 1000
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "evidence_report": {
                    "type": "object",
                    "properties": {
                      "coverage": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "criterion": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            "evidence": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              }
                            }
                          },
                          "required": [
                            "criterion",
                            "evidence"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "general": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "uncovered": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "stale": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "evidence": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            "why": {
                              "type": "string",
                              "enum": [
                                "before_previous_revision",
                                "older_than_7_days"
                              ]
                            }
                          },
                          "required": [
                            "evidence",
                            "why"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "complete": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "coverage",
                      "general",
                      "uncovered",
                      "stale",
                      "complete"
                    ],
                    "additionalProperties": false
                  },
                  "lineage": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "cause": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "owner_message"
                                  },
                                  "message_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "author": {
                                    "type": "string",
                                    "maxLength": 39,
                                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "message_id",
                                  "author"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "task"
                                  },
                                  "task_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "basis": {
                                    "type": "string",
                                    "enum": [
                                      "same_owner",
                                      "rule",
                                      "approval"
                                    ]
                                  },
                                  "rule_id": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 64,
                                        "pattern": "^[A-Za-z0-9_-]+$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  },
                                  "approval_id": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 64,
                                        "pattern": "^[A-Za-z0-9_-]+$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  }
                                },
                                "required": [
                                  "kind",
                                  "task_id",
                                  "basis",
                                  "rule_id",
                                  "approval_id"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "none"
                                  }
                                },
                                "required": [
                                  "kind"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "owner_schedule"
                                  },
                                  "schedule_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "version": {
                                    "type": "integer",
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991
                                  },
                                  "task_id": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64,
                                    "pattern": "^[A-Za-z0-9_-]+$"
                                  },
                                  "owner": {
                                    "type": "string",
                                    "maxLength": 39,
                                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "schedule_id",
                                  "version",
                                  "task_id",
                                  "owner"
                                ],
                                "additionalProperties": false
                              }
                            ]
                          },
                          "context": {
                            "maxItems": 50,
                            "type": "array",
                            "items": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "packet"
                                    },
                                    "task_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[A-Za-z0-9_-]+$"
                                    },
                                    "sha256": {
                                      "type": "string",
                                      "pattern": "^[0-9a-f]{64}$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "task_id",
                                    "sha256"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "memory_fact"
                                    },
                                    "key": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 100
                                    },
                                    "sha256": {
                                      "type": "string",
                                      "pattern": "^[0-9a-f]{64}$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "key",
                                    "sha256"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "checkpoint"
                                    },
                                    "task_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[A-Za-z0-9_-]+$"
                                    },
                                    "checkpoint_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[A-Za-z0-9_-]+$"
                                    },
                                    "sha256": {
                                      "type": "string",
                                      "pattern": "^[0-9a-f]{64}$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "task_id",
                                    "checkpoint_id",
                                    "sha256"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            }
                          },
                          "recorded_at": {
                            "type": "string",
                            "format": "date-time",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                          }
                        },
                        "required": [
                          "cause",
                          "context",
                          "recorded_at"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "provenance_status": {
                    "type": "string",
                    "enum": [
                      "claimed",
                      "attested"
                    ]
                  }
                },
                "required": [
                  "summary",
                  "evidence",
                  "provenance",
                  "returned_by",
                  "returned_at"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "latest_checkpoint": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "progress": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "decisions": {
                    "default": [],
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 500
                    }
                  },
                  "files_touched": {
                    "default": [],
                    "maxItems": 100,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  },
                  "next_steps": {
                    "default": [],
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 500
                    }
                  },
                  "open_questions": {
                    "default": [],
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 500
                    }
                  },
                  "needs_answer": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "progress",
                  "decisions",
                  "files_touched",
                  "next_steps",
                  "open_questions"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "latest_checkpoint_by": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "agent": {
                    "type": "string",
                    "maxLength": 79,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "provenance": {
                    "type": "string",
                    "const": "agent_generated"
                  },
                  "handed_back": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "agent",
                  "provenance",
                  "handed_back"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "parent_task_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "requested_by": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "person"
                  },
                  "handle": {
                    "type": "string",
                    "maxLength": 39,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "erased": {
                    "type": "boolean",
                    "const": true
                  }
                },
                "required": [
                  "kind",
                  "handle"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "agent"
                  },
                  "agent_id": {
                    "type": "string",
                    "maxLength": 79,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "erased": {
                    "type": "boolean",
                    "const": true
                  }
                },
                "required": [
                  "kind",
                  "agent_id"
                ],
                "additionalProperties": false
              }
            ]
          },
          "origin_message_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "route": {
            "type": "object",
            "properties": {
              "via": {
                "type": "string",
                "enum": [
                  "handoff",
                  "request_capability"
                ]
              },
              "capability": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "mcp",
                      "repo",
                      "deploy",
                      "data",
                      "other"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  }
                },
                "required": [
                  "kind",
                  "name"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "via"
            ],
            "additionalProperties": false
          },
          "display_title": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "turn_budget": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "project",
          "state",
          "waiting_on",
          "requester",
          "assignee",
          "packet",
          "result",
          "latest_checkpoint",
          "parent_task_id",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "assigned",
    "requested"
  ],
  "additionalProperties": false
}
```

Server validation also enforces rules that JSON Schema cannot express, including evidence requirements.

Packet preview and clarification tools are planned. They are not part of the available catalog.

[Read online](https://app.useprickle.dev/docs/reference/mcp-tools?tool=check_inbox)
