Ghostlight/schemas/event-record.schema.json
2026-05-04 14:59:42 +01:00

41 lines
1.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/GameCult/Ghostlight/schemas/event-record.schema.json",
"title": "Ghostlight Event Record",
"description": "Observable event distilled from an accepted responder output, with visibility scope and hidden intent explicitly separated from participant-local appraisal.",
"type": "object",
"required": [
"schema_version",
"event_id",
"review_status",
"scene_loop_id",
"turn_id",
"source_responder_output_ref",
"actor_agent_id",
"observable_action",
"spoken_text",
"visible_object_refs",
"visibility_scope",
"affected_participant_ids",
"public_state_changes",
"hidden_intent_handling",
"review"
],
"properties": {
"schema_version": { "const": "ghostlight.event_record.v0" },
"event_id": { "type": "string", "minLength": 1 },
"review_status": { "type": "string" },
"scene_loop_id": { "type": "string", "minLength": 1 },
"turn_id": { "type": "string", "minLength": 1 },
"source_responder_output_ref": { "type": "string", "minLength": 1 },
"actor_agent_id": { "type": "string", "minLength": 1 },
"observable_action": { "type": "string", "minLength": 1 },
"spoken_text": { "type": "string" },
"visible_object_refs": { "type": "array", "items": { "type": "string" } },
"visibility_scope": { "enum": ["public_room", "participant_local", "camera_mediated", "partial_sightline", "coordinator_only"] },
"affected_participant_ids": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
"public_state_changes": { "type": "array" },
"hidden_intent_handling": { "type": "string", "minLength": 1 },
"review": { "type": "object" }
}
}