Prepare the D&D Notarius integration sprint

This commit is contained in:
2026-09-15 19:55:48 +00:00
parent f91871ba0f
commit 1806bfaf7f
3 changed files with 646 additions and 33 deletions

View File

@@ -1,6 +1,6 @@
# Feature 0010: D&D Notarius Extraction Integration
Status: proposed
Status: ready
## Summary
@@ -23,12 +23,15 @@ registries and events implemented by Notarius.
The uploaded test-machine configuration demonstrates the intended multi-step
pipeline, but it embeds campaign-specific filesystem paths and explicit
runtime roots. The current Notarius v0.7.0 complete example and Narratio 2.0
integration contract supersede those details. In particular, Narratio must
prepare invocation-local campaign references and own the run-specific output
staging directory; generated registry and event handoffs remain internal to
Notarius. Notarius v0.7.0 also replaces configuration version 4 with a strict,
ConfigKit-backed version 5 contract and makes cache access policy a deployment
responsibility.
integration boundary provide the maintained replacement. Narratio 2.0 names
Notarius v0.6.0 as its subprocess baseline, while Notarius v0.7.0 expressly
preserves that subprocess receipt and extraction-artifact contract. The
Notarius upgrade therefore changes deployment configuration without requiring
a Narratio adapter change. Narratio must prepare invocation-local campaign
references and own the run-specific output staging directory; generated
registry and event handoffs remain internal to Notarius. Notarius v0.7.0 also
replaces configuration version 4 with a strict, ConfigKit-backed version 5
contract and makes cache access policy a deployment responsibility.
## Governing Policies
@@ -57,6 +60,9 @@ responsibility.
- Update the standalone Notarius role for Notarius v0.7.0 and configuration
version 5 while preserving its generic, independently usable interface.
- Advance the pipeline role's selected Notarius application version to v0.7.0
and pin its Notarius role dependency to the reviewed revision that provides
the version 5 interface.
- Expose Notarius's native `configkit.imports` field through one optional
`notarius_configkit_imports` role variable; the role continues to own only
its root configuration and does not manage caller-selected fragments.
@@ -86,8 +92,8 @@ responsibility.
`auto` chunk-plan caching and enable checkpoint recording. Narratio does not
yet request checkpoint reuse with Notarius's `--resume` flag.
- Provision `/var/cache/notarius` as a shared FHS cache root owned by
`narratio:narratio` with mode `2775`, with chunk-plan and checkpoint stores
beneath it.
`narratio:narratio` with mode `2775`, and configure Notarius to create its
chunk-plan and checkpoint stores beneath that root.
- Apply Feature 0009's established access and default ACL policy to the new
cache root so content created by either supported invocation identity remains
group-writable and world-readable.
@@ -277,8 +283,14 @@ inexpensive Notarius testing profile without changing the pipeline topology.
## Constraints and Settled Decisions
- The selected application contracts are Notarius v0.7.0 and Narratio v2.0.0,
matching the pipeline role's pinned application versions.
- This feature advances the standalone role default and pipeline application
selection from Notarius v0.6.0 to v0.7.0. Narratio remains at v2.0.0.
- Narratio v2.0.0 documents Notarius v0.6.0 as its invocation baseline, but
Notarius v0.7.0 preserves the subprocess receipt and extraction-artifact
contracts. Version 5 configuration migration is confined to the Notarius
role and the suite-owned Notarius fragment.
- The pipeline dependency manifest must pin the reviewed standalone Notarius
role revision that implements this v0.7.0/configuration-version-5 contract.
- Feature 0009 has already established the runtime identity, dependency order,
standalone ownership interfaces, configuration modes, `acl` package, and
pinned `ansible.posix` dependency used here.
@@ -361,9 +373,10 @@ The production changes remain direct configuration management:
defaults and add the nullable native ConfigKit import field to defaults,
argument specification, root template, and documentation. Cover that public
behavior with focused native validation and a clean repeat.
2. Add the selected Notarius pipeline map, shared FHS cache policy, and three
suite-level Narratio integration mappings to pipeline-role defaults and the
argument specification.
2. Advance the pipeline's Notarius application selection and standalone-role
dependency pin, then add the selected Notarius pipeline map, shared FHS
cache policy, and three suite-level Narratio integration mappings to
pipeline-role defaults and the argument specification.
3. Pass the fixed import and cache choices to `rakestraw.notarius`, and pass
Notarius enablement, selected ID, working directory, references, and outputs
to `rakestraw.narratio`.
@@ -421,6 +434,8 @@ can be selected later if it becomes a concrete need.
- The pipeline role installs a Notarius configuration that natively validates
the `dnd-session` pipeline without provider credentials or a model call.
- The pipeline role selects Notarius v0.7.0 and its dependency manifest pins
the reviewed standalone-role revision that supplies the version 5 interface.
- The standalone Notarius role supports an explicitly selected v0.7.0,
emits configuration version 5 with its compatible defaults, and can render
a caller-supplied native ConfigKit import list.
@@ -503,12 +518,12 @@ can be selected later if it becomes a concrete need.
## Dependencies and Follow-up Work
Features 0001 through 0008 and the standalone-role test-suite simplification
are complete. Implementation of this feature depends on completing Feature
0009's shared filesystem and execution policy. It also depends on the current
Notarius v0.7.0 maintained D&D configuration and ConfigKit contract, Narratio
v2.0.0 subprocess contract, campaign sources deployed by Feature 0007, and
trimmed transcript policy defined by Feature 0008.
Features 0001 through 0009 and the standalone-role test-suite simplification
are complete, so the shared filesystem and execution prerequisite is
satisfied. Implementation depends on the current Notarius v0.7.0 maintained
D&D configuration and ConfigKit contract, the compatible Narratio v2.0.0
subprocess boundary, campaign sources deployed by Feature 0007, and trimmed
transcript policy defined by Feature 0008.
The next suite feature should select which extraction sources feed new or
existing Scriptorium artifacts, or address pipeline-wide credential delivery