Add the Narratio D&D processing configuration
This commit is contained in:
@@ -50,3 +50,64 @@ dnd_pipeline_audita_context_description: >-
|
||||
to actual D&D gameplay.
|
||||
dnd_pipeline_audita_diagnostics_work_dir: /tmp/audita
|
||||
dnd_pipeline_audita_diagnostics_retention: auto
|
||||
dnd_pipeline_narratio_seriatim_output_schema: seriatim-intermediate
|
||||
dnd_pipeline_narratio_normalize_output_path: transcripts/final.json
|
||||
dnd_pipeline_narratio_normalize_output_schema: seriatim-intermediate
|
||||
dnd_pipeline_narratio_trim_enabled: true
|
||||
dnd_pipeline_narratio_trim_output_path: transcripts/final.trimmed.json
|
||||
dnd_pipeline_narratio_trim_bounds_prompt_id: dnd.session_bounds
|
||||
dnd_pipeline_narratio_trim_bounds_transcript_input_name: transcript
|
||||
dnd_pipeline_narratio_trim_bounds_output_path: artifacts/session_bounds.json
|
||||
dnd_pipeline_narratio_render_enabled: true
|
||||
dnd_pipeline_narratio_render_format: markdown
|
||||
dnd_pipeline_narratio_session_recap_artifact:
|
||||
enabled: true
|
||||
prompt_id: dnd.session_recap
|
||||
output_path: artifacts/session_recap.md
|
||||
inputs:
|
||||
transcript:
|
||||
source: narratio.transcript.final_trimmed
|
||||
required: true
|
||||
recap:
|
||||
source: narratio.previous_session.artifact.session_recap
|
||||
required: false
|
||||
dnd_pipeline_narratio_hostile_rumors_artifact:
|
||||
enabled: true
|
||||
prompt_id: dnd.hostile_rumors
|
||||
output_path: artifacts/hostile_rumors.md
|
||||
inputs:
|
||||
recap:
|
||||
source: narratio.artifact.session_recap
|
||||
required: true
|
||||
dnd_pipeline_narratio_deranged_rumors_artifact:
|
||||
enabled: true
|
||||
prompt_id: dnd.deranged_rumors
|
||||
output_path: artifacts/deranged_rumors.md
|
||||
inputs:
|
||||
recap:
|
||||
source: narratio.artifact.session_recap
|
||||
required: true
|
||||
dnd_pipeline_narratio_scene_map_artifact:
|
||||
enabled: false
|
||||
prompt_id: dnd.scene_map
|
||||
output_path: artifacts/scene_map.json
|
||||
inputs:
|
||||
transcript:
|
||||
source: narratio.transcript.final_trimmed
|
||||
required: true
|
||||
dnd_pipeline_narratio_character_analysis_family:
|
||||
enabled: false
|
||||
for_each: party.characters
|
||||
prompt_id: dnd.character_meta_analysis
|
||||
output_path_pattern: artifacts/character_meta_analysis/{character_id}.md
|
||||
inputs:
|
||||
transcript:
|
||||
source: narratio.transcript.final_trimmed
|
||||
required: true
|
||||
recap:
|
||||
source: narratio.previous_session.artifact.session_recap
|
||||
required: false
|
||||
member_vars:
|
||||
character_name: character.name
|
||||
character_class: character.class_summary
|
||||
dnd_pipeline_narratio_testing_scriptorium_profile: gemini-flash-latest
|
||||
|
||||
@@ -180,3 +180,67 @@ argument_specs:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita diagnostics retention policy.
|
||||
dnd_pipeline_narratio_seriatim_output_schema:
|
||||
type: str
|
||||
required: true
|
||||
description: Seriatim schema consumed by the D&D processing workflow.
|
||||
dnd_pipeline_narratio_normalize_output_path:
|
||||
type: str
|
||||
required: true
|
||||
description: Canonical normalized transcript output path.
|
||||
dnd_pipeline_narratio_normalize_output_schema:
|
||||
type: str
|
||||
required: true
|
||||
description: Schema for the normalized transcript output.
|
||||
dnd_pipeline_narratio_trim_enabled:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether D&D transcript trimming is enabled.
|
||||
dnd_pipeline_narratio_trim_output_path:
|
||||
type: str
|
||||
required: true
|
||||
description: Canonical trimmed transcript output path.
|
||||
dnd_pipeline_narratio_trim_bounds_prompt_id:
|
||||
type: str
|
||||
required: true
|
||||
description: Prompt that identifies D&D session bounds.
|
||||
dnd_pipeline_narratio_trim_bounds_transcript_input_name:
|
||||
type: str
|
||||
required: true
|
||||
description: Bounds prompt input receiving the transcript.
|
||||
dnd_pipeline_narratio_trim_bounds_output_path:
|
||||
type: str
|
||||
required: true
|
||||
description: Canonical session-bounds artifact output path.
|
||||
dnd_pipeline_narratio_render_enabled:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether transcript rendering is enabled.
|
||||
dnd_pipeline_narratio_render_format:
|
||||
type: str
|
||||
required: true
|
||||
description: Format for rendered D&D transcripts.
|
||||
dnd_pipeline_narratio_session_recap_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the session recap artifact.
|
||||
dnd_pipeline_narratio_hostile_rumors_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the hostile rumors artifact.
|
||||
dnd_pipeline_narratio_deranged_rumors_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the deranged rumors artifact.
|
||||
dnd_pipeline_narratio_scene_map_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the scene map artifact.
|
||||
dnd_pipeline_narratio_character_analysis_family:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the character analysis family.
|
||||
dnd_pipeline_narratio_testing_scriptorium_profile:
|
||||
type: str
|
||||
required: true
|
||||
description: Scriptorium profile selected by the testing overlay.
|
||||
|
||||
@@ -80,6 +80,13 @@ dependencies:
|
||||
narratio_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||
narratio_whisperx_transcribe_url: "{{ dnd_pipeline_whisperx_transcribe_url }}"
|
||||
narratio_campaigns_root: "{{ dnd_pipeline_campaigns_root }}"
|
||||
narratio_configkit_imports:
|
||||
- path: conf.d/processing.yml
|
||||
- path: artifacts/session-recap.yml
|
||||
- path: artifacts/hostile-rumors.yml
|
||||
- path: artifacts/deranged-rumors.yml
|
||||
- path: artifacts/scene-map.yml
|
||||
- path: artifact-families/character-meta-analysis.yml
|
||||
narratio_seriatim_binary: /usr/local/bin/seriatim
|
||||
narratio_audita_binary: /usr/local/bin/audita
|
||||
narratio_audita_config_path: /usr/local/etc/audita/config.yml
|
||||
|
||||
@@ -25,3 +25,41 @@
|
||||
version: "{{ dnd_pipeline_prompt_library_revision }}"
|
||||
update: true
|
||||
force: true
|
||||
|
||||
- name: Create Narratio configuration directories
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "/usr/local/etc/narratio/{{ item }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: narratio
|
||||
mode: "0750"
|
||||
loop:
|
||||
- conf.d
|
||||
- artifacts
|
||||
- artifact-families
|
||||
- profiles
|
||||
|
||||
- name: Deploy Narratio D&D configuration fragments
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "/usr/local/etc/narratio/{{ item.dest }}"
|
||||
owner: root
|
||||
group: narratio
|
||||
mode: "0640"
|
||||
loop:
|
||||
- src: processing.yml.j2
|
||||
dest: conf.d/processing.yml
|
||||
- src: session-recap.yml.j2
|
||||
dest: artifacts/session-recap.yml
|
||||
- src: hostile-rumors.yml.j2
|
||||
dest: artifacts/hostile-rumors.yml
|
||||
- src: deranged-rumors.yml.j2
|
||||
dest: artifacts/deranged-rumors.yml
|
||||
- src: scene-map.yml.j2
|
||||
dest: artifacts/scene-map.yml
|
||||
- src: character-meta-analysis.yml.j2
|
||||
dest: artifact-families/character-meta-analysis.yml
|
||||
- src: testing.yml.j2
|
||||
dest: profiles/testing.yml
|
||||
|
||||
4
templates/character-meta-analysis.yml.j2
Normal file
4
templates/character-meta-analysis.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
scriptorium:
|
||||
artifact_families:
|
||||
character_meta_analysis:
|
||||
{{ dnd_pipeline_narratio_character_analysis_family | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||
4
templates/deranged-rumors.yml.j2
Normal file
4
templates/deranged-rumors.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
scriptorium:
|
||||
artifacts:
|
||||
deranged_rumors:
|
||||
{{ dnd_pipeline_narratio_deranged_rumors_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||
4
templates/hostile-rumors.yml.j2
Normal file
4
templates/hostile-rumors.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
scriptorium:
|
||||
artifacts:
|
||||
hostile_rumors:
|
||||
{{ dnd_pipeline_narratio_hostile_rumors_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||
17
templates/processing.yml.j2
Normal file
17
templates/processing.yml.j2
Normal file
@@ -0,0 +1,17 @@
|
||||
audita:
|
||||
output_schema: {{ dnd_pipeline_audita_output_schema | to_json }}
|
||||
seriatim:
|
||||
output_schema: {{ dnd_pipeline_narratio_seriatim_output_schema | to_json }}
|
||||
normalize:
|
||||
output_path: {{ dnd_pipeline_narratio_normalize_output_path | to_json }}
|
||||
output_schema: {{ dnd_pipeline_narratio_normalize_output_schema | to_json }}
|
||||
trim:
|
||||
enabled: {{ dnd_pipeline_narratio_trim_enabled | to_json }}
|
||||
output_path: {{ dnd_pipeline_narratio_trim_output_path | to_json }}
|
||||
bounds:
|
||||
prompt_id: {{ dnd_pipeline_narratio_trim_bounds_prompt_id | to_json }}
|
||||
transcript_input_name: {{ dnd_pipeline_narratio_trim_bounds_transcript_input_name | to_json }}
|
||||
output_path: {{ dnd_pipeline_narratio_trim_bounds_output_path | to_json }}
|
||||
render:
|
||||
enabled: {{ dnd_pipeline_narratio_render_enabled | to_json }}
|
||||
format: {{ dnd_pipeline_narratio_render_format | to_json }}
|
||||
4
templates/scene-map.yml.j2
Normal file
4
templates/scene-map.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
scriptorium:
|
||||
artifacts:
|
||||
scene_map:
|
||||
{{ dnd_pipeline_narratio_scene_map_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||
4
templates/session-recap.yml.j2
Normal file
4
templates/session-recap.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
scriptorium:
|
||||
artifacts:
|
||||
session_recap:
|
||||
{{ dnd_pipeline_narratio_session_recap_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||
13
templates/testing.yml.j2
Normal file
13
templates/testing.yml.j2
Normal file
@@ -0,0 +1,13 @@
|
||||
scriptorium:
|
||||
artifacts:
|
||||
session_recap:
|
||||
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||
hostile_rumors:
|
||||
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||
deranged_rumors:
|
||||
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||
scene_map:
|
||||
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||
artifact_families:
|
||||
character_meta_analysis:
|
||||
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||
Reference in New Issue
Block a user