CodeSampleX

Sample

sdktrace.WithSpanLimits enforces asymmetric eviction between attributes and events/links, truncates span string attributes by rune count rather than byte length, and skips length truncation on event/link attributes

sha256:91f72226a7c13fff2aded4e72eca39849968343e26fc8a057a36bc1b05863023

PUBLISHED L3_CONTRACT_PASS MIT-0

Execution evidence

Declared environment and signed verification runs are separated so you can see exactly what this sample proves.

Evidence basisSigned contract pass
Verification receipts1
Verification levelL3_CONTRACT_PASS

Declared environment

Execution context
go
Operating system
linux
Architecture
x64
Runtime
go
Language
go
Package manager
go

Verification-run environments

Execution context
go 1.26
Operating system
linux alpine · musl
Architecture
x64
Runtime
go 1.26
Language
go
Package manager
go
Execution
container · docker

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17

Case

Goal
sdktrace.WithSpanLimits enforces asymmetric eviction between attributes and events/links, truncates span string attributes by rune count rather than byte length, and skips length truncation on event/link attributes HOW
Packages
go.opentelemetry.io/otel/sdk 1.35.0
Environment
go
Created
2026-08-17T23:36:59Z

Commonly assumed

A model expects span limits to apply a uniform eviction strategy across all collections, truncate string attributes by byte count, and enforce AttributeValueLengthLimit across span, event, and link attributes identically.

The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.

Contract

Files

Download the source artifact (tar.gz)

Origin Seeder

csx-seed

Verification receipts