|
|
|
|
@@ -298,7 +298,7 @@ output:
|
|
|
|
|
enabled: true
|
|
|
|
|
window_units: 3
|
|
|
|
|
lanes:
|
|
|
|
|
- npcs
|
|
|
|
|
- npc_registry
|
|
|
|
|
- spells
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
@@ -332,15 +332,15 @@ step:
|
|
|
|
|
steps:
|
|
|
|
|
- id: describe-session
|
|
|
|
|
artifacts:
|
|
|
|
|
npcs:
|
|
|
|
|
extract: dnd/npcs
|
|
|
|
|
normalize: dnd/npcs
|
|
|
|
|
npc_registry:
|
|
|
|
|
extract: dnd/npc-registry
|
|
|
|
|
normalize: dnd/npc-registry
|
|
|
|
|
- id: extract-events
|
|
|
|
|
references:
|
|
|
|
|
npcs:
|
|
|
|
|
npc_registry:
|
|
|
|
|
artifact:
|
|
|
|
|
step: describe-session
|
|
|
|
|
lane: npcs
|
|
|
|
|
lane: npc_registry
|
|
|
|
|
artifacts:
|
|
|
|
|
spells:
|
|
|
|
|
extract: dnd/spells
|
|
|
|
|
@@ -371,7 +371,7 @@ selected target declares them:
|
|
|
|
|
| **glossary** | Optional text campaign glossary. |
|
|
|
|
|
| **spell_catalog** | Optional JSON spell-catalog overlay for spell extraction and normalization. See [spell-catalog overlays](integrations/dnd-spell-catalog-overlays.md). |
|
|
|
|
|
| **locations** | Required normalized location registry for location-occurrence extraction and normalization. |
|
|
|
|
|
| **npcs** | Normalized NPC registry. Optional for spells and combat turns; required for NPC interactions and enemy-event extraction and normalization. |
|
|
|
|
|
| **npc_registry** | Normalized NPC registry. Optional for spells and combat turns; required for NPC interactions and enemy-event extraction and normalization. |
|
|
|
|
|
| **scene_descriptions** | Required normalized scene-description artifact for combat-turn and enemy-event extraction. |
|
|
|
|
|
| **combat_turns** | Required normalized combat-turn artifact for enemy-event extraction. |
|
|
|
|
|
| **npc_interactions** | Required normalized NPC-interaction artifact for enemy-event extraction. |
|
|
|
|
|
@@ -383,18 +383,18 @@ binding contracts. Durable semantics and wire shapes remain in their
|
|
|
|
|
|
|
|
|
|
| Slot | Accepted artifact kind | Media type | Maximum size | Required stage |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| `npcs` | `dnd/npc-registry` | `application/json` | 1,048,576 bytes | extract and normalize |
|
|
|
|
|
| `npc_registry` | `dnd/npc-registry` | `application/json` | 1,048,576 bytes | extract and normalize |
|
|
|
|
|
| `scene_descriptions` | `dnd/scene-description-list` | `application/json` | 1,048,576 bytes | extract only |
|
|
|
|
|
| `combat_turns` | `dnd/combat-turn-list` | `application/json` | 1,048,576 bytes | extract only |
|
|
|
|
|
| `npc_interactions` | `dnd/npc-interaction-list` | `application/json` | 1,048,576 bytes | extract only |
|
|
|
|
|
| `locations` | `dnd/location-list` | `application/json` | 1,048,576 bytes | location-occurrence extract and normalize |
|
|
|
|
|
|
|
|
|
|
Scene descriptions accept **party**, **players**, and **glossary**, but not
|
|
|
|
|
**roster**. NPC interactions require **npcs** for both extraction and
|
|
|
|
|
**roster**. NPC interactions require **npc_registry** for both extraction and
|
|
|
|
|
normalization. Combat turns require **scene_descriptions** for extraction; the
|
|
|
|
|
normalized combat-turn module may use optional **npcs**. Location occurrences
|
|
|
|
|
normalized combat-turn module may use optional **npc_registry**. Location occurrences
|
|
|
|
|
require **locations** for extraction and normalization. Enemy-event extraction
|
|
|
|
|
requires all four of its JSON artifact slots; its normalizer requires **npcs**.
|
|
|
|
|
requires all four of its JSON artifact slots; its normalizer requires **npc_registry**.
|
|
|
|
|
The [complete example](../examples/dnd-complete.config.yml) shows the ordered
|
|
|
|
|
generated bindings.
|
|
|
|
|
|
|
|
|
|
@@ -404,9 +404,9 @@ generated bindings.
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| Input | **seriatim** |
|
|
|
|
|
| Chunk | **generic**, **dnd/scenes** |
|
|
|
|
|
| Extract | **dnd/spells**, **dnd/npcs**, **dnd/combat-turns**, **dnd/item-events**, **dnd/npc-interactions**, **dnd/scene-descriptions**, **dnd/enemy-events**, **dnd/locations**, **dnd/location-occurrences** |
|
|
|
|
|
| Extract | **dnd/spells**, **dnd/npc-registry**, **dnd/combat-turns**, **dnd/item-events**, **dnd/npc-interactions**, **dnd/scene-descriptions**, **dnd/enemy-events**, **dnd/locations**, **dnd/location-occurrences** |
|
|
|
|
|
| Merge | **appendorder** |
|
|
|
|
|
| Normalize | **noop**, **dnd/spells**, **dnd/npcs**, **dnd/combat-turns**, **dnd/item-events**, **dnd/npc-interactions**, **dnd/scene-descriptions**, **dnd/enemy-events**, **dnd/locations**, **dnd/location-occurrences** |
|
|
|
|
|
| Normalize | **noop**, **dnd/spells**, **dnd/npc-registry**, **dnd/combat-turns**, **dnd/item-events**, **dnd/npc-interactions**, **dnd/scene-descriptions**, **dnd/enemy-events**, **dnd/locations**, **dnd/location-occurrences** |
|
|
|
|
|
| Output | **json** |
|
|
|
|
|
|
|
|
|
|
`dnd/locations` extraction and normalization are `llm_backed`; location
|
|
|
|
|
@@ -417,7 +417,7 @@ step and the occurrence lane in the next.
|
|
|
|
|
|
|
|
|
|
The D&D artifact contracts define each emitted schema:
|
|
|
|
|
[spells](integrations/dnd-spell-artifacts.md),
|
|
|
|
|
[NPCs](integrations/dnd-npc-artifacts.md),
|
|
|
|
|
[NPC registry](integrations/dnd-npc-registry-artifacts.md),
|
|
|
|
|
[NPC interactions](integrations/dnd-npc-interaction-artifacts.md),
|
|
|
|
|
[combat turns](integrations/dnd-combat-turn-artifacts.md),
|
|
|
|
|
[item events](integrations/dnd-item-event-artifacts.md),
|
|
|
|
|
@@ -434,7 +434,7 @@ Available validator keys are:
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| Generic | **generic/always_accept**, **generic/always_reject**, **generic/valid_json**, **generic/valid_json_schema** |
|
|
|
|
|
| Spells | **extract/dnd/spells/shape**, **extract/dnd/spells/catalog**, **extract/dnd/spells/source_refs**, **extract/dnd/spells/source_relatedness** |
|
|
|
|
|
| NPCs | **extract/dnd/npcs/shape**, **extract/dnd/npcs/source_refs**, **extract/dnd/npcs/source_relatedness**, **normalize/dnd/npcs/identity** |
|
|
|
|
|
| NPC registry | **extract/dnd/npc-registry/shape**, **extract/dnd/npc-registry/source_refs**, **extract/dnd/npc-registry/source_relatedness**, **normalize/dnd/npc-registry/identity** |
|
|
|
|
|
| Combat turns | **extract/dnd/combat-turns/shape**, **extract/dnd/combat-turns/source_refs**, **extract/dnd/combat-turns/source_relatedness**, **normalize/dnd/combat-turns/invariants** |
|
|
|
|
|
| Item events | **extract/dnd/item-events/shape**, **extract/dnd/item-events/source_refs**, **extract/dnd/item-events/source_relatedness**, **normalize/dnd/item-events/invariants** |
|
|
|
|
|
| NPC interactions | **extract/dnd/npc-interactions/shape**, **extract/dnd/npc-interactions/registry**, **extract/dnd/npc-interactions/source_refs**, **extract/dnd/npc-interactions/source_relatedness**, **normalize/dnd/npc-interactions/invariants** |
|
|
|
|
|
@@ -450,7 +450,7 @@ same at both stages.
|
|
|
|
|
| Lane | Extract | Normalize |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| Spells | generic/valid_json, extract/dnd/spells/shape, extract/dnd/spells/catalog, extract/dnd/spells/source_refs, generic/valid_json_schema, extract/dnd/spells/source_relatedness | Same as extract |
|
|
|
|
|
| NPCs | generic/valid_json, extract/dnd/npcs/shape, extract/dnd/npcs/source_refs, generic/valid_json_schema, extract/dnd/npcs/source_relatedness | generic/valid_json, extract/dnd/npcs/shape, normalize/dnd/npcs/identity, extract/dnd/npcs/source_refs, generic/valid_json_schema, extract/dnd/npcs/source_relatedness |
|
|
|
|
|
| NPC registry | generic/valid_json, extract/dnd/npc-registry/shape, extract/dnd/npc-registry/source_refs, generic/valid_json_schema, extract/dnd/npc-registry/source_relatedness | generic/valid_json, extract/dnd/npc-registry/shape, normalize/dnd/npc-registry/identity, extract/dnd/npc-registry/source_refs, generic/valid_json_schema, extract/dnd/npc-registry/source_relatedness |
|
|
|
|
|
| Combat turns | generic/valid_json, extract/dnd/combat-turns/shape, extract/dnd/combat-turns/source_refs, generic/valid_json_schema, extract/dnd/combat-turns/source_relatedness | generic/valid_json, extract/dnd/combat-turns/shape, normalize/dnd/combat-turns/invariants, extract/dnd/combat-turns/source_refs, generic/valid_json_schema, extract/dnd/combat-turns/source_relatedness |
|
|
|
|
|
| Item events | generic/valid_json, extract/dnd/item-events/shape, extract/dnd/item-events/source_refs, generic/valid_json_schema, extract/dnd/item-events/source_relatedness | 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 |
|
|
|
|
|
| NPC interactions | generic/valid_json, extract/dnd/npc-interactions/shape, extract/dnd/npc-interactions/registry, extract/dnd/npc-interactions/source_refs, generic/valid_json_schema, extract/dnd/npc-interactions/source_relatedness | generic/valid_json, extract/dnd/npc-interactions/shape, extract/dnd/npc-interactions/registry, normalize/dnd/npc-interactions/invariants, extract/dnd/npc-interactions/source_refs, generic/valid_json_schema, extract/dnd/npc-interactions/source_relatedness |
|
|
|
|
|
|