Support Scriptorium credentials in Narratio

This commit is contained in:
2026-09-29 18:18:42 +00:00
parent 3c0700b532
commit 758aed7a74
8 changed files with 48 additions and 8 deletions

View File

@@ -20,7 +20,7 @@ verify_config="$repository_root/tests/verify-config.yml"
ansible_playbook="$workspace_venv/bin/ansible-playbook"
baseline_args=(
-e 'narratio_whisperx_transcribe_url=http://127.0.0.1:8000/transcribe'
-e '{"narratio_audita_credentials":null,"narratio_audita_overlay":null,"narratio_audita_proposal_profile":null,"narratio_audita_validation_profile":null,"narratio_notarius_credentials":null,"narratio_notarius_config_overlay":null}'
-e '{"narratio_audita_credentials":null,"narratio_audita_overlay":null,"narratio_audita_proposal_profile":null,"narratio_audita_validation_profile":null,"narratio_notarius_credentials":null,"narratio_notarius_config_overlay":null,"narratio_scriptorium_credentials":null}'
)
cleanup() {
@@ -88,6 +88,7 @@ require_clean_recap "$recovery_repeat_log"
representative_log="$test_tmp/representative.log"
"$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_log"
/usr/local/bin/narratio version | grep -Fx 'narratio v3.1.0'
synthetic_notarius_api_key=notarius-representative-synthetic-value
synthetic_audita_api_key=audita-representative-synthetic-value
representative_validation_log="$test_tmp/representative-validation.log"
@@ -101,8 +102,8 @@ representative_repeat_log="$test_tmp/representative-repeat.log"
require_clean_recap "$representative_repeat_log"
empty_overlay_log="$test_tmp/empty-overlay.log"
empty_inputs='{"narratio_audita_credentials":[],"narratio_notarius_credentials":[],"narratio_audita_overlay":"","narratio_audita_proposal_profile":"","narratio_audita_validation_profile":"","narratio_notarius_config_overlay":""}'
empty_expectations='{"narratio_test_audita_credentials":[],"narratio_test_notarius_credentials":[],"narratio_test_audita_overlay":"","narratio_test_audita_proposal_profile":"","narratio_test_audita_validation_profile":"","narratio_test_notarius_config_overlay":""}'
empty_inputs='{"narratio_audita_credentials":[],"narratio_notarius_credentials":[],"narratio_audita_overlay":"","narratio_audita_proposal_profile":"","narratio_audita_validation_profile":"","narratio_notarius_config_overlay":"","narratio_scriptorium_credentials":[],"narratio_scriptorium_artifacts":null}'
empty_expectations='{"narratio_test_audita_credentials":[],"narratio_test_notarius_credentials":[],"narratio_test_audita_overlay":"","narratio_test_audita_proposal_profile":"","narratio_test_audita_validation_profile":"","narratio_test_notarius_config_overlay":"","narratio_test_scriptorium_credentials":[],"narratio_test_scriptorium_credentials_only":true}'
"$ansible_playbook" -i "$inventory" \
-e "$empty_inputs" \
"$representative" | tee "$empty_overlay_log"

View File

@@ -3,6 +3,7 @@
hosts: localhost
gather_facts: true
vars:
narratio_version: v3.1.0
narratio_whisperx_transcribe_url: http://127.0.0.1:8000/transcribe
narratio_scriptorium_base_artifacts:
disabled_fixture:
@@ -35,6 +36,9 @@
narratio_notarius_config_overlay: representative-overlay
narratio_notarius_resume: false
narratio_notarius_chunk_cache: auto
narratio_scriptorium_credentials:
- NARRATIO_TEST_AUDITA_API_KEY
- NARRATIO_TEST_NOTARIUS_API_KEY
narratio_normalize_output_path: null
narratio_trim_enabled: false
narratio_trim_bounds_render_debug: false

View File

@@ -14,6 +14,7 @@
that:
- "'audita' not in narratio_pipeline"
- "'notarius' not in narratio_pipeline"
- "'scriptorium' not in narratio_pipeline"
vars:
narratio_pipeline: "{{ narratio_baseline_pipeline.content | b64decode | from_yaml }}"

View File

@@ -32,12 +32,11 @@
- narratio_pipeline.notarius.config_overlay == narratio_expected_notarius_config_overlay
- narratio_pipeline.notarius.resume == false
- narratio_pipeline.notarius.chunk_cache == 'auto'
- narratio_pipeline.scriptorium.credentials == narratio_expected_scriptorium_credentials
- narratio_pipeline.trim.enabled == false
- narratio_pipeline.trim.bounds.render_debug == false
- narratio_pipeline.render.enabled == false
- narratio_pipeline.render.include_metadata == false
- narratio_pipeline.scriptorium.artifacts.disabled_fixture.enabled == false
- narratio_pipeline.scriptorium.artifacts.additional_disabled_fixture.enabled == false
- "'configkit' not in narratio_pipeline"
- "'storage' not in narratio_pipeline"
- "'normalize' not in narratio_pipeline"
@@ -51,6 +50,26 @@
narratio_expected_audita_validation_profile: "{{ narratio_test_audita_validation_profile | default('representative-validation') }}"
narratio_expected_notarius_credentials: "{{ narratio_test_notarius_credentials | default(['NARRATIO_TEST_NOTARIUS_API_KEY']) }}"
narratio_expected_notarius_config_overlay: "{{ narratio_test_notarius_config_overlay | default('representative-overlay') }}"
narratio_expected_scriptorium_credentials: >-
{{ narratio_test_scriptorium_credentials |
default(['NARRATIO_TEST_AUDITA_API_KEY', 'NARRATIO_TEST_NOTARIUS_API_KEY']) }}
- name: Verify composed Scriptorium artifacts
ansible.builtin.assert:
that:
- narratio_pipeline.scriptorium.artifacts.disabled_fixture.enabled == false
- narratio_pipeline.scriptorium.artifacts.additional_disabled_fixture.enabled == false
vars:
narratio_pipeline: "{{ narratio_managed_pipeline.content | b64decode | from_yaml }}"
when: not (narratio_test_scriptorium_credentials_only | default(false))
- name: Verify the credential-only Scriptorium section
ansible.builtin.assert:
that:
- "narratio_pipeline.scriptorium == {'credentials': []}"
vars:
narratio_pipeline: "{{ narratio_managed_pipeline.content | b64decode | from_yaml }}"
when: narratio_test_scriptorium_credentials_only | default(false)
- name: Validate the representative pipeline as the Narratio account
become: true