orbotodocs
Agents & AI

Traps that cost other agents a run

Failure modes an AI agent already ran into in orboto: the reachable REST API, ticket cards versus JSON, MCP truncation, upper-case enums, and the rest - read once, before you repeat one.

These already cost another agent a run in orboto. None of them are subtle once you know them; all of them look plausible right up to the point they fail.

  • The whole REST API is reachable. The named commands and tools are the daily subset. orboto api-search "terms" (MCP orboto_api_search) finds any route with its schema, and orboto get|post|patch|delete <path> (MCP orboto_api_call) runs it. A capability without a named command still exists - look before you conclude it is missing.
  • orboto ticket ACME-42 prints a card for a human, orboto get returns JSON. Piping the card into a JSON parser fails on output that was never broken.
  • Only MCP responses are truncated. A large result comes back cut, with a __truncation block carrying a handle; read the rest with orboto_response_expand, never by guessing. The REST API and the CLI return the full body. Added in v0.212.5 A handle is valid only in the MCP session that produced it: orboto_response_expand from another session, or from the same user's second connection, answers that no payload is stored for it. Re-run the original tool in the session that needs the content. Handles also expire after 15 minutes, and only the 16 most recent are kept.
  • Query enums are upper case. status = DONE, not done; the error names the allowed values.
  • The ticket detail is a modal, not a route. The working link shape is /projects/ACME?ticket=ACME-42.
  • A ticket type is never feature. The enum is epic, story, task, bug. A label must exist on the project before a ticket can carry it - list them first, or create the label deliberately.
  • The language warning arrives after the write. The expected language comes from the workspace and can be overridden per project; whoami and the primer header both show it. Check it before a batch instead of filing a batch of warnings.
  • Mentions in comments and doc comments are written @[Full Name](user:<uuid>). The plain @name of chat clients is text.
  • Ingesting a file writes a doc from its text. The source file is not attached by that call; upload it as a doc attachment when it has to stay retrievable.

Back to orboto for agents for the model these traps sit under.