Adopt the Narratio v3 configuration interface
This commit is contained in:
39
README.md
39
README.md
@@ -8,7 +8,7 @@ application state.
|
||||
## Variables
|
||||
|
||||
```yaml
|
||||
narratio_version: v2.2.0
|
||||
narratio_version: v3.0.0
|
||||
narratio_repository_url: https://gitea.maximumdirect.net/eric/narratio.git
|
||||
narratio_source_dir: /usr/local/src/narratio
|
||||
narratio_binary_path: /usr/local/bin/narratio
|
||||
@@ -64,19 +64,14 @@ narratio_seriatim_env_backchannel_max_duration: null
|
||||
narratio_seriatim_env_filler_max_duration: null
|
||||
narratio_audita_binary: null
|
||||
narratio_audita_timeout: null
|
||||
narratio_audita_llm_api_key: null
|
||||
narratio_audita_credentials: null
|
||||
narratio_audita_modules: null
|
||||
narratio_audita_base_url: null
|
||||
narratio_audita_model: null
|
||||
narratio_audita_total_llm_concurrency: null
|
||||
narratio_audita_proposal_llm_concurrency: null
|
||||
narratio_audita_validation_model: null
|
||||
narratio_audita_validation_llm_concurrency: null
|
||||
narratio_audita_overlay: null
|
||||
narratio_audita_proposal_profile: null
|
||||
narratio_audita_validation_profile: null
|
||||
narratio_audita_transcript_description: null
|
||||
narratio_audita_config_path: null
|
||||
narratio_audita_output_schema: null
|
||||
narratio_audita_work_dir_retention: null
|
||||
narratio_audita_report: null
|
||||
narratio_normalize_output_path: null
|
||||
narratio_normalize_output_schema: null
|
||||
narratio_normalize_report: null
|
||||
@@ -105,11 +100,11 @@ narratio_scriptorium_artifact_families: null
|
||||
narratio_notarius_enabled: null
|
||||
narratio_notarius_binary: null
|
||||
narratio_notarius_config_path: null
|
||||
narratio_notarius_config_profile: null
|
||||
narratio_notarius_config_overlay: null
|
||||
narratio_notarius_pipeline_id: null
|
||||
narratio_notarius_timeout: null
|
||||
narratio_notarius_working_directory: null
|
||||
narratio_notarius_llm_api_key: null
|
||||
narratio_notarius_credentials: null
|
||||
narratio_notarius_resume: null
|
||||
narratio_notarius_chunk_cache: null
|
||||
narratio_notarius_references: null
|
||||
@@ -136,18 +131,24 @@ falsey values are preserved. `narratio_publish_outputs`,
|
||||
`narratio_notarius_references`, `narratio_notarius_outputs`,
|
||||
`narratio_scriptorium_artifacts`, and `narratio_scriptorium_artifact_families`
|
||||
are complete native caller values, so callers may compose them before assigning
|
||||
them and the role does not merge or rewrite them. Credential fields name
|
||||
environment variables only; credential values remain outside this role and are
|
||||
the caller's responsibility. `narratio_notarius_llm_api_key` names the
|
||||
environment variable that Narratio forwards to Notarius. The optional
|
||||
`narratio_notarius_config_profile` selects a Notarius ConfigKit overlay without
|
||||
coupling it to Narratio's own profile name. The optional `narratio_notarius_resume`
|
||||
them and the role does not merge or rewrite them. Credential lists contain
|
||||
environment-variable names only; credential values remain outside this role
|
||||
and are the caller's responsibility. The optional
|
||||
`narratio_notarius_config_overlay` selects a Notarius ConfigKit overlay without
|
||||
coupling it to Narratio's own overlay name. The optional `narratio_notarius_resume`
|
||||
and `narratio_notarius_chunk_cache` settings expose Narratio's native extraction
|
||||
and chunk-plan choices; this generic role assigns no D&D-specific credential or
|
||||
cache policy.
|
||||
ConfigKit imports and profile overlays are externally managed, and this role
|
||||
ConfigKit imports and selected overlays are externally managed, and this role
|
||||
does not install the downstream applications, campaign content, or suite policy.
|
||||
|
||||
Narratio v3 removes the old Audita tuning, report, retention, and singular-key
|
||||
role variables. It also replaces `narratio_notarius_llm_api_key` with
|
||||
`narratio_notarius_credentials` and renames
|
||||
`narratio_notarius_config_profile` to `narratio_notarius_config_overlay`.
|
||||
Existing deployments that cannot migrate these inputs should retain their
|
||||
previous Narratio role pin.
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
narratio_version: v2.2.0
|
||||
narratio_version: v3.0.0
|
||||
narratio_repository_url: https://gitea.maximumdirect.net/eric/narratio.git
|
||||
narratio_source_dir: /usr/local/src/narratio
|
||||
narratio_binary_path: /usr/local/bin/narratio
|
||||
@@ -49,19 +49,14 @@ narratio_seriatim_env_backchannel_max_duration: null
|
||||
narratio_seriatim_env_filler_max_duration: null
|
||||
narratio_audita_binary: null
|
||||
narratio_audita_timeout: null
|
||||
narratio_audita_llm_api_key: null
|
||||
narratio_audita_credentials: null
|
||||
narratio_audita_modules: null
|
||||
narratio_audita_base_url: null
|
||||
narratio_audita_model: null
|
||||
narratio_audita_total_llm_concurrency: null
|
||||
narratio_audita_proposal_llm_concurrency: null
|
||||
narratio_audita_validation_model: null
|
||||
narratio_audita_validation_llm_concurrency: null
|
||||
narratio_audita_overlay: null
|
||||
narratio_audita_proposal_profile: null
|
||||
narratio_audita_validation_profile: null
|
||||
narratio_audita_transcript_description: null
|
||||
narratio_audita_config_path: null
|
||||
narratio_audita_output_schema: null
|
||||
narratio_audita_work_dir_retention: null
|
||||
narratio_audita_report: null
|
||||
narratio_normalize_output_path: null
|
||||
narratio_normalize_output_schema: null
|
||||
narratio_normalize_report: null
|
||||
@@ -90,11 +85,11 @@ narratio_scriptorium_artifact_families: null
|
||||
narratio_notarius_enabled: null
|
||||
narratio_notarius_binary: null
|
||||
narratio_notarius_config_path: null
|
||||
narratio_notarius_config_profile: null
|
||||
narratio_notarius_config_overlay: null
|
||||
narratio_notarius_pipeline_id: null
|
||||
narratio_notarius_timeout: null
|
||||
narratio_notarius_working_directory: null
|
||||
narratio_notarius_llm_api_key: null
|
||||
narratio_notarius_credentials: null
|
||||
narratio_notarius_resume: null
|
||||
narratio_notarius_chunk_cache: null
|
||||
narratio_notarius_references: null
|
||||
|
||||
@@ -54,19 +54,14 @@ argument_specs:
|
||||
narratio_seriatim_env_filler_max_duration: {type: float, required: false}
|
||||
narratio_audita_binary: {type: str, required: false}
|
||||
narratio_audita_timeout: {type: str, required: false}
|
||||
narratio_audita_llm_api_key: {type: str, required: false}
|
||||
narratio_audita_credentials: {type: list, elements: str, required: false}
|
||||
narratio_audita_modules: {type: list, required: false}
|
||||
narratio_audita_base_url: {type: str, required: false}
|
||||
narratio_audita_model: {type: str, required: false}
|
||||
narratio_audita_total_llm_concurrency: {type: int, required: false}
|
||||
narratio_audita_proposal_llm_concurrency: {type: int, required: false}
|
||||
narratio_audita_validation_model: {type: str, required: false}
|
||||
narratio_audita_validation_llm_concurrency: {type: int, required: false}
|
||||
narratio_audita_overlay: {type: str, required: false}
|
||||
narratio_audita_proposal_profile: {type: str, required: false}
|
||||
narratio_audita_validation_profile: {type: str, required: false}
|
||||
narratio_audita_transcript_description: {type: str, required: false}
|
||||
narratio_audita_config_path: {type: str, required: false}
|
||||
narratio_audita_output_schema: {type: str, required: false}
|
||||
narratio_audita_work_dir_retention: {type: str, required: false}
|
||||
narratio_audita_report: {type: bool, required: false}
|
||||
narratio_normalize_output_path: {type: str, required: false}
|
||||
narratio_normalize_output_schema: {type: str, required: false}
|
||||
narratio_normalize_report: {type: bool, required: false}
|
||||
@@ -95,11 +90,11 @@ argument_specs:
|
||||
narratio_notarius_enabled: {type: bool, required: false}
|
||||
narratio_notarius_binary: {type: str, required: false}
|
||||
narratio_notarius_config_path: {type: str, required: false}
|
||||
narratio_notarius_config_profile: {type: str, required: false}
|
||||
narratio_notarius_config_overlay: {type: str, required: false}
|
||||
narratio_notarius_pipeline_id: {type: str, required: false}
|
||||
narratio_notarius_timeout: {type: str, required: false}
|
||||
narratio_notarius_working_directory: {type: str, required: false}
|
||||
narratio_notarius_llm_api_key: {type: str, required: false}
|
||||
narratio_notarius_credentials: {type: list, elements: str, required: false}
|
||||
narratio_notarius_resume: {type: bool, required: false}
|
||||
narratio_notarius_chunk_cache: {type: str, required: false}
|
||||
narratio_notarius_references: {type: dict, required: false}
|
||||
|
||||
@@ -114,7 +114,7 @@ seriatim:
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if narratio_audita_binary is not none or narratio_audita_timeout is not none or narratio_audita_llm_api_key is not none or narratio_audita_modules is not none or narratio_audita_base_url is not none or narratio_audita_model is not none or narratio_audita_total_llm_concurrency is not none or narratio_audita_proposal_llm_concurrency is not none or narratio_audita_validation_model is not none or narratio_audita_validation_llm_concurrency is not none or narratio_audita_transcript_description is not none or narratio_audita_config_path is not none or narratio_audita_output_schema is not none or narratio_audita_work_dir_retention is not none or narratio_audita_report is not none %}
|
||||
{% if narratio_audita_binary is not none or narratio_audita_timeout is not none or narratio_audita_credentials is not none or narratio_audita_modules is not none or narratio_audita_overlay is not none or narratio_audita_proposal_profile is not none or narratio_audita_validation_profile is not none or narratio_audita_transcript_description is not none or narratio_audita_config_path is not none or narratio_audita_output_schema is not none %}
|
||||
audita:
|
||||
{% if narratio_audita_binary is not none %}
|
||||
binary: {{ narratio_audita_binary | to_json }}
|
||||
@@ -122,29 +122,20 @@ audita:
|
||||
{% if narratio_audita_timeout is not none %}
|
||||
timeout: {{ narratio_audita_timeout | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_llm_api_key is not none %}
|
||||
llm_api_key: {{ narratio_audita_llm_api_key | to_json }}
|
||||
{% if narratio_audita_credentials is not none %}
|
||||
credentials: {{ narratio_audita_credentials | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_modules is not none %}
|
||||
modules: {{ narratio_audita_modules | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_base_url is not none %}
|
||||
base_url: {{ narratio_audita_base_url | to_json }}
|
||||
{% if narratio_audita_overlay is not none %}
|
||||
overlay: {{ narratio_audita_overlay | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_model is not none %}
|
||||
model: {{ narratio_audita_model | to_json }}
|
||||
{% if narratio_audita_proposal_profile is not none %}
|
||||
proposal_profile: {{ narratio_audita_proposal_profile | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_total_llm_concurrency is not none %}
|
||||
total_llm_concurrency: {{ narratio_audita_total_llm_concurrency | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_proposal_llm_concurrency is not none %}
|
||||
proposal_llm_concurrency: {{ narratio_audita_proposal_llm_concurrency | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_validation_model is not none %}
|
||||
validation_model: {{ narratio_audita_validation_model | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_validation_llm_concurrency is not none %}
|
||||
validation_llm_concurrency: {{ narratio_audita_validation_llm_concurrency | to_json }}
|
||||
{% if narratio_audita_validation_profile is not none %}
|
||||
validation_profile: {{ narratio_audita_validation_profile | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_transcript_description is not none %}
|
||||
transcript_description: {{ narratio_audita_transcript_description | to_json }}
|
||||
@@ -155,12 +146,6 @@ audita:
|
||||
{% if narratio_audita_output_schema is not none %}
|
||||
output_schema: {{ narratio_audita_output_schema | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_work_dir_retention is not none %}
|
||||
work_dir_retention: {{ narratio_audita_work_dir_retention | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_audita_report is not none %}
|
||||
report: {{ narratio_audita_report | to_json }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if narratio_normalize_output_path is not none or narratio_normalize_output_schema is not none or narratio_normalize_report is not none %}
|
||||
normalize:
|
||||
@@ -253,7 +238,7 @@ scriptorium:
|
||||
artifact_families: {{ narratio_scriptorium_artifact_families | to_json }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_enabled is not none or narratio_notarius_binary is not none or narratio_notarius_config_path is not none or narratio_notarius_config_profile is not none or narratio_notarius_pipeline_id is not none or narratio_notarius_timeout is not none or narratio_notarius_working_directory is not none or narratio_notarius_llm_api_key is not none or narratio_notarius_resume is not none or narratio_notarius_chunk_cache is not none or narratio_notarius_references is not none or narratio_notarius_outputs is not none %}
|
||||
{% if narratio_notarius_enabled is not none or narratio_notarius_binary is not none or narratio_notarius_config_path is not none or narratio_notarius_config_overlay is not none or narratio_notarius_pipeline_id is not none or narratio_notarius_timeout is not none or narratio_notarius_working_directory is not none or narratio_notarius_credentials is not none or narratio_notarius_resume is not none or narratio_notarius_chunk_cache is not none or narratio_notarius_references is not none or narratio_notarius_outputs is not none %}
|
||||
notarius:
|
||||
{% if narratio_notarius_enabled is not none %}
|
||||
enabled: {{ narratio_notarius_enabled | to_json }}
|
||||
@@ -264,8 +249,8 @@ notarius:
|
||||
{% if narratio_notarius_config_path is not none %}
|
||||
config_path: {{ narratio_notarius_config_path | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_config_profile is not none %}
|
||||
config_profile: {{ narratio_notarius_config_profile | to_json }}
|
||||
{% if narratio_notarius_config_overlay is not none %}
|
||||
config_overlay: {{ narratio_notarius_config_overlay | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_pipeline_id is not none %}
|
||||
pipeline_id: {{ narratio_notarius_pipeline_id | to_json }}
|
||||
@@ -276,8 +261,8 @@ notarius:
|
||||
{% if narratio_notarius_working_directory is not none %}
|
||||
working_directory: {{ narratio_notarius_working_directory | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_llm_api_key is not none %}
|
||||
llm_api_key: {{ narratio_notarius_llm_api_key | to_json }}
|
||||
{% if narratio_notarius_credentials is not none %}
|
||||
credentials: {{ narratio_notarius_credentials | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_resume is not none %}
|
||||
resume: {{ narratio_notarius_resume | to_json }}
|
||||
|
||||
@@ -94,11 +94,11 @@ representative_repeat_log="$test_tmp/representative-repeat.log"
|
||||
"$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_repeat_log"
|
||||
require_clean_recap "$representative_repeat_log"
|
||||
|
||||
empty_profile_log="$test_tmp/empty-profile.log"
|
||||
empty_overlay_log="$test_tmp/empty-overlay.log"
|
||||
"$ansible_playbook" -i "$inventory" \
|
||||
-e '{"narratio_notarius_config_profile": ""}' \
|
||||
"$representative" | tee "$empty_profile_log"
|
||||
-e '{"narratio_notarius_config_overlay": ""}' \
|
||||
"$representative" | tee "$empty_overlay_log"
|
||||
NARRATIO_TEST_NOTARIUS_API_KEY="$synthetic_notarius_api_key" \
|
||||
"$ansible_playbook" -i "$inventory" \
|
||||
-e '{"narratio_test_notarius_config_profile": ""}' \
|
||||
-e '{"narratio_test_notarius_config_overlay": ""}' \
|
||||
"$verify_config"
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
narratio_seriatim_coalesce_gap: 0.0
|
||||
narratio_seriatim_report: false
|
||||
narratio_audita_modules: []
|
||||
narratio_audita_report: false
|
||||
narratio_notarius_llm_api_key: NARRATIO_TEST_NOTARIUS_API_KEY
|
||||
narratio_notarius_config_profile: representative-profile
|
||||
narratio_notarius_credentials:
|
||||
- NARRATIO_TEST_NOTARIUS_API_KEY
|
||||
narratio_notarius_config_overlay: representative-overlay
|
||||
narratio_notarius_resume: false
|
||||
narratio_notarius_chunk_cache: auto
|
||||
narratio_normalize_output_path: null
|
||||
|
||||
@@ -24,9 +24,8 @@
|
||||
- narratio_pipeline.seriatim.coalesce_gap == 0.0
|
||||
- narratio_pipeline.seriatim.report == false
|
||||
- narratio_pipeline.audita.modules == []
|
||||
- narratio_pipeline.audita.report == false
|
||||
- narratio_pipeline.notarius.llm_api_key == 'NARRATIO_TEST_NOTARIUS_API_KEY'
|
||||
- narratio_pipeline.notarius.config_profile == narratio_expected_notarius_config_profile
|
||||
- narratio_pipeline.notarius.credentials == ['NARRATIO_TEST_NOTARIUS_API_KEY']
|
||||
- narratio_pipeline.notarius.config_overlay == narratio_expected_notarius_config_overlay
|
||||
- narratio_pipeline.notarius.resume == false
|
||||
- narratio_pipeline.notarius.chunk_cache == 'auto'
|
||||
- narratio_pipeline.trim.enabled == false
|
||||
@@ -40,7 +39,7 @@
|
||||
- "'normalize' not in narratio_pipeline"
|
||||
vars:
|
||||
narratio_pipeline: "{{ narratio_managed_pipeline.content | b64decode | from_yaml }}"
|
||||
narratio_expected_notarius_config_profile: "{{ narratio_test_notarius_config_profile | default('representative-profile') }}"
|
||||
narratio_expected_notarius_config_overlay: "{{ narratio_test_notarius_config_overlay | default('representative-overlay') }}"
|
||||
|
||||
- name: Validate the representative pipeline as the Narratio account
|
||||
become: true
|
||||
|
||||
Reference in New Issue
Block a user