The four value spaces: what is open, and what is only seeded
| namespace | value space | status | what opening waits on |
|---|---|---|---|
provenance_action | provenance.chain[].action | open | Nothing further. Draft §2.3 opens it; ratification of §2.3 is what remains |
perceptual_alg | identity.perceptual[].alg | seeded-closed | The revision that publishes the registry (draft §2.4) |
source_class | embeddings[].source.class | seeded-closed | That same revision, and a registry-backed grade table (draft §2.4, E19) |
segment_family | metadata.raw[].segment | seeded-closed | The revision that publishes the registry (draft §2.4) |
Seeding is not opening, and the distinction is the whole point of the middle three rows. provenance_action is the only value space the 1.1 draft opens. For the other three the schema keeps its enum closed, and an entry in this snapshot is a description of the closed set, not an admission rule: a new perceptual algorithm or segment family still requires a schema revision, and registering one here would not make a Record carrying it valid. Draft §2.4 states the intent to open alg and segment in the same revision that publishes the registry; that revision has not shipped.
source_class carries one condition beyond the other two. Draft §2.4: source.class "additionally requires a grade assignment for each new class (E19) and MUST NOT be opened before the grade table is registry-backed." Snapshot 1 carries the grade table — every source-class entry states its grade — which satisfies the carriage half of that condition and activates nothing. Opening it is an act of the revision that opens it.
Two details of those seeded lists are load-bearing and easy to lose:
- Grade tokens are ASCII, and
caption_auto's grade isA-with HYPHEN-MINUS (U+002D). The typographic MINUS SIGN (U+2212) typeset in 1.0 §8's table is an artifact and MUST NOT appear in any interface, query parameter, index payload, or API response (E19). That codepoint appears nowhere in this directory, andtests/test_record_registry.pyasserts it. iptcandiptc-iimare one family. Themetadata.availabilitykey isiptc, the raw-segment family isiptc-iim, and a Consumer MUST treat them as equivalent (E21). The split is not repaired in 1.1 (draft §10.3) — carryingiptcas a deprecated alias would put two spellings of one family in VER 1.x for its lifetime — and the rename is deferred to VER 2.0. Each segment entry records its availability key, ornullwhere the release set carries none.
