{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/GameCult/Ghostlight/schemas/lore-grounding-digest.schema.json", "title": "Ghostlight Lore Grounding Digest Schema", "description": "Compiled lore slice for grounding projection fixtures in authored historical context, culture, institutions, and factional pressure fields.", "type": "object", "required": [ "schema_version", "digest_id", "source_status", "fixture_status", "source_refs", "historical_context", "groups", "cultural_pressure_fields", "factional_misread_matrix", "role_pressure_fields", "speaker_lore_boundaries", "author_only_boundaries", "open_questions" ], "additionalProperties": false, "properties": { "schema_version": { "const": "ghostlight.lore_grounding_digest.v0" }, "digest_id": { "type": "string" }, "source_status": { "enum": [ "template", "draft", "reviewed", "superseded" ] }, "fixture_status": { "enum": [ "historical_grounded", "transition_grounded", "procedural_branch", "promoted_branch" ] }, "source_refs": { "type": "array", "items": { "$ref": "#/$defs/source_ref" } }, "historical_context": { "$ref": "#/$defs/historical_context" }, "groups": { "type": "array", "items": { "$ref": "#/$defs/group_profile" } }, "cultural_pressure_fields": { "type": "array", "items": { "$ref": "#/$defs/cultural_pressure_field" } }, "factional_misread_matrix": { "type": "array", "items": { "$ref": "#/$defs/factional_misread" } }, "role_pressure_fields": { "type": "array", "items": { "$ref": "#/$defs/role_pressure_field" } }, "speaker_lore_boundaries": { "type": "array", "items": { "$ref": "#/$defs/speaker_lore_boundary" } }, "author_only_boundaries": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } }, "open_questions": { "type": "array", "items": { "$ref": "#/$defs/open_question" } } }, "$defs": { "source_ref": { "type": "object", "required": [ "source_id", "path", "relevance" ], "additionalProperties": false, "properties": { "source_id": { "type": "string" }, "path": { "type": "string" }, "title": { "type": "string" }, "line_start": { "type": "integer", "minimum": 1 }, "line_end": { "type": "integer", "minimum": 1 }, "relevance": { "type": "string" } } }, "sourced_text": { "type": "object", "required": [ "text", "source_refs" ], "additionalProperties": false, "properties": { "text": { "type": "string" }, "source_refs": { "type": "array", "items": { "type": "string" } } } }, "historical_context": { "type": "object", "required": [ "time_period", "location", "summary", "public_facts", "ambient_pressures" ], "additionalProperties": false, "properties": { "time_period": { "type": "string" }, "location": { "type": "string" }, "summary": { "type": "string" }, "public_facts": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } }, "ambient_pressures": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } } } }, "group_profile": { "type": "object", "required": [ "group_id", "label", "group_type", "institutional_logic", "material_incentives", "internal_virtues", "internal_shames", "prestige_markers", "taboo_triggers", "emotional_display_norms", "trust_defaults", "speech_register_cues", "source_refs" ], "additionalProperties": false, "properties": { "group_id": { "type": "string" }, "label": { "type": "string" }, "group_type": { "enum": [ "faction", "institution", "class", "profession", "movement", "culture", "subculture" ] }, "institutional_logic": { "type": "array", "items": { "type": "string" } }, "material_incentives": { "type": "array", "items": { "type": "string" } }, "internal_virtues": { "type": "array", "items": { "type": "string" } }, "internal_shames": { "type": "array", "items": { "type": "string" } }, "prestige_markers": { "type": "array", "items": { "type": "string" } }, "taboo_triggers": { "type": "array", "items": { "type": "string" } }, "emotional_display_norms": { "type": "array", "items": { "type": "string" } }, "trust_defaults": { "type": "array", "items": { "type": "string" } }, "speech_register_cues": { "type": "array", "items": { "type": "string" } }, "source_refs": { "type": "array", "items": { "type": "string" } } } }, "cultural_pressure_field": { "type": "object", "required": [ "field_id", "applies_to", "pressure_type", "summary", "projection_use", "source_refs" ], "additionalProperties": false, "properties": { "field_id": { "type": "string" }, "applies_to": { "type": "array", "items": { "type": "string" } }, "pressure_type": { "enum": [ "virtue", "shame", "prestige", "taboo", "threat_model", "trust_default", "speech_norm", "status_trigger", "material_incentive", "outsider_stereotype" ] }, "summary": { "type": "string" }, "projection_use": { "type": "string" }, "source_refs": { "type": "array", "items": { "type": "string" } } } }, "factional_misread": { "type": "object", "required": [ "observer_group_id", "target_group_id", "observer_read", "target_self_read", "misread_patterns", "likely_insults", "projection_use", "source_refs" ], "additionalProperties": false, "properties": { "observer_group_id": { "type": "string" }, "target_group_id": { "type": "string" }, "observer_read": { "type": "array", "items": { "type": "string" } }, "target_self_read": { "type": "array", "items": { "type": "string" } }, "misread_patterns": { "type": "array", "items": { "type": "string" } }, "likely_insults": { "type": "array", "items": { "type": "string" } }, "projection_use": { "type": "string" }, "source_refs": { "type": "array", "items": { "type": "string" } } } }, "role_pressure_field": { "type": "object", "required": [ "role_id", "summary", "obligations", "available_masks", "failure_modes", "source_refs" ], "additionalProperties": false, "properties": { "role_id": { "type": "string" }, "summary": { "type": "string" }, "obligations": { "type": "array", "items": { "type": "string" } }, "available_masks": { "type": "array", "items": { "type": "string" } }, "failure_modes": { "type": "array", "items": { "type": "string" } }, "source_refs": { "type": "array", "items": { "type": "string" } } } }, "speaker_lore_boundary": { "type": "object", "required": [ "speaker_id", "known_context", "beliefs", "misreads", "must_not_know" ], "additionalProperties": false, "properties": { "speaker_id": { "type": "string" }, "known_context": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } }, "beliefs": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } }, "misreads": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } }, "must_not_know": { "type": "array", "items": { "$ref": "#/$defs/sourced_text" } } } }, "open_question": { "type": "object", "required": [ "question", "blocks_training", "notes" ], "additionalProperties": false, "properties": { "question": { "type": "string" }, "blocks_training": { "type": "boolean" }, "notes": { "type": "string" } } } } }