Schema registry and canonical artifacts
This directory is the runtime-neutral interchange boundary for durable organization records. It does not replace readable skills, research ledgers, or Git history.
Layout
registry.json: active registry with exact schema-file digests.registry.schema.json: registry meta-schema.v1/: SPEC-003-owned Draft 2020-12 schemas.fixtures/: shared Python and TypeScript conformance records.generated/: checked compatibility, current-corpus, migration, and conformance evidence.public-legacy-sources.json: the exact public fixture set allowed into generated migration evidence.typescript/: independent Ajv and canonicalization consumer with a reusable compiled runtime registry.
SPEC-002 export schemas remain in researcher/exports/schemas/ and are imported by exact digest. A schema owner keeps its file; the registry provides the common lookup surface.
Canonical bytes
jcs-rfc8785-integer-v1 is an RFC 8785-compatible subset:
- strings are UTF-8, are not Unicode-normalized, and reject lone surrogates;
- object properties sort by UTF-16 code units;
- arrays retain order;
- numbers are integers from
-9007199254740991through9007199254740991; - floats, negative zero, NaN, Infinity, duplicate keys, and hidden parser coercions fail.
JSON record digests hash those canonical bytes. Blob digests hash exact bytes. LF and CRLF therefore differ. ArtifactEnvelope.integrity.digest is excluded from its own digest calculation and no other field is excluded.