CodeSampleX

Sample

WithRawSpanLimits enforces zero limits literally from uninitialized SpanLimits structs truncating string attributes to empty strings and dropping all events and links, while WithSpanLimits replaces non-positive fields with SDK defaults

sha256:aa5f1848e07d186053b3d698412b433e7e4fc97b1245323347013df92d85686d

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
WithRawSpanLimits enforces zero limits literally from uninitialized SpanLimits structs truncating string attributes to empty strings and dropping all events and links, while WithSpanLimits replaces non-positive fields with SDK defaults HOW
Packages
go.opentelemetry.io/otel/sdk 1.35.0
Environment
go
Created
2026-08-17T23:37:22Z

Commonly assumed

A model assumes passing a zero-valued SpanLimits struct or partially specified limits to WithRawSpanLimits applies default limits for unmentioned fields or allows unlimited telemetry, whereas WithRawSpanLimits applies zero values verbatim, truncating string attributes to empty strings and dropping all events and links.

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