# rakestraw.dnd_pipeline Installs the D&D transcript-processing application suite by composing the standalone Seriatim, Audita, Notarius, Scriptorium, and Narratio roles. It supports Ubuntu 26.04 and Ansible Core 2.18 or newer. Downstream roles perform their own task-level privilege escalation, so a play does not need `become`. Supported host architectures are `amd64` and `arm64`. ## Installation Install the role dependencies and their collection before applying this role: ```sh ansible-galaxy role install -r requirements.yml ansible-galaxy collection install -r collections/requirements.yml ``` The dependency manifest installs the roles under their canonical names: `rakestraw.seriatim`, `rakestraw.audita`, `rakestraw.notarius`, `rakestraw.scriptorium`, and `rakestraw.narratio`. This standalone role is named `rakestraw.dnd_pipeline`; a later collection release will expose it as `rakestraw.dnd.pipeline`. ```yaml --- - name: Install the D&D pipeline foundation hosts: pipeline_hosts gather_facts: true roles: - role: rakestraw.dnd_pipeline vars: dnd_pipeline_whisperx_transcribe_url: https://whisperx.example/transcribe ``` ## Variables `dnd_pipeline_whisperx_transcribe_url` is required and is passed to Narratio. The compatible application versions are selected through these variables: | Variable | Default | | --- | --- | | `dnd_pipeline_audita_version` | `v0.9.1` | | `dnd_pipeline_narratio_version` | `v2.0.0` | | `dnd_pipeline_notarius_version` | `v0.6.0` | | `dnd_pipeline_seriatim_version` | `v1.5.0` | | `dnd_pipeline_scriptorium_version` | `v0.13.0` | | `dnd_pipeline_manage_build_dependencies` | `true` | | `dnd_pipeline_go_snap_channel` | `1.26/stable` | | `dnd_pipeline_go_binary` | `/snap/bin/go` | | `dnd_pipeline_campaigns_repository_url` | `https://gitea.maximumdirect.net/eric/campaigns.git` | | `dnd_pipeline_campaigns_revision` | `main` | | `dnd_pipeline_campaigns_root` | `/usr/local/share/narratio/campaigns` | | `dnd_pipeline_prompt_library_repository_url` | `https://gitea.maximumdirect.net/eric/narratio-prompts.git` | | `dnd_pipeline_prompt_library_revision` | `main` | | `dnd_pipeline_prompt_library_root` | `/usr/local/share/narratio/prompt-library` | The common dependency-management switch controls whether every application role installs Git and Go. Callers that disable it must provide both Git and Go. The Go channel and executable are likewise passed to all five roles. Advanced callers may supply unmapped standalone-role variables directly through normal Ansible variable precedence. Narratio receives the standard Seriatim, Audita, Notarius, and Scriptorium binary and configuration paths managed by the composed roles. Notarius is installed but remains disabled in Narratio until a later feature supplies a Notarius pipeline. The role deploys the campaign repository directly at the campaign root and the prompt library directly at the prompt-library root. By default both follow their `main` branches; callers can select an immutable commit, tag, or another branch through the revision variables. Narratio receives the deployed campaign root, while Scriptorium receives its `prompts/` and `schemas/` children. Execution profiles, model backends, credentials, and D&D processing policy remain deferred. ## Validation `tests/integration` installs the pinned Git dependencies and collection into private temporary paths, runs syntax and production-profile lint checks, then applies the suite with a local syntactically valid WhisperX URL and explicit immutable `file://` asset inputs. It uses native application smoke/configuration commands, validates Narratio's assembled configuration and campaign discovery as the Narratio account, and inspects deployed Scriptorium prompts and a schema path. It requires a clean repeat, then selects Seriatim `v1.4.0` through the suite interface and requires a clean repeat of that selection. Cleanup reapplies the asset-enabled baseline suite and removes only the driver's private temporary directory.