From af022cf1b9291a46ae26489175802e51b44bc035 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Thu, 16 Apr 2026 13:42:31 +0200 Subject: [PATCH 1/2] fix: Correct replacement for `"ai.finish_reason"` The attribute is correctly called `"gen_ai.response.finish_reasons"` in the alias list. --- model/attributes/ai/ai__finish_reason.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/attributes/ai/ai__finish_reason.json b/model/attributes/ai/ai__finish_reason.json index 67b35b6a..5cba96d0 100644 --- a/model/attributes/ai/ai__finish_reason.json +++ b/model/attributes/ai/ai__finish_reason.json @@ -9,7 +9,7 @@ "example": "COMPLETE", "deprecation": { "_status": null, - "replacement": "gen_ai.response.finish_reason" + "replacement": "gen_ai.response.finish_reasons" }, "alias": ["gen_ai.response.finish_reasons"], "changelog": [ From c37f9611fc0e93da649963637a6b1801b6bf76d9 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Thu, 16 Apr 2026 13:49:56 +0200 Subject: [PATCH 2/2] generate --- javascript/sentry-conventions/src/attributes.ts | 4 ++-- python/src/sentry_conventions/attributes.py | 4 ++-- shared/deprecated_attributes.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index e15aefd3..5eaa4fed 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -78,7 +78,7 @@ export type AI_DOCUMENTS_TYPE = Array; * * Aliases: {@link GEN_AI_RESPONSE_FINISH_REASONS} `gen_ai.response.finish_reasons` * - * @deprecated Use {@link GEN_AI_RESPONSE_FINISH_REASON} (gen_ai.response.finish_reason) instead + * @deprecated Use {@link GEN_AI_RESPONSE_FINISH_REASONS} (gen_ai.response.finish_reasons) instead * @example "COMPLETE" */ export const AI_FINISH_REASON = 'ai.finish_reason'; @@ -12556,7 +12556,7 @@ export const ATTRIBUTE_METADATA: Record = { isInOtel: false, example: 'COMPLETE', deprecation: { - replacement: 'gen_ai.response.finish_reason', + replacement: 'gen_ai.response.finish_reasons', }, aliases: [GEN_AI_RESPONSE_FINISH_REASONS], changelog: [{ version: '0.1.0', prs: [55, 57, 61, 108, 127] }], diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 447f297a..593a168d 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -297,7 +297,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Contains PII: maybe Defined in OTEL: No Aliases: gen_ai.response.finish_reasons - DEPRECATED: Use gen_ai.response.finish_reason instead + DEPRECATED: Use gen_ai.response.finish_reasons instead Example: "COMPLETE" """ @@ -6337,7 +6337,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): pii=PiiInfo(isPii=IsPii.MAYBE), is_in_otel=False, example="COMPLETE", - deprecation=DeprecationInfo(replacement="gen_ai.response.finish_reason"), + deprecation=DeprecationInfo(replacement="gen_ai.response.finish_reasons"), aliases=["gen_ai.response.finish_reasons"], changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 57, 61, 108, 127]), diff --git a/shared/deprecated_attributes.json b/shared/deprecated_attributes.json index 66c415be..f02ba4f6 100644 --- a/shared/deprecated_attributes.json +++ b/shared/deprecated_attributes.json @@ -651,7 +651,7 @@ "example": "COMPLETE", "deprecation": { "_status": null, - "replacement": "gen_ai.response.finish_reason" + "replacement": "gen_ai.response.finish_reasons" }, "alias": ["gen_ai.response.finish_reasons"], "changelog": [