Governed Crossing

Conformance

AT Protocol lexicons check shape. These rules cover what a shape cannot express. A record that passes lexicon validation but breaks one of these rules is valid AT Protocol and is not a conformant governed crossing record.

Status: draft, applying to the org.governedcrossing.temp.* lexicons.

1. Values

Controlled fields (recordType, governanceEvent, boundType, provenanceStatus, lineageAnchorType) are open lists in the lexicons. A conformant record uses only values registered for the seam:CrossingRecord vocabulary. lineageAnchorType values witness-signed and timestamp-signed are defined but not yet usable; author-declared is the current value.

boundType must match what the architecture can actually enforce. Claiming more control than exists is not permitted; claiming less is also an error.

2. Required-when rules

3. Signatures

4. Salt

Every conformant record carries salt: at least 16 bytes, generated fresh at random for each record at emission and never reused. The salt keeps a predictable record, or a reference to one, from being confirmed by guessing. Reuse cannot be detected by third parties; a reused salt lets any counterparty that received one record confirm guesses about the emitter’s other records.

5. Completion, and what is never published

6. Commitments

7. References between records

chainReference names the upstream record by recordId (the canonical record’s own identifier, not an AT-URI of a copy) and by its link CID: the CIDv1 (DAG-CBOR, sha2-256) of the record with signatures, every $type key at any depth, provenanceStatus, provenanceStatusBasis and supersededBy removed, and no $sig inserted. The link CID is a content address, not a signature or proof, and is never verified as one. Re-signing, key rotation, additional signatures, namespace changes and status changes leave it unchanged.

8. Access changes

A change in who can see data, where the data itself does not move, is not yet covered by these lexicons. A design for recording it is in progress. Until it is published, an access change is not recorded with crossing-intent and crossing-completion records, which describe data that moves.

9. Content

A record never contains the content that crossed; only digests and references.

Known limits