-
Narratio v3.1.0
Stablereleased this
2026-09-29 18:02:18 +00:00 | 0 commits to main since this releaseNarratio v3.1.0
This minor release adds explicit provider-credential forwarding to Scriptorium
for trim bounds generation and artifact analysis.Compatibility and upgrade
Existing pipelines remain valid. An omitted, null, or empty
pipeline.scriptorium.credentialslist continues to forward no provider keys.
When Scriptorium needs a credential, provision its environment variable through
Narratio's existing environment or secrets-directory mechanism and list the
exact name in the pipeline, for example:scriptorium: credentials: [OPENROUTER_API_KEY]Selected references must resolve to nonempty values when Narratio loads the
pipeline, even if the current command will not run Scriptorium. A Narratio
overlay replaces the complete list, and[]clears it. After correcting a
failed trim or analysis invocation, retry normally; successful work need not be
forced solely because a credential was added or rotated. See
Scriptorium credentials and the
401 troubleshooting guide.Changes
- Forward selected, already-resolved credential names and values to Scriptorium
for trim, analysis, character-family generation, and render-debug calls.
Scriptorium still owns provider and profile selection; Narratio does not add
a model-request--api-key-envoverride. - Register selected values for captured subprocess-output and failure-diagnostic
redaction. Inspection and invocation metadata contain credential names, never
their values. This protection does not scan files Scriptorium writes directly. - Reuse the credential-forwarding boundary shared with Audita and Notarius.
Retire the completed Scriptorium credential-forwarding bug report from the
source roadmap; its history remains in Git.
Downloads
- Forward selected, already-resolved credential names and values to Scriptorium
-
Narratio v3.0.0
Stablereleased this
2026-09-28 03:21:06 +00:00 | 3 commits to main since this releaseNarratio v3.0.0
This major release moves Narratio pipeline selection to ConfigKit overlays and
updates its Audita and Notarius integration contracts. Existing deployments
must migrate configuration before running affected sessions.Compatibility and upgrade
- Replace Narratio's
--profile <name>with--overlay <name>and move selected
profiles/<name>.ymlfiles tooverlays/<name>.ymlbeside the pipeline root.
The old flag and selected directory are no longer supported; explicit imports
from a directory namedprofilesremain valid. Updateconfig diffpositional
selections accordingly. See configuration
and the CLI reference. - Before opening a session manifest containing
effective_config.selected_profile, back it up and follow the
manifest migration procedure.
Strict decoding rejects the retired field. Preserve the manifest's stage and
checkpoint state; this informational rename does not itself require rerunning
every stage. Immutable remote snapshots are not edited in place. - Deploy an Audita v2 executable and migrate its configuration before running
polish. Narratio no longer generates an Audita config or accepts the old
endpoint, model, concurrency, singular API-key, report, and retention fields.
Audita now owns backends, PromptKit profiles, reporting, and debug settings;
Narratio accepts optional downstream selectors and forwards only names listed
inpipeline.audita.credentials. Follow the
Audita migration table
and integration contract. - Replace
pipeline.notarius.llm_api_keywith the
pipeline.notarius.credentialslist. Rename
pipeline.notarius.config_profiletoconfig_overlayand move selected
downstream Notarius files to itsoverlays/directory. The old fields have
no compatibility aliases. A named downstream overlay requires a compatible
Notarius executable; v0.8.1 is the tested baseline, while deployments that
omit the selector gain no new version requirement. See the
Notarius configuration reference
and integration contract.
Changes
- Narratio and downstream overlay names are independent. Operators can select
separate Audita and Notarius overlays from one Narratio overlay without
implicit name forwarding. ConfigKit is updated to v0.4.2. - Audita's corrected transcript remains the canonical polish output. Available
errors.yml,recoveries.yml, andreport.mdfiles are retained as bounded
diagnostics; missing reports are allowed, and an exit-zero valid transcript
succeeds even when reports describe recoverable errors or no corrections. - Audita and Notarius credential lists resolve at pipeline load and forward
captured values under their exact names, with captured subprocess output and
failure diagnostics redacted. Narratio does not discover backend credentials
from downstream configuration; operators must list the names those tools need. - Repository policy, license/attribution notices, release validation, and the
asynchronous artifact-delivery procedure are aligned with the current
release runbook. Completed implementation roadmaps have been
retired from the candidate source.
Downloads
- Replace Narratio's
-
Narratio v2.2.1
Stablereleased this
2026-09-22 18:18:45 +00:00 | 39 commits to main since this releaseNarratio v2.2.1
This maintenance release consolidates checkpoint persistence for transcription
and analysis without changing their operator-facing behavior.Summary
Transcribe and analyze now share one internal operation for preparing isolated
checkpoint candidates, saving them, and promoting successfully saved progress
into live state. Each stage retains its own progress model and recovery policy.Compatibility
CLI commands, configuration, manifest schemas, artifact formats, and external
integration contracts are unchanged. Speaker concurrency, artifact selection,
force behavior, and ordinary resume semantics are preserved. No dependency
upgrade or new external-tool version requirement is introduced.Upgrade
No special upgrade action or configuration migration is required when upgrading
from v2.2.0. See the v2.2.0 release notes when upgrading from an
earlier version for the original speaker-checkpoint upgrade considerations.Changes
- Replace duplicate analyze/transcribe save-and-promote sequences with a
shared, private checkpoint helper. - Isolate checkpoint collections from live state, including analyze records
normalized during a transcription checkpoint save. - Preserve transcription's caller-owned locking and failure handling, and
analysis's working/committed collections and rollback behavior. - Add focused checkpoint integrity tests while retaining stage and application
recovery coverage. - Document the shared checkpoint persistence boundary.
Downloads
- Replace duplicate analyze/transcribe save-and-promote sequences with a
-
Narratio v2.2.0
Stablereleased this
2026-09-22 01:50:49 +00:00 | 45 commits to main since this releaseNarratio v2.2.0
This release adds resumable per-speaker transcription, replayable WhisperX
uploads, and explicit Notarius configuration profile selection.Summary
Successfully checkpointed speaker transcripts survive later transcription
failures. Ordinary retry reuses valid completed speakers and processes only the
remaining work. WhisperX uploads can now be replayed by the HTTP transport
without buffering whole audio files.Compatibility
Existing CLI commands, speaker identities, transcript formats, and pipeline
ordering are unchanged. Session manifests gain optional per-speaker completion
evidence. Older manifests remain readable, but older Narratio binaries may
reject manifests containing the new fields; downgrading after transcription
is not transparent.The optional
pipeline.notarius.config_profilefield selects a downstream
Notarius configuration profile independently of Narratio's own profile. Using
it requires a Notarius version supporting--config-profile; v0.7.0 is a known
supporting version. Omitting the field retains downstream default selection.Upgrade
No configuration migration is required. When transcribe is next selected for
an older aggregate-only manifest, all current speakers are transcribed once
to establish reusable evidence. Previously unrecorded results from failed runs
are not automatically imported.Use ordinary run/resume to retain valid checkpoints. Forcing transcribe resets
reuse of prior results; an ordinary retry after a failed forced invocation can
retain replacements already checkpointed by that attempt. See the
operations guide and
Notarius profile configuration.Changes
- Persist validated speaker completions independently of aggregate stage status,
with serialized saves for concurrent work and input/output integrity checks. - Rebuild aggregate transcript references when speakers are removed or those
references need repair, without retranscribing otherwise-current speakers. - Keep removed and incomplete speaker results out of versioned merge inputs.
- Permit checkpoint evidence for zero-byte audio when WhisperX accepts it;
service rejection still fails normally. - Provide fresh streaming multipart bodies for HTTP transport replay while
preserving application retries, cancellation, and resource cleanup. This
addresses the missing-body-replay limitation, not persistent upstream
protocol failures or exactly-once service execution. - Pass explicit Notarius configuration profiles through the CLI and include
their selection in extraction reuse decisions.
Downloads
- Persist validated speaker completions independently of aggregate stage status,
-
Narratio v2.1.2
Stablereleased this
2026-09-21 13:42:21 +00:00 | 61 commits to main since this releaseNarratio v2.1.2
This release allows secrets directories to contain hidden metadata without
preventing credential loading.Summary
ConfigKit v0.3.1 ignores dot-prefixed entries such as
.git,.gitignore, and
.DS_Storeduring secrets bootstrap. These entries no longer block otherwise
valid credentials from loading and are omitted from bootstrap reports.Compatibility
This is a backward-compatible dependency bug fix. Configuration schemas,
existing-environment precedence, and validation of non-hidden entries are
unchanged. Hidden entries still count toward the directory entry limit.Upgrade
No special upgrade action or configuration migration is required. See the
credential configuration reference for secrets-directory usage.Changes
- Updated ConfigKit from v0.3.0 to v0.3.1.
- Clarified hidden-entry handling in the secrets-directory documentation.
Downloads
-
Narratio v2.1.1
Stablereleased this
2026-09-21 03:06:13 +00:00 | 62 commits to main since this releaseNarratio v2.1.1
This release fixes configuration loading for publish rules that explicitly set
requiredness while relying on a derived destination.Summary
Publish rules with a derivable source and omitted
destnow load correctly
whetherrequiredis omitted, explicitly true, or explicitly false. Previously,
explicit requiredness could trigger ConfigKit'sresolve.unrecorded_change
diagnostic instead of accepting valid configuration.Compatibility
This is a backward-compatible bookkeeping correction. Publish schemas,
destination derivation, requiredness defaults, and YAML syntax support are
unchanged. Explicit destinations and explicit false values remain intact.
No ConfigKit upgrade or publication/storage behavior change is involved.Upgrade
No special upgrade action or configuration migration is required. Operators
need not add a derivabledest, remove explicitrequiredvalues, or change
flow-style YAML to block-style YAML. See the
configuration reference.Changes
- Recorded derived publish destinations at ConfigKit's atomic sequence boundary
while retaining field-level resolution records. - Added real load/validation and safe effective-configuration regression coverage
for built-in and configured-artifact sources, explicit requiredness, and an
explicit destination that must remain unchanged.
Downloads
- Recorded derived publish destinations at ConfigKit's atomic sequence boundary
-
Narratio v2.1.0
Stablereleased this
2026-09-16 18:50:30 +00:00 | 63 commits to main since this releaseNarratio v2.1.0
This release adds explicit Notarius credential forwarding and cache reuse,
with predictable forced regeneration and clearer artifact-development guidance.Summary
Narratio can pass one typed API-key reference to Notarius and opt into reuse of
its accepted execution checkpoints. Stable, verified reference snapshots allow
unchanged references to retain their cache identity across Narratio invocations.
Configuration loading now uses ConfigKit v0.3.0.Compatibility
The new
notarius.llm_api_key,notarius.resume, andnotarius.chunk_cache
fields are optional. Existing v2 configuration needs no schema migration.
Configured credential references must resolve during configuration loading,
even when extraction will not execute; omitted references add no requirement.Forced extraction now omits Notarius checkpoint loading and requests chunk-plan
refresh. This includesregenerate-artifacts, which remains an alias for a
forced run from extract through analyze.analyzecontinues to force analysis
only, preserving extraction results and transcripts.Notarius v0.7.0 is the tested cache integration baseline, not an unconditional
minimum-version gate. The executable must support the flags selected for the
invocation, including--chunk_cache refreshfor forced extraction. Reference
bindings retain the contract introduced in Notarius v0.6.0. Receipt and artifact
schemas are unchanged; reused producers may report zero production attempts.Supported release platforms remain Linux amd64/arm64 and best-effort macOS
arm64. macOS validation is cross-compilation, not native runtime testing.Upgrade
No special migration is required for existing v2 configuration. To use the new
features:- Declare
notarius.llm_api_keywith the environment-variable name expected by
the deployed Notarius profile, supplying its value through the existing
environment or secrets-directory mechanism. - Enable checkpoint recording in Notarius configuration before setting
Narratio'snotarius.resume: true. Prefer explicit persistent Notarius cache
roots for service deployments. An optionalnotarius.chunk_cacheoverrides
its ordinary chunk-plan policy. - Expect an initial checkpoint miss when moving from old run-local reference
paths to stable session snapshots. No migration or deletion of old caches is
required. Force refreshes the current input's plan, not the whole cache. - Use
narratio analyze SESSIONfor analysis-only iteration, and
narratio regenerate-artifacts SESSIONwhen extraction should also be rebuilt.
See Configuration, the
Notarius integration contract, and
Artifact Development Workflows
for current details.Changes
- Upgraded ConfigKit from v0.1.2 to v0.3.0 and isolated pipeline-discovery tests
from machine configuration. - Added optional typed Notarius credentials, exact-name environment delivery,
safe configuration projections, and captured-stream redaction for custom names. - Added Notarius resume and chunk-cache controls with force taking precedence.
- Added verified, content-addressed session reference snapshots that survive
ordinary run cleanup without becoming published artifacts. - Preserved relative-workspace support for snapshot delivery and confinement.
- Kept credentials and cache-policy controls outside extract's semantic resume
identity, so operational changes alone do not invalidate completed results. - Added an opt-in real Notarius integration test using a local provider to
verify reuse, partial-failure recovery, and forced refresh without paid calls.
Downloads
- Declare
-
Narratio v2.0.0
Stablereleased this
2026-09-07 13:10:29 +00:00 | 84 commits to main since this releaseNarratio v2.0.0
Narratio v2.0.0 replaces its configuration infrastructure with ConfigKit,
simplifies the supported release platforms, and makes artifact definitions and
their effective dependency graph directly inspectable.Summary
Pipeline roots now use ConfigKit v0.1.2 for strict YAML loading, explicit
imports, fixed-path named profiles, provenance, defaults, and typed credential
references. The recommended production layout keeps production values in the
base, defines each ordinary artifact and artifact family in its own imported
file, and keeps testing changes inprofiles/testing.yml.Configured-artifact inputs now create their dependency edges automatically.
narratio config artifactsreports the finalized concrete catalog, including
generated party-family members, without loading a session or initializing
runtime adapters.Compatibility
This is a breaking configuration and platform release. There is no runtime
fallback for the retired Narratio composition/profile catalog,pipeline.secrets
orsecrets.env_dir, credential_envfields, or the previous YAML
presence/default behavior. Defaults apply only to absent values; explicit empty,
zero, false, and null values retain their typed meaning and may fail Narratio
domain validation.The maintained binaries are Linux amd64, Linux arm64, and macOS arm64. Windows
and macOS amd64 builds are no longer produced or supported. Existing v1 release
notes remain historical descriptions of their releases.Inspection commands still avoid session, manifest, workspace, adapter, and
remote-service activity, but they are not credential-free loaders: every
explicit typed credential reference in the selected effective configuration must
resolve; references replaced or removed by that profile need not resolve.
Pipelines containing artifact families also require a campaign so the canonical
party can be expanded.
config showis a secret-safe review projection, not a promised reloadable
authoring file.Upgrade
Migrate each operational bundle before running v2:
- Replace old composition syntax with root-owned
configkit.imports. Imports are
additive base sources; they do not override one another. - Fold the old production overlay into the base pipeline. Move testing changes
toprofiles/testing.yml; compare the two independent resolutions with
narratio config diff default testing. - Follow the maintained
examples/production-testing
layout: one explicit artifact entry perartifacts/<key>.ymland one family
entry perartifact-families/<key>.yml. The map key, not the filename, is the
stable artifact identity. - Move credential files to an untracked
secrets/directory beside
pipeline.yml, or pass--secrets-dir. Rename S3 fields toaccess_key_id
andsecret_access_key, and rename the Audita field tollm_api_key. - For static S3 credentials, configure both S3 references (commonly
OBJECT_STORAGE_KEY_IDandOBJECT_STORAGE_KEY) and make them resolvable.
To use instance roles, workload identity, shared SDK files, or another AWS SDK
discovery provider, omit both references. A partial pair is invalid. - Remove a
depends_onentry when it only duplicates a
narratio.artifact.<key>input. Keep explicit entries that express ordering
without supplying the upstream output as an input. - Review ConfigKit's stricter explicit-value/null semantics and correct values
that previously acquired defaults after being explicitly empty. Do not use
config showoutput as a source migration mechanism. - Run
config validate,config show,config sources, andconfig artifacts
with the same profile, campaign, and secrets selection intended for runtime.
Resolve the campaign-owned party whenever families are present. - Update deployment and download automation to one of the three maintained
platform assets before removing the v1 binary.
The configuration reference, CLI reference, and
maintained examples are the canonical detailed
guides.Changes
- Adopted ConfigKit v0.1.2 across pipeline, campaign, session, and party loading
while keeping Narratio domain validation and post-campaign expansion explicit. - Added ConfigKit imports and fixed
profiles/<name>.ymlpipeline overlays,
unified safe effective show/diff/digest projection, and source provenance. - Added invocation-scoped ConfigKit secrets-directory bootstrap and typed S3 and
Audita credential references without exposing resolved values. - Inferred, normalized, and validated configured-artifact input dependencies as
part of the one concrete graph consumed by analyze planning and resume logic. - Added
config artifactswith stable concrete identities, definition sources,
effective dependencies, and generated family/party provenance. - Added the maintained production-base/testing-overlay artifact authoring layout.
- Reduced release assets and active platform support to Linux amd64/arm64 and
macOS arm64.
Downloads
- Replace old composition syntax with root-owned
-
Narratio v1.7.0
Stablereleased this
2026-09-05 19:24:35 +00:00 | 103 commits to main since this releaseNarratio v1.7.0
Narratio v1.7.0 completes the maintainability refactor begun after v1.6.0. It
simplifies filesystem and process handling, makes resumable work more precise,
replaces legacy local and remote state with explicit authorities, and turns
cleanup into the final ordinary pipeline stage.Summary
The session manifest is now the sole durable local progress ledger. Analyze
checkpoints successful artifacts individually, allowing an interrupted or
partially failed analysis to resume at the first incomplete artifact without
rerunning successful siblings unless forced.Remote publication now commits immutable run state before advancing one
verified current pointer. Publish locks are independent per-source objects;
locked outputs retain their previously committed declarations rather than
being overwritten or silently omitted. Local cleanup runs after notification
as a separately recorded, safely retryable stage.The release also adopts Go 1.26, simplifies ordinary file operations around
Narratio's trusted group-owned workspace model, improves subprocess lifecycle
handling, decomposes several large orchestration and validation components,
and removes mutable global test seams.Compatibility
This is a minor release with deliberate removal of compatibility paths that
were deprecated and documented as subject to removal:- Campaigns must use one versioned
narratio.party.v1party.yml. Separate
players files, session-level party overrides, and unversioned party documents
are rejected. - Session manifests must declare
schema_version: narratio.session-manifest.v1and satisfy the current strict schema. Older
unversioned state and manifests containing the retired
post_publish_cleanupobligation are rejected rather than migrated. - Remote current state must be selected by
current/commit-pointer.jsonand its referenced immutable run commit. Legacy
current-state layouts are no longer inferred. - The retired aggregate
locks.ymlobject is ignored. Publish locks now live
as independent strict objects under the session lock prefix. - Run manifests are no longer produced or consumed. The session manifest owns
durable stage progress; invocation summaries and run workspaces remain
operational data rather than a second progress authority.
The CLI and current pipeline/configuration formats otherwise remain compatible.
Building and maintaining Narratio now requires Go 1.26. Cross-built Linux,
macOS, and Windows assets remain available foramd64andarm64.Upgrade
Before upgrading a campaign that still uses compatibility data:
- Replace legacy party/player inputs with the documented
narratio.party.v1campaign roster. - If a local manifest contains an outstanding
post_publish_cleanup
obligation, complete it with the pre-upgrade binary. Otherwise verify the
remote commit, move aside or regenerate the incompatible manifest, or
restore a verified committed snapshot. Do not migrate state by manually
editing JSON. - Republish sessions that do not yet have a valid immutable run commit and
current/commit-pointer.json; legacy remote layouts are not current state in
v1.7.0. - Recreate any required publication locks with
narratio session locks add.
After verifying the new locks and publication behavior, the ignored legacy
locks.ymlobject may be removed manually.
Existing compatible session manifests and already committed remote snapshots
need no special action. Consult Operations and
Troubleshooting for recovery procedures.Changes
- Upgraded the maintained development and release baseline to Go 1.26.
- Reworked subprocess execution and Windows process-tree supervision while
preserving contextual wait and cleanup failures. - Replaced custom confined ordinary I/O and directory-promotion machinery with
simpler standard-library operations while retaining bounded reads, atomic
single-file visibility, workspace modes, validated downloads, and
root-confined destructive operations. - Removed legacy party, manifest, artifact-discovery, remote-current, and lock
compatibility paths. - Consolidated durable progress in the session manifest and removed the run
manifest domain model. - Unified runner planning and execution decisions, separated invocation
lifecycle responsibilities, and avoided creating empty run workspaces for
fully reused or cleanup-only invocations. - Added per-artifact analyze execution, checkpointing, reconciliation, and
recovery. - Decomposed configuration validation by domain and made validation diagnostics
deterministic without treating incidental ordering or wording as a contract. - Introduced immutable remote publish commits, one final current pointer,
explicit output planning, safe cross-run carried outputs, and independent
per-artifact remote locks. - Added
cleanupas the final canonical stage afternotify, with validated
publish evidence, safe retry, explicit selection, and no separate cleanup
obligation. - Replaced mutable command test hooks with invocation-scoped dependencies and
improved structural test diagnostics.
Downloads
- Campaigns must use one versioned
-
Narratio v1.6.0
Stablereleased this
2026-08-30 20:40:04 +00:00 | 207 commits to main since this releaseNarratio v1.6.0
Narratio v1.6.0 makes large pipeline configurations easier to organize,
inspect, and vary while adding character-oriented artifact generation and a
guarded, reproducible release procedure.Summary
Pipeline configuration can now be assembled from explicit additive imports and
a selected production or testing profile. Campaigns can own a canonical,
versioned party roster, and Scriptorium artifact families can expand one
definition into concrete per-character artifacts, dependencies, variables, and
publish rules.New read-only configuration commands expose the fully resolved pipeline,
source provenance, semantic digest, and profile differences before a session is
run. Stage reuse now records configuration-sensitive semantic evidence so
profile or configuration changes cannot silently reuse incompatible work.Compatibility
This is a backward-compatible feature release. Existing monolithic pipeline
files, concrete Scriptorium artifacts, publish rules, and configurations
without profiles remain supported. When profiles are declared and no explicit
profile is selected, Narratio uses the configured production default.An unversioned party file plus a separate players file remains available as an
isolated legacy compatibility path, but it cannot drive artifact families. New
campaigns and new party-oriented features should use thenarratio.party.v1
schema. Existing manifests remain readable; missing legacy semantic evidence
is treated as stale rather than trusted.Narratio continues to consume the documented Notarius D&D pipeline contract.
The release workflow still cross-compiles Linux, macOS, and Windows binaries
foramd64andarm64; cross-compilation is not native runtime evidence for
macOS or Windows.Upgrade
No special action is required for existing monolithic configurations that do
not adopt profiles or artifact families. On the first run after upgrading,
stages recorded by older manifests may regenerate once because those records do
not contain the new semantic configuration evidence.To adopt the new configuration model, use the maintained
examples/production-testingbundle as a migration reference: split stable
settings into explicit imports, define a production default and optional
testing profile, convert campaign party data tonarratio.party.v1, remove the
separate players file, and then introduce character artifact families. Review
the result withnarratio config validate,config show,config sources, and
config diffbefore running a session.Campaign, session, previous-session, and run identifiers must satisfy the
documented portable identity grammar. Existing manifests or remote state with
unsafe legacy identifiers must be migrated before use.Changes
- Added root-owned, non-recursive additive pipeline imports with strict,
source-aware conflict detection. - Added named pipeline profiles with an explicit production default and
deliberate command-line selection. - Added
config validate,config show,config sources, andconfig diff
for read-only inspection of resolved configuration and provenance. - Added the strict
narratio.party.v1campaign roster, including stable
character IDs, player and character names, optional aliases, and classes. - Added deterministic players derivation and canonical party delivery to
downstream integrations. - Added character-oriented artifact families, corresponding member
dependencies, family selection, and generated publish policies. - Added semantic configuration fingerprints and stage-specific resume checks
across transcript and artifact stages. - Added shared release candidate, asset build, and guarded tag-publication
scripts, with tag-triggered publication remaining asynchronous.
Downloads
- Added root-owned, non-recursive additive pipeline imports with strict,