A Span defines name.note (how to build the span name). A SpanRefinement can't override it — refinements just inherit, with no way to express a provider-specific format.
Many conventions explicitly allow this. From GenAI:
gen_ai.inference.client: Span name SHOULD be {gen_ai.operation.name} {gen_ai.request.model}. Semantic conventions for individual GenAI systems and frameworks MAY specify different span name format.
Proposal
Add an optional name: SpanName to SpanRefinement. Resolution: use the refinement's name.note if set, otherwise inherit from the referenced base.
Complements #1401 (which fixes name.note preservation for top-level spans but leaves refinements emitting the type id).
A
Spandefinesname.note(how to build the span name). ASpanRefinementcan't override it — refinements just inherit, with no way to express a provider-specific format.Many conventions explicitly allow this. From GenAI:
Proposal
Add an optional
name: SpanNametoSpanRefinement. Resolution: use the refinement'sname.noteif set, otherwise inherit from the referenced base.Complements #1401 (which fixes
name.notepreservation for top-level spans but leaves refinements emitting the type id).