YOUR AGENT DIDN’T CHANGE. ITS TOOL DID.

Catch drift.
Before the next call.

Watch compares tool contracts, pinpoints the affected agent, and explains what needs to change.

01Tool contractv1 baseline
02Deterministic diffNo drift detected
03Affected agentNo agents affected
04Impact explanationAvailable after detection

Registered agent

SYNTHETIC DEMO

Finance Operations Agent

Looks up payments and issues approved refunds.

StableTool contracts match the baseline

Tools used by this agent

issue_refundPayments API
Stable
lookup_paymentPayments API
Stable

Baseline loaded from the bundled demo fixture.

Exact contract diff

Stable
✓

Both tools are stable.

Simulate the API’s v2 contract to detect the changes.

Inspect normalized schema snapshots

Baseline

[
  {
    "name": "issue_refund",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
        "amount": {
          "type": "number"
        },
        "memo": {
          "type": "string"
        },
        "payment_id": {
          "type": "string",
          "x-watch-id": "payment-reference"
        }
      },
      "required": [
        "amount",
        "payment_id"
      ],
      "type": "object"
    }
  },
  {
    "name": "lookup_payment",
    "inputSchema": {
      "properties": {
        "payment_id": {
          "type": "string"
        }
      },
      "required": [
        "payment_id"
      ],
      "type": "object"
    }
  }
]

Observed

[
  {
    "name": "issue_refund",
    "inputSchema": {
      "additionalProperties": false,
      "properties": {
        "amount": {
          "type": "number"
        },
        "memo": {
          "type": "string"
        },
        "payment_id": {
          "type": "string",
          "x-watch-id": "payment-reference"
        }
      },
      "required": [
        "amount",
        "payment_id"
      ],
      "type": "object"
    }
  },
  {
    "name": "lookup_payment",
    "inputSchema": {
      "properties": {
        "payment_id": {
          "type": "string"
        }
      },
      "required": [
        "payment_id"
      ],
      "type": "object"
    }
  }
]