Driftwatch

OpenAI / OpenAI API /

Breakingdirection flip: their tools call this safe

value can now return "AU_STORAGE_PROCESSING", "IN_STORAGE_PROCESSING", "JP_STORAGE_PROCESSING"

What changed

Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.

Affects this value on PublicProjectResidency reachable from 5 operations.

New values: AU_STORAGE_PROCESSING, IN_STORAGE_PROCESSING, JP_STORAGE_PROCESSING.

can now return "AU_STORAGE_PROCESSING", "IN_STORAGE_PROCESSING", "JP_STORAGE_PROCESSING"

Who is affected

Code that reads OpenAI's PublicProjectResidency objects, used by 5 OpenAI operations.

Before and after

WhereBeforeAfter
PublicProjectResidency"AE_STORAGE", "AE_STORAGE_PROCESSING", "AU_STORAGE", "CA_STORAGE", "EU_STORAGE_PROCESSING", "GB_STORAGE", "GLOBAL", "IN_STORAGE", "JP_STORAGE", "KR_STORAGE", "SG_STORAGE", "US_STORAGE_PROCESSING""AE_STORAGE", "AE_STORAGE_PROCESSING", "AU_STORAGE", "AU_STORAGE_PROCESSING", "CA_STORAGE", "EU_STORAGE_PROCESSING", "GB_STORAGE", "GLOBAL", "IN_STORAGE", "IN_STORAGE_PROCESSING", "JP_STORAGE", "JP_STORAGE_PROCESSING", "KR_STORAGE", "SG_STORAGE", "US_STORAGE_PROCESSING"

Code that breaks

switch (response) {
  // existing branches …
  // no branch for "AU_STORAGE_PROCESSING"
  // no branch for "IN_STORAGE_PROCESSING"
  // no branch for "JP_STORAGE_PROCESSING"
  default:
    throw new Error("unexpected value");
}

Based on OpenAI’s published API specification. How severity is decided.