Skip to content

Adopt Content Telemetry v1.0: profile v0.2 - #4

Merged
jalexspringer merged 2 commits into
mainfrom
adopt-standard-v1
Sep 2, 2026
Merged

jalexspringer merged 2 commits into
mainfrom
adopt-standard-v1

Conversation

@jalexspringer

Copy link
Copy Markdown
Contributor

Revises the profile (per its own section 8 adoption rule) to constrain Content Telemetry Specification v1.0, bumping the profile to v0.2.

What changed

PROFILE.md

  • Version header, normative reference, and the fixed-version language in section 2 now cite standard v1.0.
  • Event vocabulary tracks the v1 rename: "displayed" → "presented" (sections 4, 5.1, 5.2).
  • Section 5.2 is restated in the standard's new coverage vocabulary (standard, section 5.7.6): SPUR Compliant means complete coverage; aggregated and selected do not satisfy it; bilateral sampling agreements map to sampled under its stated rule; implementers SHOULD declare coverage machine-readably in the manifest's telemetry.coverage (standard, section 8.5).
  • Section 5.5.1 matches the v1.0 consumer rules: same-major schema-version acceptance and the event-batch delivery format alongside sessions and standalone events.
  • Section 6 notes the profile's operational assessment is one of the outside-core coverage-verification mechanisms the standard's 5.7.6 anticipates.

Fixtures and runner

  • All six fixtures declare schema_version: "1.0".
  • The citation lifecycle fixture gets the full v1 migration: content_presented with required presentation_kind/presentation_type, event ids and output_id on cited and presented events, citation_id linking them, and presentation_id on the engagement.
  • The standalone edge fixture renames bot_category → purpose.
  • validate.py's content-event set and both READMEs track the rename.

Left alone deliberately: bindings/. Every standard section it cites (8.5, 7.3, 4.5, 5.5, 5.7) holds in v1.0, its verbatim 8.5 quote is unchanged, and it uses no renamed vocabulary.

Verification

  • accreditation/validate.py: 6 fixtures, 6 passed.
  • All fixtures cross-validated against the standard repo's v1 JSON Schemas and application-layer rules: the four Compliant fixtures are fully valid v1.0 documents; the two negative fixtures fail on exactly their intended rule and nothing else.

🤖 Generated with Claude Code

https://claude.ai/code/session_019pcWWZA7Z4L34kG4dSw4Rf

jalexspringer and others added 2 commits September 2, 2026 17:26
Revise the profile per section 8 to constrain standard version 1.0:

- Track the content_displayed -> content_presented rename through the
  profile text, the fixture runner's content-event set, and the READMEs.
- Restate section 5.2 in the standard's new coverage vocabulary
  (standard, 5.7.6): Compliant means complete coverage; aggregated and
  selected modes do not satisfy it; bilateral sampling agreements map to
  sampled; implementers SHOULD declare coverage in telemetry.coverage.
- Update consumer conformance (5.5.1) to the v1.0 rules: same-major
  schema-version acceptance and the event-batch delivery format.
- Move all fixtures to schema_version 1.0. The citation lifecycle
  fixture gains event ids, output_id, presentation_kind/type,
  citation_id, and presentation_id per the v1 migration notes; the
  standalone edge fixture renames bot_category to purpose.

All fixtures pass the accreditation suite and validate against the
standard's v1 schemas and application-layer rules; the two negative
fixtures fail only on their intended rule. bindings/ is untouched:
every section it cites holds in v1.0 and it uses no renamed vocabulary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pcWWZA7Z4L34kG4dSw4Rf
- Close the 5.2 coverage carve-out: complete coverage now binds every
  event type the implementer emits, including the optional presentation
  and engagement lifecycle signals, restoring the v0.1 text's reach.
- Align the README summary row with 5.2: sampling is permitted by
  per-publisher agreement, only aggregation is categorically out.
- Re-anchor the technical-conformance citations: verification runs
  against the standard's JSON Schemas (Annex A) and the reference test
  suite for application-layer rules (5.7.5), which v1.0 no longer
  presents as a section 5.7 test suite.
- Harden validate.py: reject documents a v1 consumer must reject - a
  non-v1 schema_version or a withdrawn content_displayed event.
- Add accreditation/validate_schemas.py and a CI job that checks out
  the standard at v1.0 and validates every fixture against its schemas
  and application-layer reference validator, so hand-edited fixtures
  cannot drift from the wire format unnoticed.
- Add chars_ingested to the grounding exemplars: v1.0 makes it the
  SHOULD-level portable measurement, with tokens_ingested alongside.
- Add an optional per-event-type coverage demand to the licence
  reporting-config binding, the vehicle 5.2 names for sampled coverage.
- Trim duplicate 5.7.6 citations, disambiguate the README status line,
  and list every version-pin site in CONTRIBUTING's adoption procedure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pcWWZA7Z4L34kG4dSw4Rf
@jalexspringer
jalexspringer merged commit adf1436 into main Sep 2, 2026
2 checks passed
@jalexspringer
jalexspringer deleted the adopt-standard-v1 branch September 2, 2026 19:37
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