{ "spec": "JCR-1 event-log v1", "schema_id": "event-log/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 states an event-log/1 receipt can land in: a small log snapshot (goal + 2 objects + 1 relation + 1 llm_req/resp pair, 120 tokens) and a larger session snapshot (multiple LLM/tool calls, several objects, a few receipts emitted inline). 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": "Small log snapshot: goal + 2 objects + 1 relation + 1 LLM exchange; 120 tokens.", "receipt_hash": "e3081135c35e31294b128ceb5d075c1b35e5ead4ab837b6aad7d03eb65f18c04", "receipt": { "jc_receipt": "event-log/1", "id": "log-demo:b3abc", "closed_at": "2026-06-05T00:00:00Z", "steward": "did:keri:EJ9testStewardAID000000000000000", "log_id": "log-demo", "head_event_hash": "b3abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123", "chain_depth": 5, "counts": { "goal": 1, "object": 2, "relation": 1, "llm_req": 1, "llm_resp": 0, "tool_req": 0, "tool_resp": 0, "patch": 0, "receipt": 0 }, "total_tokens": 120 } }, { "n": 2, "description": "Larger session snapshot: 3 goals, 7 objects, 4 relations, 3 LLM exchanges, 2 tool exchanges, 1 patch, 2 receipts emitted inline; 1450 tokens.", "receipt_hash": "99a452d54d9767d487f411d1c147350fff39c99dea6256d5dd134b9afba7668b", "receipt": { "jc_receipt": "event-log/1", "id": "log-session-7:b3def", "closed_at": "2026-06-05T00:01:00Z", "steward": "did:keri:EJ9testStewardAID000000000000000", "log_id": "log-session-7", "head_event_hash": "b3defabcdef0123456789abcdef0123456789abcdef0123456789abcdef01", "chain_depth": 22, "counts": { "goal": 3, "object": 7, "relation": 4, "llm_req": 3, "llm_resp": 3, "tool_req": 2, "tool_resp": 2, "patch": 1, "receipt": 2 }, "total_tokens": 1450 } } ] }