Schema fitness finding — the $id is not valid JSON Schema¶
CLOSED 2026-07-03 by Tim's ruling.
$idcorrected from the invalid fragment form tohttps://ucca.online/ns/ucco/v1/content-payload-schema.json;check_schemanow passes (verified); schema re-frozen with anx-erratumline + pack §9 erratum; pack title reconciledv0.1 → v1.0. Engine vendored copy synced byte-identical (sha2567e2703f1…). Both pack + schema are now fit and handed to Tim for the outbound crossing. The record below is retained as what was found.
What was asked¶
Does a stamped v1.0 pack exist on disk, and is it fit to cross? (Both are owed outbound to RTOpacks.)
Pack — FIT¶
docs-site/docs/strategy/ucca-input-path-contract-pack-v0.1.md — status v1.0 FROZEN, freeze-stamp
2026-07-02, stamp record citing QR1A samples (verified 2026-07-01), §6 custody acceptance
(RTOPACKS-ACK-CONTRACT-PACK-01), the content-payload review (RTOPACKS-REVIEW), and the engine response
(UCCA-RESPONSE, four deltas + Q-B4.1). All ten sections present, no unresolved ⟨TIM⟩/TODO placeholders,
every claim traces to a crossing. Fit to cross.
- Cosmetic only (not a blocker): the document title + filename say v0.1 while the status is
v1.0 FROZEN. Worth reconciling before it crosses, but it changes no substance.
Schema — REVISED and correct in shape, but ONE defect makes it unfit as-is¶
ucca-content-payload-schema-v1.json (identical bytes in docs-site/…/strategy/ and the engine's
reasoner/schemas/). It is the revised intent-typed version: title "UCCA §4.1 Content Payload — v1
(intent-typed, FROZEN 2026-07-02)", block-encoded (modules[].blocks[] = {block_id, content_html},
Q-B4.1 resolved), the ten required top-level fields matching pack §4.1, Draft 2020-12.
The defect (proven, not theoretical):
This$id carries a non-empty fragment (#/4.1/…), which the JSON Schema metaschema forbids
($id must match ^[^#]*#?$). Consequence: the canonical validation call jsonschema.validate(instance,
schema) runs check_schema first and raises SchemaError on the schema itself, before looking at
any instance. This is the exact bug that broke the engine's assembler this session — I had to bypass
check_schema with a validator instance (validator_for(schema)(schema).validate(payload)) to get the
proof job to pass. RTOpacks' conformer would hit the identical error the moment it loads the schema
to validate against.
Verdict: NOT fit to cross as-is. A schema a standard validator rejects on load is not shippable as a contract surface.
The fix (small, but not mine to make): set $id to a valid absolute URI with no fragment — e.g.
https://ucca.online/ns/ucco/v1/content-payload-schema.json — or drop $id entirely (the schema has
no internal $ref, so nothing depends on it). But the schema is FROZEN as part of the v1.0 pack, so
changing it is a contract change → relayed through Tim / a fence matter, not an engine edit
(respond-never-redline on a frozen contract). Escalated for that ruling.
Recommendation¶
Before the pair crosses: rule the $id fix (option: minimal — swap to a valid URI, re-freeze as a
stamped erratum; the shape and every field are unchanged). Reconcile the pack's v0.1 title to v1.0
in the same pass. Then both are fit.