Added a scene_map prompt and corrsponding schema

This commit is contained in:
2026-05-26 19:47:13 -05:00
parent 03d268667b
commit 1515acdd4a
8 changed files with 288 additions and 1 deletions

View File

@@ -0,0 +1,135 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "D&D Session Scene Map",
"description": "Structured scene segmentation for a D&D session transcript.",
"type": "object",
"additionalProperties": false,
"required": [
"artifact_type",
"session_scope",
"scenes",
"boundary_caveats"
],
"properties": {
"artifact_type": {
"type": "string",
"const": "current_session_scene_map"
},
"session_scope": {
"type": "object",
"additionalProperties": false,
"required": [
"source_description",
"first_segment_id",
"last_segment_id",
"limitations"
],
"properties": {
"source_description": {
"type": "string",
"description": "Brief description of the transcript or source material reviewed."
},
"first_segment_id": {
"type": "string",
"description": "The first transcript segment covered by the scene map."
},
"last_segment_id": {
"type": "string",
"description": "The final transcript segment covered by the scene map."
},
"limitations": {
"type": "array",
"description": "Known limitations affecting scene segmentation.",
"items": {
"type": "string"
}
}
}
},
"scenes": {
"type": "array",
"description": "Sequential, contiguous, non-overlapping scene divisions covering the transcript.",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"scene_id",
"start_segment_id",
"end_segment_id",
"short_title",
"primary_mode",
"main_participants",
"summary",
"boundary_note",
"boundary_confidence"
],
"properties": {
"scene_id": {
"type": "string",
"description": "Stable sequential scene identifier, such as SCN-001.",
"pattern": "^SCN-[0-9]{3}$"
},
"start_segment_id": {
"type": "string",
"description": "Exact segment ID where this scene begins."
},
"end_segment_id": {
"type": "string",
"description": "Exact segment ID where this scene ends."
},
"short_title": {
"type": "string",
"description": "Compact descriptive title for the scene."
},
"primary_mode": {
"type": "string",
"enum": [
"Recap / Setup",
"Combat",
"Social",
"Exploration",
"Travel",
"Planning",
"Rest / Recovery",
"Rules / Table Discussion",
"Mixed"
],
"description": "The dominant mode of play in the scene."
},
"main_participants": {
"type": "array",
"description": "Principal player characters, NPCs, factions, or groups involved in the scene.",
"items": {
"type": "string"
}
},
"summary": {
"type": "string",
"description": "One- to three-sentence factual summary of what happened in the scene."
},
"boundary_note": {
"type": "string",
"description": "Brief explanation of why the scene starts and ends at these segment boundaries."
},
"boundary_confidence": {
"type": "string",
"enum": [
"High",
"Medium",
"Low"
],
"description": "Confidence that the chosen scene boundaries are natural and useful."
}
}
}
},
"boundary_caveats": {
"type": "array",
"description": "Overall caveats about scene segmentation, ambiguous transitions, map-dependent context, or alternative reasonable divisions.",
"items": {
"type": "string"
}
}
}
}