Skip to main content
Glama

tandem_work

Maintain a durable shared task and role-bound checklist for two agents, coordinating plan agreement, progress, submissions, and acceptance.

Instructions

Maintain one durable shared task and its role-bound checklist.

To create, send action="create", expected_revision=0, a unique operation_id, and plan; omit work_id. The plan must have one final integration step that depends directly or transitively on every other step, including investigations. For later mutations, get the card first and use its current revision as expected_revision. Use a new operation_id for a new or corrected request; reuse an ID only for an exact retry. list/get/history need no operation_id. Plan agreement, worker submission and independent acceptance are separate. Progress defaults to a bounded summary. Follow returned section/cursor pointers for omitted material; choose plan/step/full only when needed. Waiting observes committed changes, not permission to start an agent. Give after_revision the revision you last read: a card already past it returns at once instead of waiting for the next change. It is an observation baseline, never expected_revision, a claim, or permission to replay work. Autonomous grants and uncertain-attempt reconciliation are operator CLI actions.

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": {
      "request": "<request>"
    },
    "name": "tandem_work"
  }
}

Input Schema

NameRequiredDescriptionDefault
viewNosummary
limitNo
cursorNo
formatNojson
requestYesShared-task command. create requires plan, expected_revision=0, a stable operation_id, and no work_id. All other mutations require the current revision from get and a stable operation_id. list/get/history need no operation_id.
sectionNo
wait_secondsNo
after_revisionNo
include_snapshotsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.21.0
    • changedInput schema / properties / request / properties / plan / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "acceptance": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "acceptance_set": {
      -        "anyOf": [
      -          {
      -            "description": "The declared denominator. Its revision is its content, not a version number.",
      -            "properties": {
      -              "items": {
      -                "items": {
      -                  "properties": {
      -                    "id": {
      -                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                      "type": "string"
      -                    },
      -                    "obligations": {
      -                      "description": "Declared clauses. Naming none keeps the criterion one undecomposed unit; naming some means a mapping of the parent covers none of them.",
      -                      "items": {
      -                        "description": "One clause of a criterion, with the exact environment it is owed in.",
      -                        "properties": {
      -                          "environment": {
      -                            "patternProperties": {
      -                              "\\S": {
      -                                "maxLength": 200,
      -                                "type": "string"
      -                              }
      -                            },
      -                            "propertyNames": {
      -                              "maxLength": 60
      -                            },
      -                            "type": "object"
      -                          },
      -                          "id": {
      -                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                            "type": "string"
      -                          },
      -                          "text": {
      -                            "maxLength": 16000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "text"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 100,
      -                      "type": "array"
      -                    },
      -                    "text": {
      -                      "maxLength": 16000,
      -                      "pattern": "\\S",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "text"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 100,
      -                "type": "array"
      -              },
      -              "revision": {
      -                "pattern": "^[0-9a-f]{64}$",
      -                "type": "string"
      -              },
      -              "schema_version": {
      -                "const": 1,
      -                "default": 1,
      -                "type": "integer"
      -              },
      -              "set_id": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "set_id",
      -              "revision"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "constraints": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "context": {
      -        "default": "",
      -        "maxLength": 64000,
      -        "type": "string"
      -      },
      -      "goal": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "steps": {
      -        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      -        "items": {
      -          "properties": {
      -            "acceptance": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 100,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "acceptance_set": {
      -              "anyOf": [
      -                {
      -                  "description": "The declared denominator. Its revision is its content, not a version number.",
      -                  "properties": {
      -                    "items": {
      -                      "items": {
      -                        "properties": {
      -                          "id": {
      -                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                            "type": "string"
      -                          },
      -                          "obligations": {
      -                            "description": "Declared clauses. Naming none keeps the criterion one undecomposed unit; naming some means a mapping of the parent covers none of them.",
      -                            "items": {
      -                              "description": "One clause of a criterion, with the exact environment it is owed in.",
      -                              "properties": {
      -                                "environment": {
      -                                  "patternProperties": {
      -                                    "\\S": {
      -                                      "maxLength": 200,
      -                                      "type": "string"
      -                                    }
      -                                  },
      -                                  "propertyNames": {
      -                                    "maxLength": 60
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "id": {
      -                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                  "type": "string"
      -                                },
      -                                "text": {
      -                                  "maxLength": 16000,
      -                                  "pattern": "\\S",
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "id",
      -                                "text"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "maxItems": 100,
      -                            "type": "array"
      -                          },
      -                          "text": {
      -                            "maxLength": 16000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "text"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 100,
      -                      "type": "array"
      -                    },
      -                    "revision": {
      -                      "pattern": "^[0-9a-f]{64}$",
      -                      "type": "string"
      -                    },
      -                    "schema_version": {
      -                      "const": 1,
      -                      "default": 1,
      -                      "type": "integer"
      -                    },
      -                    "set_id": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "set_id",
      -                    "revision"
      -                  ],
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "depends_on": {
      -              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      -              "items": {
      -                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -                "type": "string"
      -              },
      -              "maxItems": 200,
      -              "type": "array"
      -            },
      -            "goal": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "id": {
      -              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -              "type": "string"
      -            },
      -            "owned_files": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 500,
      -              "type": "array"
      -            },
      -            "owner": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "requirements": {
      -              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      -              "properties": {
      -                "boundary_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "entry_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "live_path_evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "requires_shell": {
      -                  "default": false,
      -                  "type": "boolean"
      -                },
      -                "requires_write": {
      -                  "default": false,
      -                  "type": "boolean"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "review_context_paths": {
      -              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 256,
      -              "type": "array"
      -            },
      -            "review_requirements": {
      -              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      -              "properties": {
      -                "boundary_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "entry_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "live_path_evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "requires_shell": {
      -                  "default": false,
      -                  "type": "boolean"
      -                },
      -                "requires_write": {
      -                  "default": false,
      -                  "type": "boolean"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "review_verification": {
      -              "anyOf": [
      -                {
      -                  "description": "Explicit check ladder; later phases include earlier required checks.",
      -                  "properties": {
      -                    "acceptance_coverage": {
      -                      "default": "report_only",
      -                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      -                      "enum": [
      -                        "report_only",
      -                        "require_current_evidence"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "checks": {
      -                      "items": {
      -                        "properties": {
      -                          "acceptance_refs": {
      -                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      -                            "items": {
      -                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      -                              "properties": {
      -                                "criterion_id": {
      -                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                  "type": "string"
      -                                },
      -                                "obligation_id": {
      -                                  "anyOf": [
      -                                    {
      -                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                      "type": "string"
      -                                    },
      -                                    {
      -                                      "type": "null"
      -                                    }
      -                                  ],
      -                                  "default": null
      -                                },
      -                                "revision": {
      -                                  "pattern": "^[0-9a-f]{64}$",
      -                                  "type": "string"
      -                                },
      -                                "set_id": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "set_id",
      -                                "revision",
      -                                "criterion_id"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "maxItems": 200,
      -                            "type": "array"
      -                          },
      -                          "command": {
      -                            "anyOf": [
      -                              {
      -                                "maxLength": 2000,
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "criterion": {
      -                            "maxLength": 2000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "estimated_seconds": {
      -                            "anyOf": [
      -                              {
      -                                "maximum": 7200,
      -                                "minimum": 1,
      -                                "type": "integer"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "id": {
      -                            "maxLength": 100,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "phase": {
      -                            "default": "targeted",
      -                            "enum": [
      -                              "targeted",
      -                              "candidate",
      -                              "integration"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "requires_shell": {
      -                            "default": false,
      -                            "type": "boolean"
      -                          },
      -                          "scope": {
      -                            "anyOf": [
      -                              {
      -                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                                "properties": {
      -                                  "boundaries": {
      -                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                                    "items": {
      -                                      "maxLength": 2000,
      -                                      "pattern": "\\S",
      -                                      "type": "string"
      -                                    },
      -                                    "maxItems": 20,
      -                                    "type": "array"
      -                                  },
      -                                  "digest": {
      -                                    "pattern": "^[0-9a-f]{7,128}$",
      -                                    "type": "string"
      -                                  },
      -                                  "kind": {
      -                                    "enum": [
      -                                      "tree",
      -                                      "commit",
      -                                      "archive",
      -                                      "content"
      -                                    ],
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "kind",
      -                                  "digest"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null,
      -                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "criterion"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 50,
      -                      "type": "array"
      -                    },
      -                    "coverage_scope": {
      -                      "anyOf": [
      -                        {
      -                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                          "properties": {
      -                            "boundaries": {
      -                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                              "items": {
      -                                "maxLength": 2000,
      -                                "pattern": "\\S",
      -                                "type": "string"
      -                              },
      -                              "maxItems": 20,
      -                              "type": "array"
      -                            },
      -                            "digest": {
      -                              "pattern": "^[0-9a-f]{7,128}$",
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "tree",
      -                                "commit",
      -                                "archive",
      -                                "content"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "digest"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      -                    },
      -                    "preparation_seconds": {
      -                      "default": 0,
      -                      "maximum": 7200,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    "stage": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "reviewer": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "verification": {
      -              "anyOf": [
      -                {
      -                  "description": "Explicit check ladder; later phases include earlier required checks.",
      -                  "properties": {
      -                    "acceptance_coverage": {
      -                      "default": "report_only",
      -                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      -                      "enum": [
      -                        "report_only",
      -                        "require_current_evidence"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "checks": {
      -                      "items": {
      -                        "properties": {
      -                          "acceptance_refs": {
      -                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      -                            "items": {
      -                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      -                              "properties": {
      -                                "criterion_id": {
      -                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                  "type": "string"
      -                                },
      -                                "obligation_id": {
      -                                  "anyOf": [
      -                                    {
      -                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                      "type": "string"
      -                                    },
      -                                    {
      -                                      "type": "null"
      -                                    }
      -                                  ],
      -                                  "default": null
      -                                },
      -                                "revision": {
      -                                  "pattern": "^[0-9a-f]{64}$",
      -                                  "type": "string"
      -                                },
      -                                "set_id": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "set_id",
      -                                "revision",
      -                                "criterion_id"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "maxItems": 200,
      -                            "type": "array"
      -                          },
      -                          "command": {
      -                            "anyOf": [
      -                              {
      -                                "maxLength": 2000,
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "criterion": {
      -                            "maxLength": 2000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "estimated_seconds": {
      -                            "anyOf": [
      -                              {
      -                                "maximum": 7200,
      -                                "minimum": 1,
      -                                "type": "integer"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "id": {
      -                            "maxLength": 100,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "phase": {
      -                            "default": "targeted",
      -                            "enum": [
      -                              "targeted",
      -                              "candidate",
      -                              "integration"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "requires_shell": {
      -                            "default": false,
      -                            "type": "boolean"
      -                          },
      -                          "scope": {
      -                            "anyOf": [
      -                              {
      -                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                                "properties": {
      -                                  "boundaries": {
      -                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                                    "items": {
      -                                      "maxLength": 2000,
      -                                      "pattern": "\\S",
      -                                      "type": "string"
      -                                    },
      -                                    "maxItems": 20,
      -                                    "type": "array"
      -                                  },
      -                                  "digest": {
      -                                    "pattern": "^[0-9a-f]{7,128}$",
      -                                    "type": "string"
      -                                  },
      -                                  "kind": {
      -                                    "enum": [
      -                                      "tree",
      -                                      "commit",
      -                                      "archive",
      -                                      "content"
      -                                    ],
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "kind",
      -                                  "digest"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null,
      -                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "criterion"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 50,
      -                      "type": "array"
      -                    },
      -                    "coverage_scope": {
      -                      "anyOf": [
      -                        {
      -                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                          "properties": {
      -                            "boundaries": {
      -                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                              "items": {
      -                                "maxLength": 2000,
      -                                "pattern": "\\S",
      -                                "type": "string"
      -                              },
      -                              "maxItems": 20,
      -                              "type": "array"
      -                            },
      -                            "digest": {
      -                              "pattern": "^[0-9a-f]{7,128}$",
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "tree",
      -                                "commit",
      -                                "archive",
      -                                "content"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "digest"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      -                    },
      -                    "preparation_seconds": {
      -                      "default": 0,
      -                      "maximum": 7200,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    "stage": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "title",
      -            "goal",
      -            "owner",
      -            "reviewer",
      -            "acceptance"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 200,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "title": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "verification": {
      -        "anyOf": [
      -          {
      -            "description": "Explicit check ladder; later phases include earlier required checks.",
      -            "properties": {
      -              "acceptance_coverage": {
      -                "default": "report_only",
      -                "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      -                "enum": [
      -                  "report_only",
      -                  "require_current_evidence"
      -                ],
      -                "type": "string"
      -              },
      -              "checks": {
      -                "items": {
      -                  "properties": {
      -                    "acceptance_refs": {
      -                      "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      -                      "items": {
      -                        "description": "Points at one criterion or one of its obligations, at an exact revision.",
      -                        "properties": {
      -                          "criterion_id": {
      -                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                            "type": "string"
      -                          },
      -                          "obligation_id": {
      -                            "anyOf": [
      -                              {
      -                                "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "revision": {
      -                            "pattern": "^[0-9a-f]{64}$",
      -                            "type": "string"
      -                          },
      -                          "set_id": {
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "set_id",
      -                          "revision",
      -                          "criterion_id"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 200,
      -                      "type": "array"
      -                    },
      -                    "command": {
      -                      "anyOf": [
      -                        {
      -                          "maxLength": 2000,
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null
      -                    },
      -                    "criterion": {
      -                      "maxLength": 2000,
      -                      "pattern": "\\S",
      -                      "type": "string"
      -                    },
      -                    "estimated_seconds": {
      -                      "anyOf": [
      -                        {
      -                          "maximum": 7200,
      -                          "minimum": 1,
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null
      -                    },
      -                    "id": {
      -                      "maxLength": 100,
      -                      "pattern": "\\S",
      -                      "type": "string"
      -                    },
      -                    "phase": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "requires_shell": {
      -                      "default": false,
      -                      "type": "boolean"
      -                    },
      -                    "scope": {
      -                      "anyOf": [
      -                        {
      -                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                          "properties": {
      -                            "boundaries": {
      -                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                              "items": {
      -                                "maxLength": 2000,
      -                                "pattern": "\\S",
      -                                "type": "string"
      -                              },
      -                              "maxItems": 20,
      -                              "type": "array"
      -                            },
      -                            "digest": {
      -                              "pattern": "^[0-9a-f]{7,128}$",
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "tree",
      -                                "commit",
      -                                "archive",
      -                                "content"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "digest"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "criterion"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 50,
      -                "type": "array"
      -              },
      -              "coverage_scope": {
      -                "anyOf": [
      -                  {
      -                    "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                    "properties": {
      -                      "boundaries": {
      -                        "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                        "items": {
      -                          "maxLength": 2000,
      -                          "pattern": "\\S",
      -                          "type": "string"
      -                        },
      -                        "maxItems": 20,
      -                        "type": "array"
      -                      },
      -                      "digest": {
      -                        "pattern": "^[0-9a-f]{7,128}$",
      -                        "type": "string"
      -                      },
      -                      "kind": {
      -                        "enum": [
      -                          "tree",
      -                          "commit",
      -                          "archive",
      -                          "content"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "digest"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "default": null,
      -                "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      -              },
      -              "preparation_seconds": {
      -                "default": 0,
      -                "maximum": 7200,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "stage": {
      -                "default": "targeted",
      -                "enum": [
      -                  "targeted",
      -                  "candidate",
      -                  "integration"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "goal",
      -      "acceptance",
      -      "steps"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "acceptance": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "acceptance_set": {
      +        "anyOf": [
      +          {
      +            "description": "The declared denominator. Its revision is its content, not a version number.",
      +            "properties": {
      +              "items": {
      +                "items": {
      +                  "properties": {
      +                    "id": {
      +                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                      "type": "string"
      +                    },
      +                    "obligations": {
      +                      "description": "Declared clauses. Naming none keeps the criterion one undecomposed unit; naming some means a mapping of the parent covers none of them.",
      +                      "items": {
      +                        "description": "One clause of a criterion, with the exact environment it is owed in.",
      +                        "properties": {
      +                          "environment": {
      +                            "patternProperties": {
      +                              "\\S": {
      +                                "maxLength": 200,
      +                                "type": "string"
      +                              }
      +                            },
      +                            "propertyNames": {
      +                              "maxLength": 60
      +                            },
      +                            "type": "object"
      +                          },
      +                          "id": {
      +                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                            "type": "string"
      +                          },
      +                          "text": {
      +                            "maxLength": 16000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "text"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 100,
      +                      "type": "array"
      +                    },
      +                    "text": {
      +                      "maxLength": 16000,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "text"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "revision": {
      +                "pattern": "^[0-9a-f]{64}$",
      +                "type": "string"
      +              },
      +              "schema_version": {
      +                "const": 1,
      +                "default": 1,
      +                "type": "integer"
      +              },
      +              "set_id": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "set_id",
      +              "revision"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "constraints": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "context": {
      +        "default": "",
      +        "maxLength": 64000,
      +        "type": "string"
      +      },
      +      "goal": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "project_context_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "An existing published project context pinned to this plan revision. Implementation attempts receive that exact snapshot; independent snapshot review never does. `context` stays local explanation, not product policy."
      +      },
      +      "repository": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "The Git working tree this card belongs to, as a directory relative to the launch project root; null means the launch root itself. Both participants agree it in this plan, instead of inheriting wherever the client happened to start. `owned_files` and `review_context_paths` are relative to it. It is fixed permanently at the first claim or authorization, and only the launch root supports managed execution today."
      +      },
      +      "steps": {
      +        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      +        "items": {
      +          "properties": {
      +            "acceptance": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 100,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "acceptance_set": {
      +              "anyOf": [
      +                {
      +                  "description": "The declared denominator. Its revision is its content, not a version number.",
      +                  "properties": {
      +                    "items": {
      +                      "items": {
      +                        "properties": {
      +                          "id": {
      +                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                            "type": "string"
      +                          },
      +                          "obligations": {
      +                            "description": "Declared clauses. Naming none keeps the criterion one undecomposed unit; naming some means a mapping of the parent covers none of them.",
      +                            "items": {
      +                              "description": "One clause of a criterion, with the exact environment it is owed in.",
      +                              "properties": {
      +                                "environment": {
      +                                  "patternProperties": {
      +                                    "\\S": {
      +                                      "maxLength": 200,
      +                                      "type": "string"
      +                                    }
      +                                  },
      +                                  "propertyNames": {
      +                                    "maxLength": 60
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "text": {
      +                                  "maxLength": 16000,
      +                                  "pattern": "\\S",
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "id",
      +                                "text"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 100,
      +                            "type": "array"
      +                          },
      +                          "text": {
      +                            "maxLength": 16000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "text"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 100,
      +                      "type": "array"
      +                    },
      +                    "revision": {
      +                      "pattern": "^[0-9a-f]{64}$",
      +                      "type": "string"
      +                    },
      +                    "schema_version": {
      +                      "const": 1,
      +                      "default": 1,
      +                      "type": "integer"
      +                    },
      +                    "set_id": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "set_id",
      +                    "revision"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "depends_on": {
      +              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      +              "items": {
      +                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +                "type": "string"
      +              },
      +              "maxItems": 200,
      +              "type": "array"
      +            },
      +            "goal": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "id": {
      +              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +              "type": "string"
      +            },
      +            "owned_files": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 500,
      +              "type": "array"
      +            },
      +            "owner": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_context_paths": {
      +              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 256,
      +              "type": "array"
      +            },
      +            "review_requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "acceptance_coverage": {
      +                      "default": "report_only",
      +                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                      "enum": [
      +                        "report_only",
      +                        "require_current_evidence"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "acceptance_refs": {
      +                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                            "items": {
      +                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                              "properties": {
      +                                "criterion_id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "obligation_id": {
      +                                  "anyOf": [
      +                                    {
      +                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "null"
      +                                    }
      +                                  ],
      +                                  "default": null
      +                                },
      +                                "revision": {
      +                                  "pattern": "^[0-9a-f]{64}$",
      +                                  "type": "string"
      +                                },
      +                                "set_id": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "set_id",
      +                                "revision",
      +                                "criterion_id"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 200,
      +                            "type": "array"
      +                          },
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "coverage_scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "reviewer": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "title": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "acceptance_coverage": {
      +                      "default": "report_only",
      +                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                      "enum": [
      +                        "report_only",
      +                        "require_current_evidence"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "acceptance_refs": {
      +                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                            "items": {
      +                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                              "properties": {
      +                                "criterion_id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "obligation_id": {
      +                                  "anyOf": [
      +                                    {
      +                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "null"
      +                                    }
      +                                  ],
      +                                  "default": null
      +                                },
      +                                "revision": {
      +                                  "pattern": "^[0-9a-f]{64}$",
      +                                  "type": "string"
      +                                },
      +                                "set_id": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "set_id",
      +                                "revision",
      +                                "criterion_id"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 200,
      +                            "type": "array"
      +                          },
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "coverage_scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "title",
      +            "goal",
      +            "owner",
      +            "reviewer",
      +            "acceptance"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 200,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "title": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "verification": {
      +        "anyOf": [
      +          {
      +            "description": "Explicit check ladder; later phases include earlier required checks.",
      +            "properties": {
      +              "acceptance_coverage": {
      +                "default": "report_only",
      +                "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                "enum": [
      +                  "report_only",
      +                  "require_current_evidence"
      +                ],
      +                "type": "string"
      +              },
      +              "checks": {
      +                "items": {
      +                  "properties": {
      +                    "acceptance_refs": {
      +                      "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                      "items": {
      +                        "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                        "properties": {
      +                          "criterion_id": {
      +                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                            "type": "string"
      +                          },
      +                          "obligation_id": {
      +                            "anyOf": [
      +                              {
      +                                "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "revision": {
      +                            "pattern": "^[0-9a-f]{64}$",
      +                            "type": "string"
      +                          },
      +                          "set_id": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "set_id",
      +                          "revision",
      +                          "criterion_id"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 200,
      +                      "type": "array"
      +                    },
      +                    "command": {
      +                      "anyOf": [
      +                        {
      +                          "maxLength": 2000,
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null
      +                    },
      +                    "criterion": {
      +                      "maxLength": 2000,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    },
      +                    "estimated_seconds": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 7200,
      +                          "minimum": 1,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null
      +                    },
      +                    "id": {
      +                      "maxLength": 100,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    },
      +                    "phase": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "requires_shell": {
      +                      "default": false,
      +                      "type": "boolean"
      +                    },
      +                    "scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "criterion"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 50,
      +                "type": "array"
      +              },
      +              "coverage_scope": {
      +                "anyOf": [
      +                  {
      +                    "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                    "properties": {
      +                      "boundaries": {
      +                        "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                        "items": {
      +                          "maxLength": 2000,
      +                          "pattern": "\\S",
      +                          "type": "string"
      +                        },
      +                        "maxItems": 20,
      +                        "type": "array"
      +                      },
      +                      "digest": {
      +                        "pattern": "^[0-9a-f]{7,128}$",
      +                        "type": "string"
      +                      },
      +                      "kind": {
      +                        "enum": [
      +                          "tree",
      +                          "commit",
      +                          "archive",
      +                          "content"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "digest"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +              },
      +              "preparation_seconds": {
      +                "default": 0,
      +                "maximum": 7200,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "stage": {
      +                "default": "targeted",
      +                "enum": [
      +                  "targeted",
      +                  "candidate",
      +                  "integration"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "goal",
      +      "acceptance",
      +      "steps"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed2 schema fields changedv3.14.0
    • addedInput schema / properties / request / properties / check_runs
      Added value: +{
      +  "items": {
      +    "description": "One append-only execution record of a check against identified bytes.\n\nA run never changes a previous run: a later pass is a new record, and a\nfailure stays visible. The hash of the record makes it immutable; it does\nnot prove the command ran, which is why provenance stays participant_reported\nunless a code-owned runner observed the execution itself.",
      +    "properties": {
      +      "acceptance_refs": {
      +        "description": "What this observation claims to exercise. Recorded with the run, never attached to it afterwards.",
      +        "items": {
      +          "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +          "properties": {
      +            "criterion_id": {
      +              "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +              "type": "string"
      +            },
      +            "obligation_id": {
      +              "anyOf": [
      +                {
      +                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "revision": {
      +              "pattern": "^[0-9a-f]{64}$",
      +              "type": "string"
      +            },
      +            "set_id": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "set_id",
      +            "revision",
      +            "criterion_id"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 200,
      +        "type": "array"
      +      },
      +      "check_id": {
      +        "maxLength": 200,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "check_revision": {
      +        "anyOf": [
      +          {
      +            "pattern": "^[0-9a-f]{64}$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Identity of the check declaration this run observed. A later edit to that declaration leaves this run as history rather than current credit."
      +      },
      +      "command": {
      +        "anyOf": [
      +          {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "criterion": {
      +        "maxLength": 2000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "ended_at": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "environment": {
      +        "patternProperties": {
      +          "\\S": {
      +            "maxLength": 200,
      +            "type": "string"
      +          }
      +        },
      +        "propertyNames": {
      +          "maxLength": 60
      +        },
      +        "type": "object"
      +      },
      +      "note": {
      +        "default": "",
      +        "maxLength": 4000,
      +        "type": "string"
      +      },
      +      "output_artifact_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "provenance": {
      +        "default": "participant_reported",
      +        "enum": [
      +          "participant_reported",
      +          "machine_observed"
      +        ],
      +        "type": "string"
      +      },
      +      "result": {
      +        "enum": [
      +          "passed",
      +          "failed",
      +          "not_run"
      +        ],
      +        "type": "string"
      +      },
      +      "role": {
      +        "enum": [
      +          "author",
      +          "reviewer",
      +          "integrator",
      +          "operator"
      +        ],
      +        "type": "string"
      +      },
      +      "run_id": {
      +        "description": "Stable identity chosen by the recorder; exact report retries must repeat it.",
      +        "type": "string"
      +      },
      +      "scope": {
      +        "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +        "properties": {
      +          "boundaries": {
      +            "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +            "items": {
      +              "maxLength": 2000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "maxItems": 20,
      +            "type": "array"
      +          },
      +          "digest": {
      +            "pattern": "^[0-9a-f]{7,128}$",
      +            "type": "string"
      +          },
      +          "kind": {
      +            "enum": [
      +              "tree",
      +              "commit",
      +              "archive",
      +              "content"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "digest"
      +        ],
      +        "type": "object"
      +      },
      +      "started_at": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "supersedes": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Earlier run_id this run replaces; honoured only for the same criterion, role, bytes, command and environment."
      +      }
      +    },
      +    "required": [
      +      "check_id",
      +      "run_id",
      +      "criterion",
      +      "role",
      +      "scope",
      +      "result"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 200,
      +  "type": "array"
      +}
    • changedInput schema / properties / request / properties / plan / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "acceptance": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "constraints": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "context": {
      -        "default": "",
      -        "maxLength": 64000,
      -        "type": "string"
      -      },
      -      "goal": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "steps": {
      -        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      -        "items": {
      -          "properties": {
      -            "acceptance": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 100,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "depends_on": {
      -              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      -              "items": {
      -                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -                "type": "string"
      -              },
      -              "maxItems": 200,
      -              "type": "array"
      -            },
      -            "goal": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "id": {
      -              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -              "type": "string"
      -            },
      -            "owned_files": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 500,
      -              "type": "array"
      -            },
      -            "owner": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "requirements": {
      -              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      -              "properties": {
      -                "boundary_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "entry_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "live_path_evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "requires_shell": {
      -                  "default": false,
      -                  "type": "boolean"
      -                },
      -                "requires_write": {
      -                  "default": false,
      -                  "type": "boolean"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "review_context_paths": {
      -              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 256,
      -              "type": "array"
      -            },
      -            "review_requirements": {
      -              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      -              "properties": {
      -                "boundary_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "entry_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "live_path_evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "requires_shell": {
      -                  "default": false,
      -                  "type": "boolean"
      -                },
      -                "requires_write": {
      -                  "default": false,
      -                  "type": "boolean"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "review_verification": {
      -              "anyOf": [
      -                {
      -                  "description": "Explicit check ladder; later phases include earlier required checks.",
      -                  "properties": {
      -                    "acceptance_coverage": {
      -                      "default": "report_only",
      -                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      -                      "enum": [
      -                        "report_only",
      -                        "require_current_evidence"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "checks": {
      -                      "items": {
      -                        "properties": {
      -                          "acceptance_refs": {
      -                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      -                            "items": {
      -                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      -                              "properties": {
      -                                "criterion_id": {
      -                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                  "type": "string"
      -                                },
      -                                "obligation_id": {
      -                                  "anyOf": [
      -                                    {
      -                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                      "type": "string"
      -                                    },
      -                                    {
      -                                      "type": "null"
      -                                    }
      -                                  ],
      -                                  "default": null
      -                                },
      -                                "revision": {
      -                                  "pattern": "^[0-9a-f]{64}$",
      -                                  "type": "string"
      -                                },
      -                                "set_id": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "set_id",
      -                                "revision",
      -                                "criterion_id"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "maxItems": 200,
      -                            "type": "array"
      -                          },
      -                          "command": {
      -                            "anyOf": [
      -                              {
      -                                "maxLength": 2000,
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "criterion": {
      -                            "maxLength": 2000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "estimated_seconds": {
      -                            "anyOf": [
      -                              {
      -                                "maximum": 7200,
      -                                "minimum": 1,
      -                                "type": "integer"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "id": {
      -                            "maxLength": 100,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "phase": {
      -                            "default": "targeted",
      -                            "enum": [
      -                              "targeted",
      -                              "candidate",
      -                              "integration"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "requires_shell": {
      -                            "default": false,
      -                            "type": "boolean"
      -                          },
      -                          "scope": {
      -                            "anyOf": [
      -                              {
      -                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                                "properties": {
      -                                  "boundaries": {
      -                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                                    "items": {
      -                                      "maxLength": 2000,
      -                                      "pattern": "\\S",
      -                                      "type": "string"
      -                                    },
      -                                    "maxItems": 20,
      -                                    "type": "array"
      -                                  },
      -                                  "digest": {
      -                                    "pattern": "^[0-9a-f]{7,128}$",
      -                                    "type": "string"
      -                                  },
      -                                  "kind": {
      -                                    "enum": [
      -                                      "tree",
      -                                      "commit",
      -                                      "archive",
      -                                      "content"
      -                                    ],
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "kind",
      -                                  "digest"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null,
      -                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "criterion"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 50,
      -                      "type": "array"
      -                    },
      -                    "coverage_scope": {
      -                      "anyOf": [
      -                        {
      -                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                          "properties": {
      -                            "boundaries": {
      -                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                              "items": {
      -                                "maxLength": 2000,
      -                                "pattern": "\\S",
      -                                "type": "string"
      -                              },
      -                              "maxItems": 20,
      -                              "type": "array"
      -                            },
      -                            "digest": {
      -                              "pattern": "^[0-9a-f]{7,128}$",
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "tree",
      -                                "commit",
      -                                "archive",
      -                                "content"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "digest"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      -                    },
      -                    "preparation_seconds": {
      -                      "default": 0,
      -                      "maximum": 7200,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    "stage": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "reviewer": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "verification": {
      -              "anyOf": [
      -                {
      -                  "description": "Explicit check ladder; later phases include earlier required checks.",
      -                  "properties": {
      -                    "acceptance_coverage": {
      -                      "default": "report_only",
      -                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      -                      "enum": [
      -                        "report_only",
      -                        "require_current_evidence"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "checks": {
      -                      "items": {
      -                        "properties": {
      -                          "acceptance_refs": {
      -                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      -                            "items": {
      -                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      -                              "properties": {
      -                                "criterion_id": {
      -                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                  "type": "string"
      -                                },
      -                                "obligation_id": {
      -                                  "anyOf": [
      -                                    {
      -                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      -                                      "type": "string"
      -                                    },
      -                                    {
      -                                      "type": "null"
      -                                    }
      -                                  ],
      -                                  "default": null
      -                                },
      -                                "revision": {
      -                                  "pattern": "^[0-9a-f]{64}$",
      -                                  "type": "string"
      -                                },
      -                                "set_id": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "set_id",
      -                                "revision",
      -                                "criterion_id"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "maxItems": 200,
      -                            "type": "array"
      -                          },
      -                          "command": {
      -                            "anyOf": [
      -                              {
      -                                "maxLength": 2000,
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "criterion": {
      -                            "maxLength": 2000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "estimated_seconds": {
      -                            "anyOf": [
      -                              {
      -                                "maximum": 7200,
      -                                "minimum": 1,
      -                                "type": "integer"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "id": {
      -                            "maxLength": 100,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "phase": {
      -                            "default": "targeted",
      -                            "enum": [
      -                              "targeted",
      -                              "candidate",
      -                              "integration"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "requires_shell": {
      -                            "default": false,
      -                            "type": "boolean"
      -                          },
      -                          "scope": {
      -                            "anyOf": [
      -                              {
      -                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                                "properties": {
      -                                  "boundaries": {
      -                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                                    "items": {
      -                                      "maxLength": 2000,
      -                                      "pattern": "\\S",
      -                                      "type": "string"
      -                                    },
      -                                    "maxItems": 20,
      -                                    "type": "array"
      -                                  },
      -                                  "digest": {
      -                                    "pattern": "^[0-9a-f]{7,128}$",
      -                                    "type": "string"
      -                                  },
      -                                  "kind": {
      -                                    "enum": [
      -                                      "tree",
      -                                      "commit",
      -                                      "archive",
      -                                      "content"
      -                                    ],
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "kind",
      -                                  "digest"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null,
      -                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "criterion"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 50,
      -                      "type": "array"
      -                    },
      -                    "coverage_scope": {
      -                      "anyOf": [
      -                        {
      -                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                          "properties": {
      -                            "boundaries": {
      -                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                              "items": {
      -                                "maxLength": 2000,
      -                                "pattern": "\\S",
      -                                "type": "string"
      -                              },
      -                              "maxItems": 20,
      -                              "type": "array"
      -                            },
      -                            "digest": {
      -                              "pattern": "^[0-9a-f]{7,128}$",
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "tree",
      -                                "commit",
      -                                "archive",
      -                                "content"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "digest"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      -                    },
      -                    "preparation_seconds": {
      -                      "default": 0,
      -                      "maximum": 7200,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    "stage": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "title",
      -            "goal",
      -            "owner",
      -            "reviewer",
      -            "acceptance"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 200,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "title": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "goal",
      -      "acceptance",
      -      "steps"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "acceptance": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "acceptance_set": {
      +        "anyOf": [
      +          {
      +            "description": "The declared denominator. Its revision is its content, not a version number.",
      +            "properties": {
      +              "items": {
      +                "items": {
      +                  "properties": {
      +                    "id": {
      +                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                      "type": "string"
      +                    },
      +                    "obligations": {
      +                      "description": "Declared clauses. Naming none keeps the criterion one undecomposed unit; naming some means a mapping of the parent covers none of them.",
      +                      "items": {
      +                        "description": "One clause of a criterion, with the exact environment it is owed in.",
      +                        "properties": {
      +                          "environment": {
      +                            "patternProperties": {
      +                              "\\S": {
      +                                "maxLength": 200,
      +                                "type": "string"
      +                              }
      +                            },
      +                            "propertyNames": {
      +                              "maxLength": 60
      +                            },
      +                            "type": "object"
      +                          },
      +                          "id": {
      +                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                            "type": "string"
      +                          },
      +                          "text": {
      +                            "maxLength": 16000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "text"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 100,
      +                      "type": "array"
      +                    },
      +                    "text": {
      +                      "maxLength": 16000,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "text"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "revision": {
      +                "pattern": "^[0-9a-f]{64}$",
      +                "type": "string"
      +              },
      +              "schema_version": {
      +                "const": 1,
      +                "default": 1,
      +                "type": "integer"
      +              },
      +              "set_id": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "set_id",
      +              "revision"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "constraints": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "context": {
      +        "default": "",
      +        "maxLength": 64000,
      +        "type": "string"
      +      },
      +      "goal": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "steps": {
      +        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      +        "items": {
      +          "properties": {
      +            "acceptance": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 100,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "acceptance_set": {
      +              "anyOf": [
      +                {
      +                  "description": "The declared denominator. Its revision is its content, not a version number.",
      +                  "properties": {
      +                    "items": {
      +                      "items": {
      +                        "properties": {
      +                          "id": {
      +                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                            "type": "string"
      +                          },
      +                          "obligations": {
      +                            "description": "Declared clauses. Naming none keeps the criterion one undecomposed unit; naming some means a mapping of the parent covers none of them.",
      +                            "items": {
      +                              "description": "One clause of a criterion, with the exact environment it is owed in.",
      +                              "properties": {
      +                                "environment": {
      +                                  "patternProperties": {
      +                                    "\\S": {
      +                                      "maxLength": 200,
      +                                      "type": "string"
      +                                    }
      +                                  },
      +                                  "propertyNames": {
      +                                    "maxLength": 60
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "text": {
      +                                  "maxLength": 16000,
      +                                  "pattern": "\\S",
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "id",
      +                                "text"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 100,
      +                            "type": "array"
      +                          },
      +                          "text": {
      +                            "maxLength": 16000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "text"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 100,
      +                      "type": "array"
      +                    },
      +                    "revision": {
      +                      "pattern": "^[0-9a-f]{64}$",
      +                      "type": "string"
      +                    },
      +                    "schema_version": {
      +                      "const": 1,
      +                      "default": 1,
      +                      "type": "integer"
      +                    },
      +                    "set_id": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "set_id",
      +                    "revision"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "depends_on": {
      +              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      +              "items": {
      +                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +                "type": "string"
      +              },
      +              "maxItems": 200,
      +              "type": "array"
      +            },
      +            "goal": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "id": {
      +              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +              "type": "string"
      +            },
      +            "owned_files": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 500,
      +              "type": "array"
      +            },
      +            "owner": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_context_paths": {
      +              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 256,
      +              "type": "array"
      +            },
      +            "review_requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "acceptance_coverage": {
      +                      "default": "report_only",
      +                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                      "enum": [
      +                        "report_only",
      +                        "require_current_evidence"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "acceptance_refs": {
      +                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                            "items": {
      +                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                              "properties": {
      +                                "criterion_id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "obligation_id": {
      +                                  "anyOf": [
      +                                    {
      +                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "null"
      +                                    }
      +                                  ],
      +                                  "default": null
      +                                },
      +                                "revision": {
      +                                  "pattern": "^[0-9a-f]{64}$",
      +                                  "type": "string"
      +                                },
      +                                "set_id": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "set_id",
      +                                "revision",
      +                                "criterion_id"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 200,
      +                            "type": "array"
      +                          },
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "coverage_scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "reviewer": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "title": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "acceptance_coverage": {
      +                      "default": "report_only",
      +                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                      "enum": [
      +                        "report_only",
      +                        "require_current_evidence"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "acceptance_refs": {
      +                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                            "items": {
      +                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                              "properties": {
      +                                "criterion_id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "obligation_id": {
      +                                  "anyOf": [
      +                                    {
      +                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "null"
      +                                    }
      +                                  ],
      +                                  "default": null
      +                                },
      +                                "revision": {
      +                                  "pattern": "^[0-9a-f]{64}$",
      +                                  "type": "string"
      +                                },
      +                                "set_id": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "set_id",
      +                                "revision",
      +                                "criterion_id"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 200,
      +                            "type": "array"
      +                          },
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "coverage_scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "title",
      +            "goal",
      +            "owner",
      +            "reviewer",
      +            "acceptance"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 200,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "title": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "verification": {
      +        "anyOf": [
      +          {
      +            "description": "Explicit check ladder; later phases include earlier required checks.",
      +            "properties": {
      +              "acceptance_coverage": {
      +                "default": "report_only",
      +                "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                "enum": [
      +                  "report_only",
      +                  "require_current_evidence"
      +                ],
      +                "type": "string"
      +              },
      +              "checks": {
      +                "items": {
      +                  "properties": {
      +                    "acceptance_refs": {
      +                      "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                      "items": {
      +                        "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                        "properties": {
      +                          "criterion_id": {
      +                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                            "type": "string"
      +                          },
      +                          "obligation_id": {
      +                            "anyOf": [
      +                              {
      +                                "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "revision": {
      +                            "pattern": "^[0-9a-f]{64}$",
      +                            "type": "string"
      +                          },
      +                          "set_id": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "set_id",
      +                          "revision",
      +                          "criterion_id"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 200,
      +                      "type": "array"
      +                    },
      +                    "command": {
      +                      "anyOf": [
      +                        {
      +                          "maxLength": 2000,
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null
      +                    },
      +                    "criterion": {
      +                      "maxLength": 2000,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    },
      +                    "estimated_seconds": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 7200,
      +                          "minimum": 1,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null
      +                    },
      +                    "id": {
      +                      "maxLength": 100,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    },
      +                    "phase": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "requires_shell": {
      +                      "default": false,
      +                      "type": "boolean"
      +                    },
      +                    "scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "criterion"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 50,
      +                "type": "array"
      +              },
      +              "coverage_scope": {
      +                "anyOf": [
      +                  {
      +                    "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                    "properties": {
      +                      "boundaries": {
      +                        "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                        "items": {
      +                          "maxLength": 2000,
      +                          "pattern": "\\S",
      +                          "type": "string"
      +                        },
      +                        "maxItems": 20,
      +                        "type": "array"
      +                      },
      +                      "digest": {
      +                        "pattern": "^[0-9a-f]{7,128}$",
      +                        "type": "string"
      +                      },
      +                      "kind": {
      +                        "enum": [
      +                          "tree",
      +                          "commit",
      +                          "archive",
      +                          "content"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "digest"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +              },
      +              "preparation_seconds": {
      +                "default": 0,
      +                "maximum": 7200,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "stage": {
      +                "default": "targeted",
      +                "enum": [
      +                  "targeted",
      +                  "candidate",
      +                  "integration"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "goal",
      +      "acceptance",
      +      "steps"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed3 schema fields changedv3.10.0
    • addedInput schema / properties / after_revision
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • changedInput schema / properties / request / properties / plan / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "acceptance": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "constraints": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "context": {
      -        "default": "",
      -        "maxLength": 64000,
      -        "type": "string"
      -      },
      -      "goal": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "steps": {
      -        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      -        "items": {
      -          "properties": {
      -            "acceptance": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 100,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "depends_on": {
      -              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      -              "items": {
      -                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -                "type": "string"
      -              },
      -              "maxItems": 200,
      -              "type": "array"
      -            },
      -            "goal": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "id": {
      -              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -              "type": "string"
      -            },
      -            "owned_files": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 500,
      -              "type": "array"
      -            },
      -            "owner": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "requirements": {
      -              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      -              "properties": {
      -                "boundary_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "entry_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "live_path_evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "requires_shell": {
      -                  "default": false,
      -                  "type": "boolean"
      -                },
      -                "requires_write": {
      -                  "default": false,
      -                  "type": "boolean"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "review_context_paths": {
      -              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 256,
      -              "type": "array"
      -            },
      -            "review_requirements": {
      -              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      -              "properties": {
      -                "boundary_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "entry_paths": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 100,
      -                  "type": "array"
      -                },
      -                "live_path_evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "requires_shell": {
      -                  "default": false,
      -                  "type": "boolean"
      -                },
      -                "requires_write": {
      -                  "default": false,
      -                  "type": "boolean"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "review_verification": {
      -              "anyOf": [
      -                {
      -                  "description": "Explicit check ladder; later phases include earlier required checks.",
      -                  "properties": {
      -                    "checks": {
      -                      "items": {
      -                        "properties": {
      -                          "command": {
      -                            "anyOf": [
      -                              {
      -                                "maxLength": 2000,
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "criterion": {
      -                            "maxLength": 2000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "estimated_seconds": {
      -                            "anyOf": [
      -                              {
      -                                "maximum": 7200,
      -                                "minimum": 1,
      -                                "type": "integer"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "id": {
      -                            "maxLength": 100,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "phase": {
      -                            "default": "targeted",
      -                            "enum": [
      -                              "targeted",
      -                              "candidate",
      -                              "integration"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "requires_shell": {
      -                            "default": false,
      -                            "type": "boolean"
      -                          },
      -                          "scope": {
      -                            "anyOf": [
      -                              {
      -                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                                "properties": {
      -                                  "boundaries": {
      -                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                                    "items": {
      -                                      "maxLength": 2000,
      -                                      "pattern": "\\S",
      -                                      "type": "string"
      -                                    },
      -                                    "maxItems": 20,
      -                                    "type": "array"
      -                                  },
      -                                  "digest": {
      -                                    "pattern": "^[0-9a-f]{7,128}$",
      -                                    "type": "string"
      -                                  },
      -                                  "kind": {
      -                                    "enum": [
      -                                      "tree",
      -                                      "commit",
      -                                      "archive",
      -                                      "content"
      -                                    ],
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "kind",
      -                                  "digest"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null,
      -                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "criterion"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 50,
      -                      "type": "array"
      -                    },
      -                    "preparation_seconds": {
      -                      "default": 0,
      -                      "maximum": 7200,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    "stage": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "reviewer": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "verification": {
      -              "anyOf": [
      -                {
      -                  "description": "Explicit check ladder; later phases include earlier required checks.",
      -                  "properties": {
      -                    "checks": {
      -                      "items": {
      -                        "properties": {
      -                          "command": {
      -                            "anyOf": [
      -                              {
      -                                "maxLength": 2000,
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "criterion": {
      -                            "maxLength": 2000,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "estimated_seconds": {
      -                            "anyOf": [
      -                              {
      -                                "maximum": 7200,
      -                                "minimum": 1,
      -                                "type": "integer"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null
      -                          },
      -                          "id": {
      -                            "maxLength": 100,
      -                            "pattern": "\\S",
      -                            "type": "string"
      -                          },
      -                          "phase": {
      -                            "default": "targeted",
      -                            "enum": [
      -                              "targeted",
      -                              "candidate",
      -                              "integration"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "requires_shell": {
      -                            "default": false,
      -                            "type": "boolean"
      -                          },
      -                          "scope": {
      -                            "anyOf": [
      -                              {
      -                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      -                                "properties": {
      -                                  "boundaries": {
      -                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      -                                    "items": {
      -                                      "maxLength": 2000,
      -                                      "pattern": "\\S",
      -                                      "type": "string"
      -                                    },
      -                                    "maxItems": 20,
      -                                    "type": "array"
      -                                  },
      -                                  "digest": {
      -                                    "pattern": "^[0-9a-f]{7,128}$",
      -                                    "type": "string"
      -                                  },
      -                                  "kind": {
      -                                    "enum": [
      -                                      "tree",
      -                                      "commit",
      -                                      "archive",
      -                                      "content"
      -                                    ],
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "kind",
      -                                  "digest"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "default": null,
      -                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      -                          }
      -                        },
      -                        "required": [
      -                          "id",
      -                          "criterion"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "maxItems": 50,
      -                      "type": "array"
      -                    },
      -                    "preparation_seconds": {
      -                      "default": 0,
      -                      "maximum": 7200,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    "stage": {
      -                      "default": "targeted",
      -                      "enum": [
      -                        "targeted",
      -                        "candidate",
      -                        "integration"
      -                      ],
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "title",
      -            "goal",
      -            "owner",
      -            "reviewer",
      -            "acceptance"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 200,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "title": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "goal",
      -      "acceptance",
      -      "steps"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "acceptance": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "constraints": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "context": {
      +        "default": "",
      +        "maxLength": 64000,
      +        "type": "string"
      +      },
      +      "goal": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "steps": {
      +        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      +        "items": {
      +          "properties": {
      +            "acceptance": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 100,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "depends_on": {
      +              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      +              "items": {
      +                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +                "type": "string"
      +              },
      +              "maxItems": 200,
      +              "type": "array"
      +            },
      +            "goal": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "id": {
      +              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +              "type": "string"
      +            },
      +            "owned_files": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 500,
      +              "type": "array"
      +            },
      +            "owner": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_context_paths": {
      +              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 256,
      +              "type": "array"
      +            },
      +            "review_requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "acceptance_coverage": {
      +                      "default": "report_only",
      +                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                      "enum": [
      +                        "report_only",
      +                        "require_current_evidence"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "acceptance_refs": {
      +                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                            "items": {
      +                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                              "properties": {
      +                                "criterion_id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "obligation_id": {
      +                                  "anyOf": [
      +                                    {
      +                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "null"
      +                                    }
      +                                  ],
      +                                  "default": null
      +                                },
      +                                "revision": {
      +                                  "pattern": "^[0-9a-f]{64}$",
      +                                  "type": "string"
      +                                },
      +                                "set_id": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "set_id",
      +                                "revision",
      +                                "criterion_id"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 200,
      +                            "type": "array"
      +                          },
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "coverage_scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "reviewer": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "title": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "acceptance_coverage": {
      +                      "default": "report_only",
      +                      "description": "report_only surfaces gaps and refuses nothing. require_current_evidence additionally refuses a success report while a declared evidence unit lacks applicable current passing evidence.",
      +                      "enum": [
      +                        "report_only",
      +                        "require_current_evidence"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "acceptance_refs": {
      +                            "description": "Which declared criteria or obligations this check is intended to exercise. An assertion of intent, never of execution or sufficiency.",
      +                            "items": {
      +                              "description": "Points at one criterion or one of its obligations, at an exact revision.",
      +                              "properties": {
      +                                "criterion_id": {
      +                                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                  "type": "string"
      +                                },
      +                                "obligation_id": {
      +                                  "anyOf": [
      +                                    {
      +                                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._\\-]{0,99}$",
      +                                      "type": "string"
      +                                    },
      +                                    {
      +                                      "type": "null"
      +                                    }
      +                                  ],
      +                                  "default": null
      +                                },
      +                                "revision": {
      +                                  "pattern": "^[0-9a-f]{64}$",
      +                                  "type": "string"
      +                                },
      +                                "set_id": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "set_id",
      +                                "revision",
      +                                "criterion_id"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "maxItems": 200,
      +                            "type": "array"
      +                          },
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "coverage_scope": {
      +                      "anyOf": [
      +                        {
      +                          "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                          "properties": {
      +                            "boundaries": {
      +                              "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                              "items": {
      +                                "maxLength": 2000,
      +                                "pattern": "\\S",
      +                                "type": "string"
      +                              },
      +                              "maxItems": 20,
      +                              "type": "array"
      +                            },
      +                            "digest": {
      +                              "pattern": "^[0-9a-f]{7,128}$",
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "tree",
      +                                "commit",
      +                                "archive",
      +                                "content"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "digest"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ],
      +                      "default": null,
      +                      "description": "The output bytes this coverage assessment is about. A declaration, not an observation of the filesystem."
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "title",
      +            "goal",
      +            "owner",
      +            "reviewer",
      +            "acceptance"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 200,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "title": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "goal",
      +      "acceptance",
      +      "steps"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / wait_seconds / maximum
      Previous value: -25New value: +1200
  4. Changed2 schema fields changedv3.8.0
    • changedInput schema / properties / request / properties / plan / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "acceptance": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "constraints": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "context": {
      -        "default": "",
      -        "maxLength": 64000,
      -        "type": "string"
      -      },
      -      "goal": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "steps": {
      -        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      -        "items": {
      -          "properties": {
      -            "acceptance": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 100,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "depends_on": {
      -              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      -              "items": {
      -                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -                "type": "string"
      -              },
      -              "maxItems": 200,
      -              "type": "array"
      -            },
      -            "goal": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "id": {
      -              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -              "type": "string"
      -            },
      -            "owned_files": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 500,
      -              "type": "array"
      -            },
      -            "owner": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "review_context_paths": {
      -              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 256,
      -              "type": "array"
      -            },
      -            "reviewer": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "title",
      -            "goal",
      -            "owner",
      -            "reviewer",
      -            "acceptance"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 200,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "title": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "goal",
      -      "acceptance",
      -      "steps"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "acceptance": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "constraints": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "context": {
      +        "default": "",
      +        "maxLength": 64000,
      +        "type": "string"
      +      },
      +      "goal": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "steps": {
      +        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      +        "items": {
      +          "properties": {
      +            "acceptance": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 100,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "depends_on": {
      +              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      +              "items": {
      +                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +                "type": "string"
      +              },
      +              "maxItems": 200,
      +              "type": "array"
      +            },
      +            "goal": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "id": {
      +              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +              "type": "string"
      +            },
      +            "owned_files": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 500,
      +              "type": "array"
      +            },
      +            "owner": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_context_paths": {
      +              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 256,
      +              "type": "array"
      +            },
      +            "review_requirements": {
      +              "description": "Declared execution needs; a live-path claim remains attributed evidence.",
      +              "properties": {
      +                "boundary_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "entry_paths": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                },
      +                "live_path_evidence": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "requires_shell": {
      +                  "default": false,
      +                  "type": "boolean"
      +                },
      +                "requires_write": {
      +                  "default": false,
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "review_verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "reviewer": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "title": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "verification": {
      +              "anyOf": [
      +                {
      +                  "description": "Explicit check ladder; later phases include earlier required checks.",
      +                  "properties": {
      +                    "checks": {
      +                      "items": {
      +                        "properties": {
      +                          "command": {
      +                            "anyOf": [
      +                              {
      +                                "maxLength": 2000,
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "criterion": {
      +                            "maxLength": 2000,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "estimated_seconds": {
      +                            "anyOf": [
      +                              {
      +                                "maximum": 7200,
      +                                "minimum": 1,
      +                                "type": "integer"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null
      +                          },
      +                          "id": {
      +                            "maxLength": 100,
      +                            "pattern": "\\S",
      +                            "type": "string"
      +                          },
      +                          "phase": {
      +                            "default": "targeted",
      +                            "enum": [
      +                              "targeted",
      +                              "candidate",
      +                              "integration"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "requires_shell": {
      +                            "default": false,
      +                            "type": "boolean"
      +                          },
      +                          "scope": {
      +                            "anyOf": [
      +                              {
      +                                "description": "Which bytes a run observed. Equal digests of the same kind are the same bytes.",
      +                                "properties": {
      +                                  "boundaries": {
      +                                    "description": "What the run did not exercise (external services, other platforms, unselected files).",
      +                                    "items": {
      +                                      "maxLength": 2000,
      +                                      "pattern": "\\S",
      +                                      "type": "string"
      +                                    },
      +                                    "maxItems": 20,
      +                                    "type": "array"
      +                                  },
      +                                  "digest": {
      +                                    "pattern": "^[0-9a-f]{7,128}$",
      +                                    "type": "string"
      +                                  },
      +                                  "kind": {
      +                                    "enum": [
      +                                      "tree",
      +                                      "commit",
      +                                      "archive",
      +                                      "content"
      +                                    ],
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "kind",
      +                                  "digest"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "default": null,
      +                            "description": "Explicit current input identity. History from other bytes remains recorded but is not a current result; omitted scope keeps ambiguous failures unresolved."
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "criterion"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "maxItems": 50,
      +                      "type": "array"
      +                    },
      +                    "preparation_seconds": {
      +                      "default": 0,
      +                      "maximum": 7200,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "stage": {
      +                      "default": "targeted",
      +                      "enum": [
      +                        "targeted",
      +                        "candidate",
      +                        "integration"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "title",
      +            "goal",
      +            "owner",
      +            "reviewer",
      +            "acceptance"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 200,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "title": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "goal",
      +      "acceptance",
      +      "steps"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / section
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  5. Changed7 schema fields changedv3.7.1
    • addedInput schema / properties / cursor
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "json",
      +  "enum": [
      +    "json",
      +    "markdown"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / include_snapshots
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 50,
      +  "maximum": 200,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / request / properties / action / enum
      Previous value: -[
      -  "create",
      -  "get",
      -  "list",
      -  "history",
      -  "propose",
      -  "agree",
      -  "claim",
      -  "heartbeat",
      -  "block",
      -  "unblock",
      -  "submit",
      -  "accept",
      -  "reject",
      -  "report",
      -  "compare",
      -  "pause",
      -  "resume",
      -  "reconcile"
      -]New value: +[
      +  "create",
      +  "get",
      +  "list",
      +  "history",
      +  "propose",
      +  "agree",
      +  "claim",
      +  "heartbeat",
      +  "block",
      +  "unblock",
      +  "submit",
      +  "accept",
      +  "reject",
      +  "report",
      +  "compare",
      +  "pause",
      +  "resume",
      +  "reconcile",
      +  "recover"
      +]
    • changedInput schema / properties / request / properties / plan / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "acceptance": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "constraints": {
      -        "items": {
      -          "maxLength": 16000,
      -          "pattern": "\\S",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "context": {
      -        "default": "",
      -        "maxLength": 64000,
      -        "type": "string"
      -      },
      -      "goal": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "steps": {
      -        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      -        "items": {
      -          "properties": {
      -            "acceptance": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 100,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "depends_on": {
      -              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      -              "items": {
      -                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -                "type": "string"
      -              },
      -              "maxItems": 200,
      -              "type": "array"
      -            },
      -            "goal": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "id": {
      -              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      -              "type": "string"
      -            },
      -            "owned_files": {
      -              "items": {
      -                "maxLength": 16000,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "maxItems": 500,
      -              "type": "array"
      -            },
      -            "owner": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "reviewer": {
      -              "enum": [
      -                "claude",
      -                "omp"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "maxLength": 16000,
      -              "pattern": "\\S",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "title",
      -            "goal",
      -            "owner",
      -            "reviewer",
      -            "acceptance"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 200,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "title": {
      -        "maxLength": 16000,
      -        "pattern": "\\S",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "goal",
      -      "acceptance",
      -      "steps"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "acceptance": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "constraints": {
      +        "items": {
      +          "maxLength": 16000,
      +          "pattern": "\\S",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "context": {
      +        "default": "",
      +        "maxLength": 64000,
      +        "type": "string"
      +      },
      +      "goal": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "steps": {
      +        "description": "Acyclic checklist with exactly one final integration step that depends transitively on all other steps. A one-step plan is valid.",
      +        "items": {
      +          "properties": {
      +            "acceptance": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 100,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "depends_on": {
      +              "description": "Prerequisite step IDs. One final integration step must depend, directly or transitively, on every other step, including investigation and verification steps.",
      +              "items": {
      +                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +                "type": "string"
      +              },
      +              "maxItems": 200,
      +              "type": "array"
      +            },
      +            "goal": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "id": {
      +              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$",
      +              "type": "string"
      +            },
      +            "owned_files": {
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 500,
      +              "type": "array"
      +            },
      +            "owner": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "review_context_paths": {
      +              "description": "Exact additional read-only review paths from the submitted commit. Does not expand owned_files; new context requires a new agreed snapshot.",
      +              "items": {
      +                "maxLength": 16000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "maxItems": 256,
      +              "type": "array"
      +            },
      +            "reviewer": {
      +              "enum": [
      +                "claude",
      +                "omp"
      +              ],
      +              "type": "string"
      +            },
      +            "title": {
      +              "maxLength": 16000,
      +              "pattern": "\\S",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "title",
      +            "goal",
      +            "owner",
      +            "reviewer",
      +            "acceptance"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 200,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "title": {
      +        "maxLength": 16000,
      +        "pattern": "\\S",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "goal",
      +      "acceptance",
      +      "steps"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / view
      Added value: +{
      +  "default": "summary",
      +  "enum": [
      +    "summary",
      +    "plan",
      +    "step",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  6. Addedv3.5.0

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does more than most: it explains revision-conflict semantics, operation_id idempotency ('reuse an ID only for an exact retry'), the default bounded-summary response with cursor pointers, and a careful caveat that wait observes committed changes and is 'never expected_revision, a claim, or permission to replay work.' It still omits reversibility, role/permission requirements implied by the owner/reviewer enums, and what happens to a card after reject or abandon.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is front-loaded with purpose and the create workflow, then general rules, with no obvious filler. However, sentences like 'Plan agreement, worker submission and independent acceptance are separate' and the closing line about operator CLI actions are compressed to the point of being opaque, and the flow mixes conceptual model, creation instructions, and wait semantics without clear sectioning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a deeply nested plan schema, 19 actions, and 9 top-level parameters, the description documents the create path and read/wait behavior but leaves roughly fourteen actions (claim, heartbeat, block, unblock, submit, accept, reject, report, compare, pause, resume, reconcile, recover, propose) entirely unexplained. The presence of an output schema excuses not describing return values, but not the missing action semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 11%, so the description must compensate, and it covers only view (summary/plan/step/full), wait_seconds and after_revision meaningfully. It says nothing about step_id, commit, evidence, condition, blocker_id, submission_id, check_runs, or resolution beyond a single line, and gives no per-action field mapping for the 19-value action enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening states a specific verb and resource: 'Maintain one durable shared task and its role-bound checklist,' which conveys that this is a single-card state machine rather than a list or batch tool. It also distinguishes the create path from later mutations. It does not, however, differentiate itself from overlapping siblings such as tandem_wait, tandem_list, or tandem_review.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is solid procedural guidance for the create path (action="create", expected_revision=0, unique operation_id, omit work_id) and a rule for later mutations (get first, use current revision), plus the note that list/get/history need no operation_id. But there is no guidance on which of the 19 actions to choose for a given intent, and no routing among siblings that appear to overlap (tandem_wait vs wait_seconds, tandem_list vs action="list").

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.