| The base_version check runs before argument validation. An agent with a stale version that also passed an invalid attribute (write_schema), an unknown field (write_object) or a wrong filename (delete_attachment) sees only the version conflict, retries with the fresh version, and only then sees the real error. Expected / proposal: Validate cheap, side-effect-free arguments first, or append the validation errors to the conflict message ("also: attribute "values" is not valid ..."), so one round trip surfaces both. Actual: Two round trips. |