Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
35d7f42
Define v1 presentation semantics
jalexspringer Jul 18, 2026
d3144c1
Withdraw ip_hash and correct the data-minimisation text
jalexspringer Jul 28, 2026
f658889
Add chars_ingested and make token counts supplementary
jalexspringer Jul 28, 2026
dcdeb18
Correct what license_ref establishes
jalexspringer Jul 28, 2026
84a9b41
State the inference-time scope and the non-emitting-intermediary limit
jalexspringer Jul 28, 2026
70d6a2a
Narrow ip_hash prohibition to the v1 migration rule
jalexspringer Jul 29, 2026
5d98aab
Define the portable character count precisely
jalexspringer Jul 29, 2026
bdca666
Add optional parent session correlation
jalexspringer Jul 29, 2026
ff1555d
Add content_reproduced to the core lifecycle
jalexspringer Aug 4, 2026
5da9479
Require a resolvable source reference on content_cited
jalexspringer Aug 4, 2026
501bd53
Require a resolvable source reference on content_reproduced
jalexspringer Aug 4, 2026
f84178f
Merge v1 presentation semantics (PR #27)
jalexspringer Aug 4, 2026
559676d
Merge citation source-reference requirement
jalexspringer Aug 4, 2026
39ce8a8
Merge content_reproduced core lifecycle event
jalexspringer Aug 4, 2026
6b7d65a
Merge ip_hash withdrawal and privacy-text correction (#2)
jalexspringer Aug 4, 2026
e6d41ff
Merge chars_ingested portable count (#6)
jalexspringer Aug 4, 2026
395e540
Merge optional parent_session_id (#1)
jalexspringer Aug 4, 2026
029bce7
Merge inference-scope and intermediary-limit clarifications (#13, #5)
jalexspringer Aug 4, 2026
fdb0f72
Merge license_ref claims correction (#22)
jalexspringer Aug 4, 2026
900f356
Align reproduced_chars with the chars_ingested counting rule
jalexspringer Aug 4, 2026
0c7bf89
Fix QA-scrub findings across spec, fixtures and docs
jalexspringer Aug 4, 2026
52daed3
Merge remote-tracking branch 'origin/main' into v1-draft
jalexspringer Aug 12, 2026
224cd89
Merge remote-tracking branch 'origin/main' into v1-draft
jalexspringer Aug 12, 2026
b89e827
Complete v1 grounding provenance and fingerprint semantics
Aug 12, 2026
b2e0d3d
Merge pull request #41 from erik-sv/pr10-v1-grounding-alignment
jalexspringer Aug 14, 2026
f106913
Add test fixture for provenance and content_fingerprint
landomo Jun 22, 2026
b5876a9
Drop preserved_in_output from the standalone provenance fixture
Aug 17, 2026
9c1ece3
Merge pull request #10 from landomo/provenance-content-fingerprint
jalexspringer Aug 17, 2026
8731299
Define the click context: ctx_token issuance, carriage, discovery and…
jalexspringer Aug 12, 2026
af939c9
Click context: gated contributing sources; owner-scoped engagement de…
jalexspringer Aug 13, 2026
053a22b
Merge pull request #38 from SPUR-Coalition/v1-click-context
jalexspringer Aug 17, 2026
01d2a4d
Terms, coverage and identity: terms_ref, occurrence boundaries, acces…
Aug 13, 2026
8b7083c
State terms_ref carriage: byte-for-byte, stable denotation, absence m…
Aug 17, 2026
9eee781
Tighten prose in 4.3, 5.1.3, 5.2.4, 5.7.6, 6.1 and fixture descriptions
Aug 18, 2026
f06c476
Remove figurative and borrowed phrasing from 5.2.4, 5.5, 5.7, 5.7.6
Aug 18, 2026
74e06fb
Add manifest coverage fixtures
Aug 18, 2026
946734c
Merge pull request #45 from SPUR-Coalition/v1-terms-coverage-identity
jalexspringer Aug 18, 2026
35b45f4
Declare v1 schema identity: schema_version 1.0, /schema/v1/ $ids
jalexspringer Aug 12, 2026
23a4998
Correct the 5.2 id row: conditionally required, emitter-assigned
jalexspringer Aug 12, 2026
eb66e64
Require data.citation_type on content_cited in the schema
jalexspringer Aug 12, 2026
2757d3a
Fix prose and description drift in 5.7, 6, 6.5, 8.3 and the schema
jalexspringer Aug 12, 2026
fed18b0
Harden the conformance runners: formats, pinned errors, all document …
jalexspringer Aug 12, 2026
25a13c8
Add fixtures pinning previously unpinned MUSTs
jalexspringer Aug 12, 2026
f928ea7
Add a mutation smoke test replaying the review's suite-weakening edits
jalexspringer Aug 12, 2026
ff8dc40
Fix stale minimal-level comment: query_tokens is permitted
jalexspringer Aug 12, 2026
4b4946b
Extend v1 identity and error pinning to the fixtures merged after thi…
jalexspringer Aug 22, 2026
b8a889b
Close the pre-freeze review findings: versioning, required fields, cl…
jalexspringer Aug 22, 2026
4f56b6e
Remove content_reproduced from v1 core
jalexspringer Sep 2, 2026
3c1e024
Close the consultation gaps recorded on #12, #17, #31 and #46
jalexspringer Sep 2, 2026
a6d78b3
Publish v1.0: release status, translated-citation guidance, portion c…
jalexspringer Sep 2, 2026
11677fd
Land the remaining accepted v1 scope from #7 and #8
jalexspringer Sep 2, 2026
7703807
Add the multi-agent worked example and extension-event namespacing
jalexspringer Sep 2, 2026
023d6c8
Merge pull request #40 from SPUR-Coalition/v1-rc-fixes
jalexspringer Sep 2, 2026
9e4bdbd
Merge main: keep the v1.0 consultation record, carrying the milestone…
jalexspringer Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Run conformance test suite
run: uv run --with jsonschema python tests/validate.py
run: uv run --with "jsonschema[format-nongpl]" python tests/validate.py
- name: Validate worked examples in the spec
run: uv run --with jsonschema python tests/check_examples.py
run: uv run --with "jsonschema[format-nongpl]" python tests/check_examples.py
- name: Replay suite-weakening mutations
run: uv run --with "jsonschema[format-nongpl]" python tests/mutation_smoke.py
18 changes: 10 additions & 8 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Status

Content Telemetry is an open specification stewarded by the SPUR Coalition. It is in preview (v0.x); see [SPECIFICATION.md](./SPECIFICATION.md) section 12 for the versioning policy.
Content Telemetry is an open specification stewarded by the SPUR Coalition. Version 1.0 is the current specification; see [SPECIFICATION.md](./SPECIFICATION.md) section 12 for the versioning policy.

## Stewardship

Expand All @@ -18,20 +18,22 @@ The SPUR Coalition stewards the specification and holds this repository. The sta

The SPUR Coalition is a group of publishers and content owners that maintains the Content Telemetry standard. It holds the intellectual property through the preview period and releases the standard under Apache 2.0 from 12 June 2026.

Contributing to the standard does not require membership. The wire format is developed in the open, and anyone - content owner, agent operator, intermediary, or implementer - can take part through the issue tracker and the comment process described in the [README](./README.md#request-for-comment).
Contributing to the standard does not require membership. The wire format is developed in the open, and anyone - content owner, agent operator, intermediary, or implementer - can take part through the issue tracker and the process described in the [README](./README.md#consultation-record).

The standard is maintained by Alex Springer (alex@spurcoalition.org). The decision-making process will be set out before 1.0.
The standard is maintained by Alex Springer (alex@spurcoalition.org).

## Path to 1.0
## Version 1.0 and decisions

The specification is at v0.1 (preview). It moves to 1.0 once the open questions are resolved, the conformance suite is stable, and there are independent interoperable implementations from more than one party. There is no fixed date.
The specification reached 1.0 on 2 September 2026, following the public consultation of 12 June to 24 July 2026 and the release-candidate work recorded on the issue tracker.

Decisions follow the proposal and alignment process in [CONTRIBUTING.md](./CONTRIBUTING.md): anyone may propose a change, a maintainer records the disposition publicly on the issue tracker, and the SPUR Steering Board approves releases. The tracker and pull-request history are the public decision record. Minor versions add optional fields and event types; breaking changes require a major version (SPECIFICATION.md section 12).

## How to participate

- File questions and bugs on the [issue tracker](https://github.com/SPUR-Coalition/telemetry/issues) (see the templates).
- Follow the [post-consultation status](./README.md#consultation-status). The
formal v1 comment window is closed, but concrete bugs and implementation
evidence remain welcome on the issue tracker.
- See the [consultation record](./README.md#consultation-record). The formal
v1 comment window is closed, but concrete bugs and implementation evidence
remain welcome on the issue tracker.
- Propose new capabilities or changes in behaviour as a short human-written note
in [`proposals/`](./proposals/), following
[CONTRIBUTING.md](./CONTRIBUTING.md).
Expand Down
103 changes: 44 additions & 59 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion SCOPE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Conformance and verification answer five separate questions:
4. **Factual truth and completeness:** did the event happen as claimed, and were all qualifying events reported?
5. **Entitlement:** was the reported use permitted under an applicable grant or agreement?

Events are claims by identified emitters. Evidence applies to a particular assertion. Origin or access evidence can corroborate only what that observer could see; it cannot prove grounding, reproduction, citation, presentation, engagement, truth, completeness or entitlement.
Events are claims by identified emitters. Evidence applies to a particular assertion. Origin or access evidence can corroborate only what that observer could see; it cannot prove grounding, citation, presentation, engagement, truth, completeness or entitlement.

Relationship configuration should avoid profile proliferation. A publisher may require `content_grounded` and `content_cited` events, intent-level topics, event delivery to a named endpoint and a set of aggregate reports. Another may require `content_cited`, `content_presented` and `content_engaged` events with a different privacy level. These are deployment choices backed by governing terms, not publisher-specific protocol profiles. A new profile is justified only when a class of relationships introduces semantics or processing rules that multiple implementations must interpret in the same way.

Expand Down
Loading
Loading