Skip to main content
Glama

Update a StewAI Recipe Build

update_recipe_build
Idempotent

Apply bounded optimistic changes to an owned private recipe build. After an uncertain response, inspect the build and replay the identical request with the same idempotency key; a new key duplicates the work. Use only the exact op names and payload keys in inputSchema: set_metadata takes metadata, upsert_schema takes schema_id and schema, and acceptance uses set_acceptance_cases with suite. Never invent set_schema or set_acceptance_suite. If an op appears unknown, read get_recipe_build view='authoring_schema', schema_name='update_recipe_build'; read schema_name='acceptance_suite' for the complete suite shape and every assertion operator with its required, allowed and forbidden fields. Do not guess them. Use set_contracts to replace the declared executable input and output contracts; this changes the revision and invalidates qualification. For a supervised acceptance handoff, use bind_resource only to approve an exact selector already frozen in the draft, then resume_activity or cancel_activity with the returned opaque handoff and activity references. Each handoff control operation must be the only op in its request. An acceptance suite is {version:1,cases:[{case_id,label,kind,fixtures,assertions}]}. Each fixture is {target,content_type,value}. A minimal assertion is {assertion_id:'result_exists',type:'scalar',operator:'exists',path:'/result'}. JSON Pointer paths start with '/'. A metamorphic case also requires pair_with naming another case. Use a paired assertion such as {assertion_id:'stable',type:'paired',operator:'fields_unchanged',path:'',pair_case_id:'base',fields:['/summary']}; pair_case_id is not valid on a scalar assertion. Client transport recommendation, not a server limit: keep serialized tool arguments below 32 KiB including JSON escaping and the request envelope. For larger spec, suite, or research content use begin_chunk, ordered append_chunk (seq starts at 0), then commit_chunk. Keep each complete append request below 12 KiB; split text further after measuring escaped JSON bytes. Hash the exact assembled UTF-8 text with SHA-256. Begin/append do not change the revision; commit changes it once. After an uncertain response, inspect the build and replay the identical request with the same idempotency key; do not create duplicate work with a new key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opsYes
revisionYes
build_refYes
idempotency_keyYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "activity_ref": {
      -        "maxLength": 4096,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "activity_state": {
      -        "enum": [
      -          "queued",
      -          "running",
      -          "blocked",
      -          "done",
      -          "failed",
      -          "cancelled"
      -        ]
      -      },
      -      "budget_superseded": {
      -        "type": "boolean"
      -      },
      -      "findings": {
      -        "maxItems": 0,
      -        "type": "array"
      -      },
      -      "handoff": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "action_url": {
      -            "maxLength": 2048,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "activity_ref": {
      -            "maxLength": 4096,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "effect_digest": {
      -            "maxLength": 64,
      -            "pattern": "^[0-9a-f]{64}$",
      -            "type": "string"
      -          },
      -          "effects": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "details": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "additional_text": {},
      -                    "body_template": {},
      -                    "child_recipe_ulid": {},
      -                    "child_revision_sha": {},
      -                    "destination_mode": {},
      -                    "duration": {},
      -                    "external_conflict_mode": {},
      -                    "external_target_ulid": {},
      -                    "filename": {},
      -                    "folder_name": {},
      -                    "folder_ulid": {},
      -                    "format": {},
      -                    "html_only": {},
      -                    "input_mapping": {},
      -                    "local_conflict_mode": {},
      -                    "max_chunks": {},
      -                    "name": {},
      -                    "nested_effects": {},
      -                    "options": {},
      -                    "outcome_description": {},
      -                    "outcome_max_iterations": {},
      -                    "outcome_rubric": {},
      -                    "output_conflict_mode": {},
      -                    "params": {},
      -                    "pin_revision": {},
      -                    "preamble_enabled": {},
      -                    "prompt": {},
      -                    "query": {},
      -                    "score_threshold": {},
      -                    "source": {},
      -                    "sources": {},
      -                    "subject": {},
      -                    "system_message": {},
      -                    "title": {},
      -                    "to": {},
      -                    "tool_groups": {},
      -                    "top_k": {},
      -                    "visibility": {}
      -                  },
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "execution_count": {
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "node_id": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "node_type": {
      -                  "maxLength": 64,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "node_id",
      -                "node_type",
      -                "execution_count",
      -                "details"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 100,
      -            "type": "array"
      -          },
      -          "expires_at": {
      -            "format": "date-time",
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "handoff_ref": {
      -            "maxLength": 4096,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "reason": {
      -            "maxLength": 500,
      -            "type": "string"
      -          },
      -          "required_decisions": {
      -            "items": {
      -              "maxLength": 128,
      -              "type": "string"
      -            },
      -            "maxItems": 100,
      -            "type": "array",
      -            "uniqueItems": true
      -          },
      -          "resources": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "binding_status": {
      -                  "enum": [
      -                    "required",
      -                    "bound"
      -                  ]
      -                },
      -                "node_id": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "node_path": {
      -                  "items": {
      -                    "type": [
      -                      "string",
      -                      "integer"
      -                    ]
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "node_type": {
      -                  "maxLength": 64,
      -                  "type": "string"
      -                },
      -                "parameter_digest": {
      -                  "maxLength": 64,
      -                  "pattern": "^[0-9a-f]{64}$",
      -                  "type": "string"
      -                },
      -                "qualification_route": {
      -                  "enum": [
      -                    "conditional",
      -                    "supervised"
      -                  ]
      -                },
      -                "reason": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "required_decision": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "requirement_id": {
      -                  "pattern": "^[0-9a-f]{32}$",
      -                  "type": "string"
      -                },
      -                "resource_paths": {
      -                  "items": {
      -                    "maxLength": 256,
      -                    "type": "string"
      -                  },
      -                  "maxItems": 8,
      -                  "type": "array"
      -                }
      -              },
      -              "required": [
      -                "requirement_id",
      -                "node_id",
      -                "node_type",
      -                "node_path",
      -                "qualification_route",
      -                "reason",
      -                "required_decision",
      -                "resource_paths",
      -                "parameter_digest",
      -                "binding_status"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 100,
      -            "type": "array"
      -          },
      -          "resume": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "operation": {
      -                "const": "resume_activity"
      -              },
      -              "tool": {
      -                "const": "update_recipe_build"
      -              }
      -            },
      -            "required": [
      -              "tool",
      -              "operation"
      -            ],
      -            "type": "object"
      -          },
      -          "revision": {
      -            "maxLength": 64,
      -            "pattern": "^[0-9a-f]{64}$",
      -            "type": "string"
      -          },
      -          "status": {
      -            "enum": [
      -              "pending",
      -              "approved",
      -              "cancelled",
      -              "expired",
      -              "consumed"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "handoff_ref",
      -          "activity_ref",
      -          "revision",
      -          "status",
      -          "effect_digest",
      -          "reason",
      -          "required_decisions",
      -          "effects",
      -          "expires_at",
      -          "action_url",
      -          "resume"
      -        ],
      -        "type": "object"
      -      },
      -      "normalization_diff": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "changed": {
      -              "type": "boolean"
      -            },
      -            "op": {
      -              "maxLength": 64,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "op",
      -            "changed"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 25,
      -        "type": "array"
      -      },
      -      "outcome": {
      -        "enum": [
      -          "resource_bound",
      -          "activity_resumed",
      -          "activity_cancelled"
      -        ]
      -      },
      -      "qualification_invalidated": {
      -        "type": "boolean"
      -      },
      -      "revision": {
      -        "maxLength": 64,
      -        "pattern": "^[0-9a-f]{64}$",
      -        "type": "string"
      -      },
      -      "truncation": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "applied": {
      -            "const": true
      -          },
      -          "omitted_items": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "original_result_bytes": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "reason": {
      -            "const": "response_size_limit"
      -          },
      -          "truncated_values": {
      -            "minimum": 0,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "applied",
      -          "reason",
      -          "omitted_items",
      -          "truncated_values",
      -          "original_result_bytes"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "revision",
      -      "normalization_diff",
      -      "findings",
      -      "qualification_invalidated",
      -      "budget_superseded"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "case_id": {
      -        "maxLength": 64,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "error": {
      -        "enum": [
      -          "not_found",
      -          "invalid_reference",
      -          "invalid_params",
      -          "revision_conflict",
      -          "idempotency_conflict",
      -          "document_too_large",
      -          "payload_too_large",
      -          "chunk_sequence_invalid",
      -          "chunk_digest_mismatch",
      -          "chunk_expired",
      -          "invalid_cursor",
      -          "suite_duplicate_case_id",
      -          "suite_unresolved_pair",
      -          "suite_schema_invalid",
      -          "suite_missing_categories",
      -          "suite_weak_normal_oracle",
      -          "suite_too_large",
      -          "unknown_case_id",
      -          "duplicate_case_id",
      -          "incomplete_case_selection",
      -          "unsupported_node_kind",
      -          "research_required",
      -          "review_required",
      -          "acceptance_required",
      -          "qualification_stale",
      -          "budget_not_approved",
      -          "budget_exhausted",
      -          "budget_superseded",
      -          "budget_capability_consumed",
      -          "budget_capability_expired",
      -          "acceptance_case_cost_exceeded",
      -          "authoring_budget_exceeded",
      -          "authoring_grant_not_active",
      -          "insufficient_credits",
      -          "billing_anomaly",
      -          "activity_stalled",
      -          "activity_in_flight",
      -          "handoff_approval_required",
      -          "handoff_expired",
      -          "handoff_not_pending",
      -          "handoff_stale",
      -          "handoff_disclosure_incomplete",
      -          "feature_unavailable",
      -          "resource_unavailable",
      -          "resource_binding_required",
      -          "resource_requirement_not_found",
      -          "activity_not_cancellable",
      -          "quota_exceeded",
      -          "rate_limited",
      -          "already_published",
      -          "safety_locked",
      -          "build_terminal",
      -          "commit_capability_expired",
      -          "account_unavailable",
      -          "limit_unavailable"
      -        ]
      -      },
      -      "estimated_credits": {
      -        "maxLength": 64,
      -        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -        "type": "string"
      -      },
      -      "field": {
      -        "maxLength": 64,
      -        "type": "string"
      -      },
      -      "hint": {
      -        "maxLength": 240,
      -        "type": "string"
      -      },
      -      "issue": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "field": {
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "operator": {
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "path": {
      -            "maxLength": 512,
      -            "type": "string"
      -          },
      -          "type": {
      -            "maxLength": 64,
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "path"
      -        ],
      -        "type": "object"
      -      },
      -      "limit_credits": {
      -        "maxLength": 64,
      -        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -        "type": "string"
      -      },
      -      "missing_categories": {
      -        "items": {
      -          "maxLength": 64,
      -          "type": "string"
      -        },
      -        "maxItems": 10,
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "repair_hint": {
      -        "maxLength": 500,
      -        "type": "string"
      -      },
      -      "retry_after_seconds": {
      -        "maximum": 86400,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "review_cost": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "basis": {
      -            "const": "utf8_byte_upper_bound"
      -          },
      -          "estimated_credits": {
      -            "maxLength": 64,
      -            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -            "type": "string"
      -          },
      -          "input_token_bound": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limit_credits": {
      -            "maxLength": 64,
      -            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -            "type": "string"
      -          },
      -          "model": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "output_token_cap": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "prompt_bytes": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "provider": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "section_bytes": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "acceptance_suite": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "input_contract": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "intent": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "output_contract": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "research_evidence": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "spec": {
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "estimated_credits",
      -          "limit_credits",
      -          "provider",
      -          "model",
      -          "basis",
      -          "input_token_bound",
      -          "output_token_cap",
      -          "prompt_bytes",
      -          "section_bytes"
      -        ],
      -        "type": "object"
      -      },
      -      "truncation": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "applied": {
      -            "const": true
      -          },
      -          "omitted_items": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "original_result_bytes": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "reason": {
      -            "const": "response_size_limit"
      -          },
      -          "truncated_values": {
      -            "minimum": 0,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "applied",
      -          "reason",
      -          "omitted_items",
      -          "truncated_values",
      -          "original_result_bytes"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "activity_ref": {
      +        "maxLength": 4096,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "activity_state": {
      +        "enum": [
      +          "queued",
      +          "running",
      +          "blocked",
      +          "done",
      +          "failed",
      +          "cancelled"
      +        ]
      +      },
      +      "budget_superseded": {
      +        "type": "boolean"
      +      },
      +      "findings": {
      +        "maxItems": 0,
      +        "type": "array"
      +      },
      +      "handoff": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "action_url": {
      +            "maxLength": 2048,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "activity_ref": {
      +            "maxLength": 4096,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "effect_digest": {
      +            "maxLength": 64,
      +            "pattern": "^[0-9a-f]{64}$",
      +            "type": "string"
      +          },
      +          "effects": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "details": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "additional_text": {},
      +                    "body_template": {},
      +                    "child_recipe_ulid": {},
      +                    "child_revision_sha": {},
      +                    "destination_mode": {},
      +                    "duration": {},
      +                    "external_conflict_mode": {},
      +                    "external_target_ulid": {},
      +                    "filename": {},
      +                    "folder_name": {},
      +                    "folder_ulid": {},
      +                    "format": {},
      +                    "html_only": {},
      +                    "input_mapping": {},
      +                    "local_conflict_mode": {},
      +                    "max_chunks": {},
      +                    "name": {},
      +                    "nested_effects": {},
      +                    "options": {},
      +                    "outcome_description": {},
      +                    "outcome_max_iterations": {},
      +                    "outcome_rubric": {},
      +                    "output_conflict_mode": {},
      +                    "params": {},
      +                    "pin_revision": {},
      +                    "preamble_enabled": {},
      +                    "prompt": {},
      +                    "query": {},
      +                    "score_threshold": {},
      +                    "source": {},
      +                    "sources": {},
      +                    "subject": {},
      +                    "system_message": {},
      +                    "title": {},
      +                    "to": {},
      +                    "tool_groups": {},
      +                    "top_k": {},
      +                    "visibility": {}
      +                  },
      +                  "required": [],
      +                  "type": "object"
      +                },
      +                "execution_count": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "node_id": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "node_type": {
      +                  "maxLength": 64,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "node_id",
      +                "node_type",
      +                "execution_count",
      +                "details"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 100,
      +            "type": "array"
      +          },
      +          "expires_at": {
      +            "format": "date-time",
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "handoff_ref": {
      +            "maxLength": 4096,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "reason": {
      +            "maxLength": 500,
      +            "type": "string"
      +          },
      +          "required_decisions": {
      +            "items": {
      +              "maxLength": 128,
      +              "type": "string"
      +            },
      +            "maxItems": 100,
      +            "type": "array",
      +            "uniqueItems": true
      +          },
      +          "resources": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "binding_status": {
      +                  "enum": [
      +                    "required",
      +                    "bound"
      +                  ]
      +                },
      +                "node_id": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "node_path": {
      +                  "items": {
      +                    "type": [
      +                      "string",
      +                      "integer"
      +                    ]
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "node_type": {
      +                  "maxLength": 64,
      +                  "type": "string"
      +                },
      +                "parameter_digest": {
      +                  "maxLength": 64,
      +                  "pattern": "^[0-9a-f]{64}$",
      +                  "type": "string"
      +                },
      +                "qualification_route": {
      +                  "enum": [
      +                    "conditional",
      +                    "supervised"
      +                  ]
      +                },
      +                "reason": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "required_decision": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "requirement_id": {
      +                  "pattern": "^[0-9a-f]{32}$",
      +                  "type": "string"
      +                },
      +                "resource_paths": {
      +                  "items": {
      +                    "maxLength": 256,
      +                    "type": "string"
      +                  },
      +                  "maxItems": 8,
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "requirement_id",
      +                "node_id",
      +                "node_type",
      +                "node_path",
      +                "qualification_route",
      +                "reason",
      +                "required_decision",
      +                "resource_paths",
      +                "parameter_digest",
      +                "binding_status"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 100,
      +            "type": "array"
      +          },
      +          "resume": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "operation": {
      +                "const": "resume_activity"
      +              },
      +              "tool": {
      +                "const": "update_recipe_build"
      +              }
      +            },
      +            "required": [
      +              "tool",
      +              "operation"
      +            ],
      +            "type": "object"
      +          },
      +          "revision": {
      +            "maxLength": 64,
      +            "pattern": "^[0-9a-f]{64}$",
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "pending",
      +              "approved",
      +              "cancelled",
      +              "expired",
      +              "consumed"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "handoff_ref",
      +          "activity_ref",
      +          "revision",
      +          "status",
      +          "effect_digest",
      +          "reason",
      +          "required_decisions",
      +          "effects",
      +          "expires_at",
      +          "action_url",
      +          "resume"
      +        ],
      +        "type": "object"
      +      },
      +      "normalization_diff": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "changed": {
      +              "type": "boolean"
      +            },
      +            "op": {
      +              "maxLength": 64,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "op",
      +            "changed"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 25,
      +        "type": "array"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "resource_bound",
      +          "activity_resumed",
      +          "activity_cancelled"
      +        ]
      +      },
      +      "qualification_invalidated": {
      +        "type": "boolean"
      +      },
      +      "revision": {
      +        "maxLength": 64,
      +        "pattern": "^[0-9a-f]{64}$",
      +        "type": "string"
      +      },
      +      "truncation": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "applied": {
      +            "const": true
      +          },
      +          "omitted_items": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "original_result_bytes": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "reason": {
      +            "const": "response_size_limit"
      +          },
      +          "truncated_values": {
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "applied",
      +          "reason",
      +          "omitted_items",
      +          "truncated_values",
      +          "original_result_bytes"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "revision",
      +      "normalization_diff",
      +      "findings",
      +      "qualification_invalidated",
      +      "budget_superseded"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "case_id": {
      +        "maxLength": 64,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "error": {
      +        "enum": [
      +          "not_found",
      +          "invalid_reference",
      +          "invalid_params",
      +          "revision_conflict",
      +          "idempotency_conflict",
      +          "document_too_large",
      +          "payload_too_large",
      +          "chunk_sequence_invalid",
      +          "chunk_digest_mismatch",
      +          "chunk_expired",
      +          "invalid_cursor",
      +          "suite_duplicate_case_id",
      +          "suite_unresolved_pair",
      +          "suite_schema_invalid",
      +          "suite_missing_categories",
      +          "suite_weak_normal_oracle",
      +          "suite_too_large",
      +          "unknown_case_id",
      +          "duplicate_case_id",
      +          "incomplete_case_selection",
      +          "unsupported_node_kind",
      +          "research_required",
      +          "review_required",
      +          "acceptance_required",
      +          "qualification_stale",
      +          "budget_not_approved",
      +          "budget_exhausted",
      +          "budget_superseded",
      +          "budget_capability_consumed",
      +          "budget_capability_expired",
      +          "acceptance_case_cost_exceeded",
      +          "authoring_budget_exceeded",
      +          "authoring_grant_not_active",
      +          "insufficient_credits",
      +          "billing_anomaly",
      +          "activity_stalled",
      +          "activity_in_flight",
      +          "handoff_approval_required",
      +          "handoff_expired",
      +          "handoff_not_pending",
      +          "handoff_stale",
      +          "handoff_disclosure_incomplete",
      +          "feature_unavailable",
      +          "resource_unavailable",
      +          "resource_binding_required",
      +          "resource_requirement_not_found",
      +          "activity_not_cancellable",
      +          "quota_exceeded",
      +          "rate_limited",
      +          "already_published",
      +          "safety_locked",
      +          "build_terminal",
      +          "commit_capability_expired",
      +          "account_unavailable",
      +          "limit_unavailable"
      +        ]
      +      },
      +      "estimated_credits": {
      +        "maxLength": 64,
      +        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +        "type": "string"
      +      },
      +      "field": {
      +        "maxLength": 64,
      +        "type": "string"
      +      },
      +      "hint": {
      +        "maxLength": 240,
      +        "type": "string"
      +      },
      +      "issue": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "field": {
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "operator": {
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "path": {
      +            "maxLength": 512,
      +            "type": "string"
      +          },
      +          "type": {
      +            "maxLength": 64,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "path"
      +        ],
      +        "type": "object"
      +      },
      +      "limit_credits": {
      +        "maxLength": 64,
      +        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +        "type": "string"
      +      },
      +      "missing_categories": {
      +        "items": {
      +          "maxLength": 64,
      +          "type": "string"
      +        },
      +        "maxItems": 10,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "repair_hint": {
      +        "maxLength": 500,
      +        "type": "string"
      +      },
      +      "retry_after_seconds": {
      +        "maximum": 86400,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "review_cost": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "basis": {
      +            "const": "utf8_byte_upper_bound"
      +          },
      +          "estimated_credits": {
      +            "maxLength": 64,
      +            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +            "type": "string"
      +          },
      +          "input_token_bound": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limit_credits": {
      +            "maxLength": 64,
      +            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +            "type": "string"
      +          },
      +          "model": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "output_token_cap": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "prompt_bytes": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "provider": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "section_bytes": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "acceptance_suite": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "input_contract": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "intent": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "output_contract": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "research_evidence": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "spec": {
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "estimated_credits",
      +          "limit_credits",
      +          "provider",
      +          "model",
      +          "basis",
      +          "input_token_bound",
      +          "output_token_cap",
      +          "prompt_bytes",
      +          "section_bytes"
      +        ],
      +        "type": "object"
      +      },
      +      "truncation": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "applied": {
      +            "const": true
      +          },
      +          "omitted_items": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "original_result_bytes": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "reason": {
      +            "const": "response_size_limit"
      +          },
      +          "truncated_values": {
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "applied",
      +          "reason",
      +          "omitted_items",
      +          "truncated_values",
      +          "original_result_bytes"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "activity_ref": {
      -        "maxLength": 4096,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "activity_state": {
      -        "enum": [
      -          "queued",
      -          "running",
      -          "blocked",
      -          "done",
      -          "failed",
      -          "cancelled"
      -        ]
      -      },
      -      "budget_superseded": {
      -        "type": "boolean"
      -      },
      -      "findings": {
      -        "maxItems": 0,
      -        "type": "array"
      -      },
      -      "handoff": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "action_url": {
      -            "maxLength": 2048,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "activity_ref": {
      -            "maxLength": 4096,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "effect_digest": {
      -            "maxLength": 64,
      -            "pattern": "^[0-9a-f]{64}$",
      -            "type": "string"
      -          },
      -          "effects": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "details": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "additional_text": {},
      -                    "body_template": {},
      -                    "child_recipe_ulid": {},
      -                    "child_revision_sha": {},
      -                    "destination_mode": {},
      -                    "duration": {},
      -                    "external_conflict_mode": {},
      -                    "external_target_ulid": {},
      -                    "filename": {},
      -                    "folder_name": {},
      -                    "folder_ulid": {},
      -                    "format": {},
      -                    "html_only": {},
      -                    "input_mapping": {},
      -                    "local_conflict_mode": {},
      -                    "max_chunks": {},
      -                    "name": {},
      -                    "nested_effects": {},
      -                    "options": {},
      -                    "outcome_description": {},
      -                    "outcome_max_iterations": {},
      -                    "outcome_rubric": {},
      -                    "output_conflict_mode": {},
      -                    "params": {},
      -                    "pin_revision": {},
      -                    "preamble_enabled": {},
      -                    "prompt": {},
      -                    "query": {},
      -                    "score_threshold": {},
      -                    "source": {},
      -                    "sources": {},
      -                    "subject": {},
      -                    "system_message": {},
      -                    "title": {},
      -                    "to": {},
      -                    "tool_groups": {},
      -                    "top_k": {},
      -                    "visibility": {}
      -                  },
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "execution_count": {
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "node_id": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "node_type": {
      -                  "maxLength": 64,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "node_id",
      -                "node_type",
      -                "execution_count",
      -                "details"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 100,
      -            "type": "array"
      -          },
      -          "expires_at": {
      -            "format": "date-time",
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "handoff_ref": {
      -            "maxLength": 4096,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "reason": {
      -            "maxLength": 500,
      -            "type": "string"
      -          },
      -          "required_decisions": {
      -            "items": {
      -              "maxLength": 128,
      -              "type": "string"
      -            },
      -            "maxItems": 100,
      -            "type": "array",
      -            "uniqueItems": true
      -          },
      -          "resources": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "binding_status": {
      -                  "enum": [
      -                    "required",
      -                    "bound"
      -                  ]
      -                },
      -                "node_id": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "node_path": {
      -                  "items": {
      -                    "type": [
      -                      "string",
      -                      "integer"
      -                    ]
      -                  },
      -                  "maxItems": 32,
      -                  "type": "array"
      -                },
      -                "node_type": {
      -                  "maxLength": 64,
      -                  "type": "string"
      -                },
      -                "parameter_digest": {
      -                  "maxLength": 64,
      -                  "pattern": "^[0-9a-f]{64}$",
      -                  "type": "string"
      -                },
      -                "qualification_route": {
      -                  "enum": [
      -                    "conditional",
      -                    "supervised"
      -                  ]
      -                },
      -                "reason": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "required_decision": {
      -                  "maxLength": 128,
      -                  "type": "string"
      -                },
      -                "requirement_id": {
      -                  "pattern": "^[0-9a-f]{32}$",
      -                  "type": "string"
      -                },
      -                "resource_paths": {
      -                  "items": {
      -                    "maxLength": 256,
      -                    "type": "string"
      -                  },
      -                  "maxItems": 8,
      -                  "type": "array"
      -                }
      -              },
      -              "required": [
      -                "requirement_id",
      -                "node_id",
      -                "node_type",
      -                "node_path",
      -                "qualification_route",
      -                "reason",
      -                "required_decision",
      -                "resource_paths",
      -                "parameter_digest",
      -                "binding_status"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 100,
      -            "type": "array"
      -          },
      -          "resume": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "operation": {
      -                "const": "resume_activity"
      -              },
      -              "tool": {
      -                "const": "update_recipe_build"
      -              }
      -            },
      -            "required": [
      -              "tool",
      -              "operation"
      -            ],
      -            "type": "object"
      -          },
      -          "revision": {
      -            "maxLength": 64,
      -            "pattern": "^[0-9a-f]{64}$",
      -            "type": "string"
      -          },
      -          "status": {
      -            "enum": [
      -              "pending",
      -              "approved",
      -              "cancelled",
      -              "expired",
      -              "consumed"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "handoff_ref",
      -          "activity_ref",
      -          "revision",
      -          "status",
      -          "effect_digest",
      -          "reason",
      -          "required_decisions",
      -          "effects",
      -          "expires_at",
      -          "action_url",
      -          "resume"
      -        ],
      -        "type": "object"
      -      },
      -      "normalization_diff": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "changed": {
      -              "type": "boolean"
      -            },
      -            "op": {
      -              "maxLength": 64,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "op",
      -            "changed"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 25,
      -        "type": "array"
      -      },
      -      "outcome": {
      -        "enum": [
      -          "resource_bound",
      -          "activity_resumed",
      -          "activity_cancelled"
      -        ]
      -      },
      -      "qualification_invalidated": {
      -        "type": "boolean"
      -      },
      -      "revision": {
      -        "maxLength": 64,
      -        "pattern": "^[0-9a-f]{64}$",
      -        "type": "string"
      -      },
      -      "truncation": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "applied": {
      -            "const": true
      -          },
      -          "omitted_items": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "original_result_bytes": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "reason": {
      -            "const": "response_size_limit"
      -          },
      -          "truncated_values": {
      -            "minimum": 0,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "applied",
      -          "reason",
      -          "omitted_items",
      -          "truncated_values",
      -          "original_result_bytes"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "revision",
      -      "normalization_diff",
      -      "findings",
      -      "qualification_invalidated",
      -      "budget_superseded"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "case_id": {
      -        "maxLength": 64,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "error": {
      -        "enum": [
      -          "not_found",
      -          "invalid_reference",
      -          "invalid_params",
      -          "revision_conflict",
      -          "idempotency_conflict",
      -          "document_too_large",
      -          "payload_too_large",
      -          "chunk_sequence_invalid",
      -          "chunk_digest_mismatch",
      -          "chunk_expired",
      -          "suite_duplicate_case_id",
      -          "suite_unresolved_pair",
      -          "suite_schema_invalid",
      -          "suite_missing_categories",
      -          "suite_weak_normal_oracle",
      -          "suite_too_large",
      -          "unknown_case_id",
      -          "duplicate_case_id",
      -          "incomplete_case_selection",
      -          "unsupported_node_kind",
      -          "research_required",
      -          "review_required",
      -          "acceptance_required",
      -          "qualification_stale",
      -          "budget_not_approved",
      -          "budget_exhausted",
      -          "budget_superseded",
      -          "budget_capability_consumed",
      -          "budget_capability_expired",
      -          "acceptance_case_cost_exceeded",
      -          "authoring_budget_exceeded",
      -          "authoring_grant_not_active",
      -          "insufficient_credits",
      -          "billing_anomaly",
      -          "activity_stalled",
      -          "activity_in_flight",
      -          "handoff_approval_required",
      -          "handoff_expired",
      -          "handoff_not_pending",
      -          "handoff_stale",
      -          "feature_unavailable",
      -          "resource_unavailable",
      -          "resource_binding_required",
      -          "resource_requirement_not_found",
      -          "activity_not_cancellable",
      -          "quota_exceeded",
      -          "rate_limited",
      -          "already_published",
      -          "safety_locked",
      -          "build_terminal",
      -          "commit_capability_expired",
      -          "account_unavailable",
      -          "limit_unavailable"
      -        ]
      -      },
      -      "estimated_credits": {
      -        "maxLength": 64,
      -        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -        "type": "string"
      -      },
      -      "field": {
      -        "maxLength": 64,
      -        "type": "string"
      -      },
      -      "hint": {
      -        "maxLength": 240,
      -        "type": "string"
      -      },
      -      "issue": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "field": {
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "operator": {
      -            "maxLength": 64,
      -            "type": "string"
      -          },
      -          "path": {
      -            "maxLength": 512,
      -            "type": "string"
      -          },
      -          "type": {
      -            "maxLength": 64,
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "path"
      -        ],
      -        "type": "object"
      -      },
      -      "limit_credits": {
      -        "maxLength": 64,
      -        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -        "type": "string"
      -      },
      -      "missing_categories": {
      -        "items": {
      -          "maxLength": 64,
      -          "type": "string"
      -        },
      -        "maxItems": 10,
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "repair_hint": {
      -        "maxLength": 500,
      -        "type": "string"
      -      },
      -      "retry_after_seconds": {
      -        "maximum": 86400,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "review_cost": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "basis": {
      -            "const": "utf8_byte_upper_bound"
      -          },
      -          "estimated_credits": {
      -            "maxLength": 64,
      -            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -            "type": "string"
      -          },
      -          "input_token_bound": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limit_credits": {
      -            "maxLength": 64,
      -            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      -            "type": "string"
      -          },
      -          "model": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "output_token_cap": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "prompt_bytes": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "provider": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "section_bytes": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "acceptance_suite": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "input_contract": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "intent": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "output_contract": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "research_evidence": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "spec": {
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "estimated_credits",
      -          "limit_credits",
      -          "provider",
      -          "model",
      -          "basis",
      -          "input_token_bound",
      -          "output_token_cap",
      -          "prompt_bytes",
      -          "section_bytes"
      -        ],
      -        "type": "object"
      -      },
      -      "truncation": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "applied": {
      -            "const": true
      -          },
      -          "omitted_items": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "original_result_bytes": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "reason": {
      -            "const": "response_size_limit"
      -          },
      -          "truncated_values": {
      -            "minimum": 0,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "applied",
      -          "reason",
      -          "omitted_items",
      -          "truncated_values",
      -          "original_result_bytes"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "activity_ref": {
      +        "maxLength": 4096,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "activity_state": {
      +        "enum": [
      +          "queued",
      +          "running",
      +          "blocked",
      +          "done",
      +          "failed",
      +          "cancelled"
      +        ]
      +      },
      +      "budget_superseded": {
      +        "type": "boolean"
      +      },
      +      "findings": {
      +        "maxItems": 0,
      +        "type": "array"
      +      },
      +      "handoff": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "action_url": {
      +            "maxLength": 2048,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "activity_ref": {
      +            "maxLength": 4096,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "effect_digest": {
      +            "maxLength": 64,
      +            "pattern": "^[0-9a-f]{64}$",
      +            "type": "string"
      +          },
      +          "effects": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "details": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "additional_text": {},
      +                    "body_template": {},
      +                    "child_recipe_ulid": {},
      +                    "child_revision_sha": {},
      +                    "destination_mode": {},
      +                    "duration": {},
      +                    "external_conflict_mode": {},
      +                    "external_target_ulid": {},
      +                    "filename": {},
      +                    "folder_name": {},
      +                    "folder_ulid": {},
      +                    "format": {},
      +                    "html_only": {},
      +                    "input_mapping": {},
      +                    "local_conflict_mode": {},
      +                    "max_chunks": {},
      +                    "name": {},
      +                    "nested_effects": {},
      +                    "options": {},
      +                    "outcome_description": {},
      +                    "outcome_max_iterations": {},
      +                    "outcome_rubric": {},
      +                    "output_conflict_mode": {},
      +                    "params": {},
      +                    "pin_revision": {},
      +                    "preamble_enabled": {},
      +                    "prompt": {},
      +                    "query": {},
      +                    "score_threshold": {},
      +                    "source": {},
      +                    "sources": {},
      +                    "subject": {},
      +                    "system_message": {},
      +                    "title": {},
      +                    "to": {},
      +                    "tool_groups": {},
      +                    "top_k": {},
      +                    "visibility": {}
      +                  },
      +                  "required": [],
      +                  "type": "object"
      +                },
      +                "execution_count": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "node_id": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "node_type": {
      +                  "maxLength": 64,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "node_id",
      +                "node_type",
      +                "execution_count",
      +                "details"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 100,
      +            "type": "array"
      +          },
      +          "expires_at": {
      +            "format": "date-time",
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "handoff_ref": {
      +            "maxLength": 4096,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "reason": {
      +            "maxLength": 500,
      +            "type": "string"
      +          },
      +          "required_decisions": {
      +            "items": {
      +              "maxLength": 128,
      +              "type": "string"
      +            },
      +            "maxItems": 100,
      +            "type": "array",
      +            "uniqueItems": true
      +          },
      +          "resources": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "binding_status": {
      +                  "enum": [
      +                    "required",
      +                    "bound"
      +                  ]
      +                },
      +                "node_id": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "node_path": {
      +                  "items": {
      +                    "type": [
      +                      "string",
      +                      "integer"
      +                    ]
      +                  },
      +                  "maxItems": 32,
      +                  "type": "array"
      +                },
      +                "node_type": {
      +                  "maxLength": 64,
      +                  "type": "string"
      +                },
      +                "parameter_digest": {
      +                  "maxLength": 64,
      +                  "pattern": "^[0-9a-f]{64}$",
      +                  "type": "string"
      +                },
      +                "qualification_route": {
      +                  "enum": [
      +                    "conditional",
      +                    "supervised"
      +                  ]
      +                },
      +                "reason": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "required_decision": {
      +                  "maxLength": 128,
      +                  "type": "string"
      +                },
      +                "requirement_id": {
      +                  "pattern": "^[0-9a-f]{32}$",
      +                  "type": "string"
      +                },
      +                "resource_paths": {
      +                  "items": {
      +                    "maxLength": 256,
      +                    "type": "string"
      +                  },
      +                  "maxItems": 8,
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "requirement_id",
      +                "node_id",
      +                "node_type",
      +                "node_path",
      +                "qualification_route",
      +                "reason",
      +                "required_decision",
      +                "resource_paths",
      +                "parameter_digest",
      +                "binding_status"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 100,
      +            "type": "array"
      +          },
      +          "resume": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "operation": {
      +                "const": "resume_activity"
      +              },
      +              "tool": {
      +                "const": "update_recipe_build"
      +              }
      +            },
      +            "required": [
      +              "tool",
      +              "operation"
      +            ],
      +            "type": "object"
      +          },
      +          "revision": {
      +            "maxLength": 64,
      +            "pattern": "^[0-9a-f]{64}$",
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "pending",
      +              "approved",
      +              "cancelled",
      +              "expired",
      +              "consumed"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "handoff_ref",
      +          "activity_ref",
      +          "revision",
      +          "status",
      +          "effect_digest",
      +          "reason",
      +          "required_decisions",
      +          "effects",
      +          "expires_at",
      +          "action_url",
      +          "resume"
      +        ],
      +        "type": "object"
      +      },
      +      "normalization_diff": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "changed": {
      +              "type": "boolean"
      +            },
      +            "op": {
      +              "maxLength": 64,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "op",
      +            "changed"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 25,
      +        "type": "array"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "resource_bound",
      +          "activity_resumed",
      +          "activity_cancelled"
      +        ]
      +      },
      +      "qualification_invalidated": {
      +        "type": "boolean"
      +      },
      +      "revision": {
      +        "maxLength": 64,
      +        "pattern": "^[0-9a-f]{64}$",
      +        "type": "string"
      +      },
      +      "truncation": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "applied": {
      +            "const": true
      +          },
      +          "omitted_items": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "original_result_bytes": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "reason": {
      +            "const": "response_size_limit"
      +          },
      +          "truncated_values": {
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "applied",
      +          "reason",
      +          "omitted_items",
      +          "truncated_values",
      +          "original_result_bytes"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "revision",
      +      "normalization_diff",
      +      "findings",
      +      "qualification_invalidated",
      +      "budget_superseded"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "case_id": {
      +        "maxLength": 64,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "error": {
      +        "enum": [
      +          "not_found",
      +          "invalid_reference",
      +          "invalid_params",
      +          "revision_conflict",
      +          "idempotency_conflict",
      +          "document_too_large",
      +          "payload_too_large",
      +          "chunk_sequence_invalid",
      +          "chunk_digest_mismatch",
      +          "chunk_expired",
      +          "invalid_cursor",
      +          "suite_duplicate_case_id",
      +          "suite_unresolved_pair",
      +          "suite_schema_invalid",
      +          "suite_missing_categories",
      +          "suite_weak_normal_oracle",
      +          "suite_too_large",
      +          "unknown_case_id",
      +          "duplicate_case_id",
      +          "incomplete_case_selection",
      +          "unsupported_node_kind",
      +          "research_required",
      +          "review_required",
      +          "acceptance_required",
      +          "qualification_stale",
      +          "budget_not_approved",
      +          "budget_exhausted",
      +          "budget_superseded",
      +          "budget_capability_consumed",
      +          "budget_capability_expired",
      +          "acceptance_case_cost_exceeded",
      +          "authoring_budget_exceeded",
      +          "authoring_grant_not_active",
      +          "insufficient_credits",
      +          "billing_anomaly",
      +          "activity_stalled",
      +          "activity_in_flight",
      +          "handoff_approval_required",
      +          "handoff_expired",
      +          "handoff_not_pending",
      +          "handoff_stale",
      +          "handoff_disclosure_incomplete",
      +          "feature_unavailable",
      +          "resource_unavailable",
      +          "resource_binding_required",
      +          "resource_requirement_not_found",
      +          "activity_not_cancellable",
      +          "quota_exceeded",
      +          "rate_limited",
      +          "already_published",
      +          "safety_locked",
      +          "build_terminal",
      +          "commit_capability_expired",
      +          "account_unavailable",
      +          "limit_unavailable"
      +        ]
      +      },
      +      "estimated_credits": {
      +        "maxLength": 64,
      +        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +        "type": "string"
      +      },
      +      "field": {
      +        "maxLength": 64,
      +        "type": "string"
      +      },
      +      "hint": {
      +        "maxLength": 240,
      +        "type": "string"
      +      },
      +      "issue": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "field": {
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "operator": {
      +            "maxLength": 64,
      +            "type": "string"
      +          },
      +          "path": {
      +            "maxLength": 512,
      +            "type": "string"
      +          },
      +          "type": {
      +            "maxLength": 64,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "path"
      +        ],
      +        "type": "object"
      +      },
      +      "limit_credits": {
      +        "maxLength": 64,
      +        "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +        "type": "string"
      +      },
      +      "missing_categories": {
      +        "items": {
      +          "maxLength": 64,
      +          "type": "string"
      +        },
      +        "maxItems": 10,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "repair_hint": {
      +        "maxLength": 500,
      +        "type": "string"
      +      },
      +      "retry_after_seconds": {
      +        "maximum": 86400,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "review_cost": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "basis": {
      +            "const": "utf8_byte_upper_bound"
      +          },
      +          "estimated_credits": {
      +            "maxLength": 64,
      +            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +            "type": "string"
      +          },
      +          "input_token_bound": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limit_credits": {
      +            "maxLength": 64,
      +            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
      +            "type": "string"
      +          },
      +          "model": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "output_token_cap": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "prompt_bytes": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "provider": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "section_bytes": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "acceptance_suite": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "input_contract": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "intent": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "output_contract": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "research_evidence": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "spec": {
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "estimated_credits",
      +          "limit_credits",
      +          "provider",
      +          "model",
      +          "basis",
      +          "input_token_bound",
      +          "output_token_cap",
      +          "prompt_bytes",
      +          "section_bytes"
      +        ],
      +        "type": "object"
      +      },
      +      "truncation": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "applied": {
      +            "const": true
      +          },
      +          "omitted_items": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "original_result_bytes": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "reason": {
      +            "const": "response_size_limit"
      +          },
      +          "truncated_values": {
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "applied",
      +          "reason",
      +          "omitted_items",
      +          "truncated_values",
      +          "original_result_bytes"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds substantial behavioral context beyond those: it explains that set_contracts 'changes the revision and invalidates qualification,' that begin/append do not change the revision but commit changes it once, and that each handoff control operation must be the only op in its request. It also warns against inventing op names and tells the agent to read schemas rather than guess. This is exactly the kind of behavioral disclosure that annotations alone cannot provide.

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

Conciseness4/5

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

The description is long, but every sentence earns its place given the tool's complexity: 20+ op variants, a nested acceptance suite schema, idempotency semantics, and chunking protocol. It front-loads the core purpose and idempotency warning, then moves through op-specific guidance, acceptance suite shape, and transport limits. It is dense but not padded. It loses one point because the idempotency replay sentence appears twice (once at the start and once at the end), which is redundant.

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

Completeness5/5

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

For a tool with 4 required params, a 20-variant ops array, and an output schema, the description covers the critical operational knowledge: idempotency, revision semantics, op name constraints, acceptance suite structure, chunking limits, and handoff control. The output schema exists, so return values need not be described. The only thing an agent might still need is the full assertion operator list, but the description explicitly tells the agent where to read it (get_recipe_build with view='authoring_schema'), which is the correct move rather than duplicating the schema.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does: it names the exact op names and payload keys (set_metadata takes metadata, upsert_schema takes schema_id and schema, acceptance uses set_acceptance_cases with suite), gives a concrete minimal assertion example, and explains the suite/fixture/assertion shapes. It also explains the idempotency_key semantics and the chunking parameters (seq starts at 0, sha256 of exact UTF-8 text). It doesn't enumerate every assertion operator, but it explicitly routes the agent to get_recipe_build for the complete shape, which is a reasonable division of labor.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Apply bounded optimistic changes to an owned private recipe build.' It clearly distinguishes this from siblings like get_recipe_build (read-only) and commit_recipe_build (finalization) by framing it as a mutation tool for incremental updates. The title 'Update a StewAI Recipe Build' reinforces the resource and action.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: 'After an uncertain response, inspect the build and replay the identical request with the same idempotency key; a new key duplicates the work.' It also names alternatives indirectly by pointing to get_recipe_build for reading the authoring schema and acceptance suite shape. It tells the agent when to use chunking ops vs direct ops, and when to use bind_resource/resume_activity/cancel_activity for supervised handoffs. This is rich, actionable routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources