Skip to content

Content Telemetry v0.1 conformance and 0.1.3 release - #2

Merged
jalexspringer merged 5 commits into
mainfrom
content-telemetry-conformance
Jun 12, 2026
Merged

jalexspringer merged 5 commits into
mainfrom
content-telemetry-conformance

Conversation

@jalexspringer

Copy link
Copy Markdown
Contributor

Aligns the SDK with Content Telemetry v0.1 and prepares the 0.1.3 npm release.

  • Types and wire format aligned with the published standard (turnId, contentId, licenseRef, privacy-level field gating)
  • Version renumbered: SDK major.minor now tracks the standard version (0.1.x implements Content Telemetry 0.1)
  • Breaking: trackEngaged interactionType → engagementType with spec 6.7 values
  • Event id optional, server generates when absent (spec 5.2)
  • Fail closed when a turn omits privacy_level
  • Vendored schema.json removed; canonical schemas live in SPUR-Coalition/telemetry
  • CI added (typecheck, tests, build)

🤖 Generated with Claude Code

jalexspringer and others added 5 commits June 11, 2026 12:43
- TelemetryEvent gains turnId, contentId and licenseRef - the spec event
  fields the SDK could not emit at all (content events MUST carry
  content_url or content_id, spec 5.7.5).
- ConversationTurn gains responseMode and adRendered (spec 5.4); the
  wire serialiser now enforces the privacy-level field gating (5.5), so
  query/response text never leaves at intent or minimal and intent-level
  fields never leave at minimal.
- IntentCategory carries the spec core set (question, explanation,
  fact_check, analysis, opinion_seeking, creative, ...) with the
  commerce values kept as documented extensions.
- CitationType and CitationPosition gain 'unclassified' (spec 6.5).
- New ConformanceLevel type (retrieval | grounding | citation); session
  documents can declare an informational conformance_level and now emit
  document_type: 'session' (spec 7.1).

Additive only - no existing call sites break. 28/28 tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0.1.x implements Content Telemetry 0.1. 0.1.0 and 0.1.1 are consumed on
npm by pre-standard releases; 0.2.0-0.4.0 predate the policy and should
be deprecated on npm at publish time. Versioning policy documented in
README and CHANGELOG.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Spec 5.4 makes privacy_level required on conversation turns. The wire
helper previously treated an absent level as unrestricted, letting
query_text and other gated fields through. privacyLevel is now required
on ConversationTurn, and turnToWire strips gated fields to the minimal
set when the level is missing at runtime (untyped JS callers).

Adds wire-format gating tests and fixes two pre-existing typecheck
errors in mcp.test.ts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… add CI

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jalexspringer
jalexspringer merged commit 3f08e5c into main Jun 12, 2026
2 checks passed
@jalexspringer
jalexspringer deleted the content-telemetry-conformance branch June 12, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant