Document ordered pipeline operations and retire sequential examples
This commit is contained in:
@@ -40,63 +40,33 @@ names, schemas, and media types inside a run directory.
|
||||
Remove an output run directory only after its consumer data is no longer
|
||||
needed. This is data deletion, not cache cleanup.
|
||||
|
||||
## Sequential NPC And Spell Runs
|
||||
## Ordered D&D Workflow
|
||||
|
||||
The maintained [sequential configuration](../examples/dnd-npc-spell-sequential.config.yml)
|
||||
contains two independent pipelines over the same Seriatim input shape. Run the
|
||||
NPC pipeline first and retain its normalized payload:
|
||||
The maintained [NPC-grounded configuration](../examples/dnd-npc-grounded.config.yml)
|
||||
contains one pipeline with two ordered steps. The first step extracts and
|
||||
normalizes NPCs. Only after that lane reaches an accepted terminal result does
|
||||
the second step begin; its generated NPC reference is supplied in memory to
|
||||
spell extraction, combat extraction, and combat normalization.
|
||||
|
||||
```sh
|
||||
go run ./cmd/notarius run dnd-npcs \
|
||||
--config examples/dnd-npc-spell-sequential.config.yml \
|
||||
go run ./cmd/notarius run dnd-npc-grounded \
|
||||
--config examples/dnd-npc-grounded.config.yml \
|
||||
--input examples/seriatim-minimal-transcript.json \
|
||||
--output-dir ./npc-output
|
||||
--output-dir ./npc-grounded-output
|
||||
```
|
||||
|
||||
Then bind that completed run's `lanes/npcs.json` file to the spell extractor:
|
||||
The NPC artifact grounds canonical names and aliases, not spell or combat
|
||||
evidence. Current-transcript source ranges remain the only event evidence. The
|
||||
manifest records generated-reference identity and bounded producer provenance;
|
||||
it does not record generated payload content, and no generated content is
|
||||
exposed through a filesystem path. The same producer artifact may fan out to
|
||||
compatible consumers, while a missing or rejected producer prevents the later
|
||||
step from starting.
|
||||
|
||||
```sh
|
||||
go run ./cmd/notarius run dnd-spells \
|
||||
--config examples/dnd-npc-spell-sequential.config.yml \
|
||||
--input examples/seriatim-minimal-transcript.json \
|
||||
--reference spells.extract.npcs=./npc-output/<run-id>/lanes/npcs.json
|
||||
```
|
||||
|
||||
The NPC file is a reference for canonical caster names and aliases, not spell
|
||||
evidence. The spell manifest records the bound file's raw reference provenance
|
||||
and the prepared registry's count and semantic digest separately. The NPC
|
||||
payload, names, aliases, source references, and file bytes can be sensitive
|
||||
campaign data; protect both output roots and any checkpoint or debug roots that
|
||||
retain derived application data. A registry from another session is allowed,
|
||||
but its source references are never copied into spell output evidence.
|
||||
|
||||
## Sequential NPC And Combat Runs
|
||||
|
||||
The maintained [sequential NPC and combat configuration](../examples/dnd-npc-combat-sequential.config.yml)
|
||||
also represents two independent runs. Run `dnd-npcs` first, then bind its
|
||||
normalized `lanes/npcs.json` payload to both combat stages:
|
||||
|
||||
```sh
|
||||
go run ./cmd/notarius run dnd-npcs \
|
||||
--config examples/dnd-npc-combat-sequential.config.yml \
|
||||
--input examples/seriatim-minimal-transcript.json \
|
||||
--output-dir ./npc-output
|
||||
|
||||
go run ./cmd/notarius run dnd-combat \
|
||||
--config examples/dnd-npc-combat-sequential.config.yml \
|
||||
--input examples/seriatim-minimal-transcript.json \
|
||||
--reference combat.extract.npcs=./npc-output/<run-id>/lanes/npcs.json \
|
||||
--reference combat.normalize.npcs=./npc-output/<run-id>/lanes/npcs.json
|
||||
```
|
||||
|
||||
Extraction and normalization bindings are stage-local and are intentionally
|
||||
specified separately. Notarius does not discover the NPC run, copy its source
|
||||
ranges into combat evidence, or compose the two runs into one workflow. The
|
||||
combat manifest records both reference bindings and the prepared registry's
|
||||
semantic digest/count. Changing the referenced NPC payload, prompt or schema,
|
||||
normalization policy, or registry digest makes affected checkpoint state
|
||||
incompatible; output, checkpoint, and debug roots remain independent sensitive
|
||||
state surfaces.
|
||||
Standalone module configurations continue to support external NPC files when a
|
||||
workflow intentionally crosses a process or session boundary. Those files are
|
||||
validated against the consumer slot and must be protected as sensitive
|
||||
campaign data. They are not part of the maintained ordered handoff workflow.
|
||||
|
||||
## Chunk-Plan Cache
|
||||
|
||||
@@ -177,6 +147,33 @@ cache:
|
||||
Remove an exact checkpoint identity directory or the configured root only when
|
||||
recomputation is acceptable.
|
||||
|
||||
### Resume And Selective Recompute
|
||||
|
||||
`--resume` loads compatible accepted work only when checkpoint recording is
|
||||
enabled. A normal resumed run may reuse source, extract, merge, and normalize
|
||||
checkpoints independently. Generated references add a dependency fingerprint
|
||||
for the producer's artifact kind, schema identity, media type, canonical
|
||||
content digest, and size. If that fingerprint changes or the producer is
|
||||
missing, dependent checkpoints are invalidated; unrelated work remains eligible
|
||||
for reuse.
|
||||
|
||||
`--recompute-step <step-id>` requires both `--resume` and
|
||||
`cache.checkpoints.enabled: true`. It forces the named step and all transitive
|
||||
dependents to execute, while compatible predecessors and unrelated lanes remain
|
||||
reusable. It cannot be combined with `--only`, and it does not change the
|
||||
persistent identity of otherwise identical checkpoints. Decisions are bounded
|
||||
and categorized as `reused`, `executed`, `forced_recompute`, or
|
||||
`dependency_invalidated`.
|
||||
|
||||
If a required predecessor cannot be reused during selective recomputation, the
|
||||
run fails before the dependent step starts. The failure manifest retains the
|
||||
completed upstream outcomes and dependency context but not generated reference
|
||||
content. For diagnosis, first check the failed step and lane in the manifest,
|
||||
then inspect checkpoint decision categories and reason codes. A
|
||||
`dependency_invalidated` decision means the stored producer, codec identity,
|
||||
schema, or canonical content no longer matches; a missing or rejected producer
|
||||
requires rerunning it rather than copying an artifact into the checkpoint root.
|
||||
|
||||
## Debug Bundles
|
||||
|
||||
Only `notarius run --debug` enables debug collection. The selected root contains
|
||||
|
||||
Reference in New Issue
Block a user