{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://hermes.bstein.dev/contracts/hux/v1/event.schema.json", "title": "HUX activity event", "description": "One entry in the per-conversation activity stream (HUX-01). seq is strictly monotonic per conversation; consumers resume with after_seq. Every other HUX record that changes state emits exactly one event.", "type": "object", "additionalProperties": false, "required": ["schema", "id", "seq", "ts", "conversation_id", "kind", "summary", "provenance", "sensitivity", "redaction"], "properties": { "schema": {"const": "hux.event.v1"}, "id": {"$ref": "common.schema.json#/$defs/id"}, "seq": {"type": "integer", "minimum": 0}, "ts": {"$ref": "common.schema.json#/$defs/timestamp"}, "conversation_id": {"$ref": "common.schema.json#/$defs/id"}, "run_id": {"type": "string", "maxLength": 120}, "parent_event_id": {"$ref": "common.schema.json#/$defs/id"}, "correlation_id": {"type": "string", "maxLength": 120}, "kind": { "type": "string", "enum": [ "message.user", "message.assistant", "decision.route", "decision.plan", "tool.call", "tool.result", "approval.requested", "approval.resolved", "memory.proposed", "memory.committed", "memory.forgotten", "artifact.created", "artifact.version", "artifact.promoted", "citation.attached", "mode.changed", "run.started", "run.cancelled", "run.completed", "run.failed", "privacy.notice", "suggestion.shown", "suggestion.dismissed", "release.transition" ] }, "summary": {"type": "string", "minLength": 1, "maxLength": 280}, "detail": {"type": "object", "description": "Kind-specific payload. Redacted according to redaction.level before leaving the tenant."}, "evidence": {"type": "array", "maxItems": 64, "items": {"$ref": "common.schema.json#/$defs/evidence_ref"}}, "provenance": {"$ref": "common.schema.json#/$defs/provenance"}, "sensitivity": {"$ref": "common.schema.json#/$defs/sensitivity"}, "redaction": {"$ref": "common.schema.json#/$defs/redaction"} } }