wittle labs

REFERENCE

Compatibility

Assistants load the tool list when they connect and keep it for the whole chat. We change tools in ways that keep those chats working.

Our promise

  • We only add: new tools, new optional inputs, new output fields.
  • We never rename, remove or retype an input, make an optional input required, narrow the values an input accepts, or change what an existing field means.
  • A change that can’t keep that promise ships as a new tool name, with the old one kept for a deprecation period.

This is enforced in our test suite: every release is checked against a saved copy of each tool’s schema, and real recorded assistant calls are replayed against it.

What this means for you

  • Ignore output fields you don’t know; new ones will appear.
  • Don’t depend on the exact wording of summary, next_step or error sentences; they’re written for people and may improve. Branch on status, outcome and expected_outcome.
  • Starting a new chat always gives an assistant the newest tools.

The current contract is schema version 2 (search by the customer’s words, services identified by service_id). See the changelog.