Are OpenTelemetry's GenAI semantic conventions stable enough to build on?
No, not yet. Every gen_ai.* attribute, span, and metric in OpenTelemetry’s GenAI semantic conventions still carries the project’s “development” stability marker, one step short of the “stable” label OpenTelemetry uses once a convention is safe to build production tooling against. The repository has shipped no tagged release, and the spec itself still lists a placeholder where a finished schema URL would go.
That matters most for anyone parsing these fields downstream, not just emitting them. A stable attribute name is a contract: OpenTelemetry won’t restructure it without a deprecation path. A development attribute has no such guarantee, and one already moved, indexed fields like gen_ai.prompt.0.content got replaced by a structured gen_ai.input.messages. A parser written against the old shape stops matching with no error to catch it. Emit the conventions, they’re still the closest thing to a standard, just don’t assume today’s field names survive the next spec revision, and re-check them before every OpenTelemetry upgrade.