Tie schemes to the 'sensitive' floor: refine it, emit both

- schemes/README.md: note the wire vocabulary (sensitive) is the lowest-common-
  denominator floor and schemes refine it; producers are encouraged to emit both.
- schemes/data-class.md: add an explicit emit-both guideline in graceful
  degradation; correct the changelog date 2026-06-17 -> 2026-06-16.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Sam Morrow 2026-06-16 10:07:34 +02:00
commit daf51770fe
No known key found for this signature in database
2 changed files with 8 additions and 3 deletions

View file

@ -4,7 +4,10 @@ A **scheme** is a concrete data-labelling or tool-annotation approach that fills
the [`trust-annotations`](../specification/draft/trust-annotations.mdx)
`evidenceRef` slot under an `evidenceRef.type` value. The extension defines a
small, stable wire vocabulary and an open `type` pointer; a scheme defines the
richer, out-of-band record that pointer resolves to.
richer, out-of-band record that pointer resolves to. The wire vocabulary (notably
`sensitive`) is a lowest-common-denominator floor every client can act on;
schemes refine it for hosts that implement them, and a server that can classify
more precisely is encouraged to emit **both** the floor and a scheme record.
Schemes are **not** extensions and **not** siblings of the extensions. They are
interchangeable: a deployment can adopt one, several, or none, and can swap them

View file

@ -94,7 +94,9 @@ The record is a JSON object. Shapes below are **open questions**, not settled:
A client that does not implement `data-class.v1` ignores the record and relies on
the `trust-annotations` `sensitive` boolean, which remains meaningful on its own.
The scheme only ever *refines* the boolean; it never contradicts it (a
`data-class.v1` record only appears where `sensitive` is already `true`).
`data-class.v1` record only appears where `sensitive` is already `true`). Because
the boolean is the lowest-common-denominator floor, a producer of this scheme
SHOULD emit **both** the boolean and the record, never the record alone.
## Producer / consumer
@ -119,5 +121,5 @@ The scheme only ever *refines* the boolean; it never contradicts it (a
## Changelog
- **2026-06-17** — Initial skeleton. Payload shapes are candidates pending the
- **2026-06-16** — Initial skeleton. Payload shapes are candidates pending the
open questions above.