Document D&D item event support

This commit is contained in:
2026-07-25 22:16:29 +00:00
parent 63de44c347
commit f7059607af
8 changed files with 242 additions and 31 deletions

View File

@@ -22,7 +22,7 @@ The explicit-path option is defined in the [CLI reference](cli.md).
- [Minimal D&D configuration](../examples/dnd-minimal.config.yml) shows the
shortest useful single-step, single-lane pipeline.
- [Complete D&D configuration](../examples/dnd-complete.config.yml) shows scene
chunking, ordered steps, all five D&D artifact lanes, generated NPC and
chunking, ordered steps, all six D&D artifact lanes, generated NPC and
scene-description handoffs, campaign and spell-catalog references, checkpoint
storage, and chunk-map output.
@@ -382,6 +382,7 @@ production validators do not call the LLM and must not set `llm_profile`.
| extract | `dnd/spells` | Extracts typed D&D spell-list artifacts. |
| extract | `dnd/npcs` | Extracts typed D&D NPC-list artifacts. |
| extract | `dnd/combat-turns` | Extracts typed D&D combat-turn-list artifacts only for exact combat scene matches. |
| extract | `dnd/item-events` | Extracts typed, source-grounded D&D item-event-list artifacts. |
| extract | `dnd/npc-interactions` | Extracts typed D&D NPC-interaction-list artifacts from a supplied NPC registry. |
| extract | `dnd/scene-descriptions` | Extracts one typed D&D scene description for each accepted chunk. |
| merge | `appendorder` | Combines typed artifacts in chunk order. |
@@ -389,6 +390,7 @@ production validators do not call the LLM and must not set `llm_profile`.
| normalize | `dnd/spells` | Deterministically canonicalizes and de-duplicates typed D&D spell-list artifacts. |
| normalize | `dnd/npcs` | Deterministically consolidates typed D&D NPC-list artifacts by canonical name and unions exact evidence. |
| normalize | `dnd/combat-turns` | Deterministically canonicalizes, orders, and de-duplicates typed D&D combat-turn artifacts. |
| normalize | `dnd/item-events` | Deterministically trims, source-orders, and removes only exact D&D item-event duplicates. |
| normalize | `dnd/npc-interactions` | Canonicalizes registry NPC names, orders interaction occurrences, and removes only exact duplicates. |
| normalize | `dnd/scene-descriptions` | Validates, orders, trims, and de-duplicates typed D&D scene-description artifacts. |
| output | `json` | Produces JSON output files for normalized `application/json` lanes and can opt in to an accepted chunk map. |
@@ -413,6 +415,10 @@ production validators do not call the LLM and must not set `llm_profile`.
| `extract/dnd/combat-turns/source_refs` | deterministic | Rejects missing or invalid D&D combat-turn source references. |
| `extract/dnd/combat-turns/source_relatedness` | deterministic | Emits warnings when an actor is not found near cited source text. |
| `normalize/dnd/combat-turns/invariants` | deterministic | Rejects normalized combat-turn identity, evidence-order, and chronology violations. |
| `extract/dnd/item-events/shape` | deterministic | Rejects malformed D&D item-event-list artifacts and invalid category, holder, or quantity combinations. |
| `extract/dnd/item-events/source_refs` | deterministic | Rejects missing, invalid, or extract-chunk-external D&D item-event source references. |
| `extract/dnd/item-events/source_relatedness` | deterministic | Emits bounded warnings when an item-event name is not found in cited source text. |
| `normalize/dnd/item-events/invariants` | deterministic | Rejects non-normalized D&D item-event order, source references, or exact duplicates. |
| `extract/dnd/npc-interactions/shape` | deterministic | Rejects malformed D&D NPC-interaction-list artifacts. |
| `extract/dnd/npc-interactions/registry` | deterministic | Rejects interaction names absent from the supplied NPC registry. |
| `extract/dnd/npc-interactions/source_refs` | deterministic | Rejects missing, invalid, or extract-chunk-external D&D interaction source references. |
@@ -476,6 +482,26 @@ normalize:
- extract/dnd/combat-turns/source_relatedness
```
The production default chains for `dnd/item-events` are:
```yaml
extract:
validators:
- generic/valid_json
- extract/dnd/item-events/shape
- extract/dnd/item-events/source_refs
- generic/valid_json_schema
- extract/dnd/item-events/source_relatedness
normalize:
validators:
- generic/valid_json
- extract/dnd/item-events/shape
- normalize/dnd/item-events/invariants
- extract/dnd/item-events/source_refs
- generic/valid_json_schema
- extract/dnd/item-events/source_relatedness
```
The production default chains for `dnd/npc-interactions` are:
```yaml
@@ -574,6 +600,13 @@ accepts no references. The
normalized output to later spell, combat-turn, and NPC-interaction targets
through an explicit ordered step.
The `dnd/item-events` extractor accepts optional `glossary`, `party`, `players`,
and deprecated `roster` campaign slots for disambiguation only. It requires no
generated artifact and its normalizer accepts no references, so the complete
example keeps this independent lane in the first step. Current transcript
references remain the only item-event evidence. Its complete durable behavior
is defined in the [D&D item-event artifact contract](integrations/dnd-item-event-artifacts.md).
The `dnd/scene-descriptions` extractor accepts only the optional `players`,
`party`, and `glossary` campaign slots. They can disambiguate terms in the
model-facing title and summary but are never source evidence. Its normalizer