490 lines
10 KiB
JSON
490 lines
10 KiB
JSON
{
|
|
"$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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|