Eval2Otel conformance fixtures include adversarial privacy and cardinality cases so adapter changes cannot silently leak content or overwhelm spans.
chat-redaction.json: verifies string redaction, provenance attributes, and redaction counters.tool-provenance.json: verifies tool argument truncation and adapter evidence attributes.event-cap-rag.json: verifies event caps and dropped-event counters for RAG metadata.adversarial-redaction-null.json: verifies prompt injection strings and secret-like tool arguments are removed, replaced with fingerprints, and kept out of event attributes.adversarial-payload-cap.json: verifies oversized content is capped, truncation is marked, and uncapped tails are not emitted.
- Secret-like values appearing in
gen_ai.message.contentorgen_ai.tool.arguments. - Redaction hooks returning
nullwithout leaving a stable content fingerprint. - Tool argument leakage through nested JSON serialization.
- Unbounded message or RAG chunk events on a single span.
- New expected fixture attributes bypassing the semantic convention registry.
- Add a JSON fixture under
test/fixtures/conformance. - Include
config,evalResult, andexpectedsections. - Use
redactPatternplusredactMode: "null"when the fixture should assert fingerprint-only output. - Add
forbiddenContenton events for any string that must never appear. - Add
absentAttributesfor content attributes that must be omitted. - Run:
npm test -- --runTestsByPath test/conformance-contract.test.ts test/semconv.test.tsThe fixture should prove both the positive output shape and the negative leak condition.