{ "spec": "JCR-1 ui-output v1", "schema_id": "ui-output/1", "canonical_encoding": "JSON with sorted object keys (recursively); UTF-8; no whitespace; no float coercion. receipt_hash is BLAKE3 hex of the canonical bytes.", "note": "Two vectors covering the two extremes of the UI-output ladder under JCR-1: a Static-rung Pass that ships inside a streaming window (correlated by stream_id + window_id), and a Generative-rung Fail (capability denied) that ships outside a streaming session (empty stream correlation). Implementers in any language MUST round-trip every receipt under canonical encoding and assert byte-equal receipt_hash against the embedded value.", "vector_count": 2, "vectors": [ { "n": 1, "description": "Static Pass — registered component rendered inside stream-demo window 3.", "receipt_hash": "07a1da03f2c1e4ec881c9b00a5e1efca36c562cc665bc792ff8a38d68c561359", "receipt": { "jc_receipt": "ui-output/1", "id": "ui-001", "closed_at": "2026-06-05T00:00:00Z", "steward": "did:keri:EJ9testStewardAID000000000000000", "rung": "static", "content_hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "byte_length": 128, "granted_capabilities": [], "verdict": { "kind": "pass", "oracle_id": "static-ui-gate" }, "stream_id": "stream-demo", "window_id": 3 } }, { "n": 2, "description": "Generative Fail — requested capability `net.fetch` not in host policy; standalone (no stream correlation).", "receipt_hash": "2e9b216eecee0253a1834eeaebdaea5354fe638db901ff6337cf0bb3e35b3aa5", "receipt": { "jc_receipt": "ui-output/1", "id": "ui-002", "closed_at": "2026-06-05T00:00:01Z", "steward": "did:keri:EJ9testStewardAID000000000000000", "rung": "generative", "content_hash": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "byte_length": 4096, "granted_capabilities": [], "verdict": { "kind": "fail", "subkind": "disallowed-capability", "message": "requested `net.fetch` not in capability policy" } } } ] }