addedInput schema / properties / a_label / default
Added value: +"A"
addedInput schema / properties / a_label / description
Added value: +"Arm A's output key and possible winner label; default A. Must differ from b_label and not replace result keys such as decided, winner or reading."
addedInput schema / properties / a_successes / description
Added value: +"Cumulative successful binary outcomes in arm A, an integer from 0 through a_total; do not supply a percentage."
addedInput schema / properties / a_total / description
Added value: +"Cumulative trials in arm A, including successes and failures. Zero is valid and returns an undecided result."
addedInput schema / properties / alpha / default
Added value: +0.05
addedInput schema / properties / alpha / description
Added value: +"Total error budget shared by both confidence sequences; default 0.05 means 5%, split equally between arms. Must be strictly between 0 and 1."
addedInput schema / properties / b_label / default
Added value: +"B"
addedInput schema / properties / b_label / description
Added value: +"Arm B's output key and possible winner label; default B. Must differ from a_label and not replace result keys such as alpha, method or validity."
addedInput schema / properties / b_successes / description
Added value: +"Cumulative successful binary outcomes in arm B, an integer from 0 through b_total; do not supply a percentage."
addedInput schema / properties / b_total / description
Added value: +"Cumulative trials in arm B, including successes and failures. Counts must use the same pre-defined experiment and outcome as arm A."
removedOutput schema / additionalProperties
Removed value: -true
addedOutput schema / anyOf
Added value: +[
+ {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "description": "One experiment arm, stored under its caller-supplied label.",
+ "properties": {
+ "interval": {
+ "description": "Lower and upper confidence-sequence bounds.",
+ "items": {
+ "description": "Success-probability bound as a fraction.",
+ "type": "number"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "n": {
+ "description": "Cumulative trials, including failures.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "rate": {
+ "anyOf": [
+ {
+ "description": "Observed success fraction; null when n is zero.",
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Observed success fraction; null when n is zero. Null means unavailable or not applicable, never zero."
+ },
+ "successes": {
+ "description": "Cumulative successful binary outcomes.",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "successes",
+ "n",
+ "rate",
+ "interval"
+ ],
+ "type": "object"
+ },
+ "properties": {
+ "alpha": {},
+ "assumptions": {},
+ "decided": {},
+ "guarantee": {},
+ "method": {},
+ "observed_difference_pp": {},
+ "reading": {},
+ "safe_to_peek": {},
+ "validity": {},
+ "what_would_decide_it": {},
+ "winner": {}
+ },
+ "required": [
+ "decided",
+ "winner",
+ "reading",
+ "alpha",
+ "safe_to_peek",
+ "validity",
+ "guarantee",
+ "assumptions",
+ "method"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Existing tool-error payload; no successful result fields are implied.",
+ "properties": {
+ "error": {
+ "description": "Validation or computation failure message; inspect MCP isError or the HTTP status.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "error"
+ ],
+ "type": "object"
+ }
+]
addedOutput schema / description
Added value: +"Two dynamically named arm objects plus comparison metadata. A and B are defaults, not fixed output keys. Tool errors retain the separate error-message shape."
addedOutput schema / properties
Added value: +{
+ "alpha": {
+ "description": "Total error budget split across the arms, as a fraction.",
+ "type": "number"
+ },
+ "assumptions": {
+ "description": "Ordered statements or identifiers.",
+ "items": {
+ "description": "One retained statement or identifier.",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "decided": {
+ "description": "Whether the two confidence sequences are disjoint.",
+ "type": "boolean"
+ },
+ "error": {
+ "anyOf": [
+ {
+ "description": "Validation or computation failure message; inspect MCP isError or the HTTP status.",
+ "type": "string"
+ },
+ {
+ "additionalProperties": false,
+ "description": "One experiment arm, stored under its caller-supplied label.",
+ "properties": {
+ "interval": {
+ "description": "Lower and upper confidence-sequence bounds.",
+ "items": {
+ "description": "Success-probability bound as a fraction.",
+ "type": "number"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "n": {
+ "description": "Cumulative trials, including failures.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "rate": {
+ "anyOf": [
+ {
+ "description": "Observed success fraction; null when n is zero.",
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Observed success fraction; null when n is zero. Null means unavailable or not applicable, never zero."
+ },
+ "successes": {
+ "description": "Cumulative successful binary outcomes.",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "successes",
+ "n",
+ "rate",
+ "interval"
+ ],
+ "type": "object"
+ }
+ ],
+ "description": "A string on tool error, or a successful arm object when the caller labels that arm error; inspect MCP isError."
+ },
+ "guarantee": {
+ "description": "Conditional confidence-sequence guarantee; not a market-performance claim.",
+ "type": "string"
+ },
+ "method": {
+ "description": "Confidence-sequence method and reference.",
+ "type": "string"
+ },
+ "observed_difference_pp": {
+ "description": "B's observed success rate minus A's, in percentage points; present only for undecided nonempty arms.",
+ "type": "number"
+ },
+ "reading": {
+ "description": "Interpretation of the current comparison.",
+ "type": "string"
+ },
+ "safe_to_peek": {
+ "const": true,
+ "description": "Repeated looks are allowed only under the stated Bernoulli assumptions.",
+ "type": "boolean"
+ },
+ "validity": {
+ "const": "conditional_on_bernoulli_model",
+ "description": "Guarantees are conditional on the Bernoulli sampling model.",
+ "type": "string"
+ },
+ "what_would_decide_it": {
+ "description": "Qualitative guidance for an undecided comparison with data in both arms.",
+ "type": "string"
+ },
+ "winner": {
+ "anyOf": [
+ {
+ "description": "Winning caller-supplied arm label; null when undecided.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Winning caller-supplied arm label; null when undecided. Null means unavailable or not applicable, never zero."
+ }
+}