Share the D&D NPC registry and prompt grounding
This commit is contained in:
@@ -89,6 +89,7 @@ Configuration. The implemented module packages are:
|
||||
| `internal/modules/dnd/codec/npcs` | Strictly decodes and stably encodes the durable D&D NPC-list representation. |
|
||||
| `internal/modules/dnd/extract/spells` | Maps private structured model output to canonical source-grounded D&D spell lists. |
|
||||
| `internal/modules/dnd/extract/npcs` | Maps private structured model output to canonical source-grounded D&D NPC lists. |
|
||||
| `internal/modules/dnd/npcs/registry` | Resolves validated normalized NPC references into immutable grounding data and exact identity lookup. |
|
||||
| `internal/modules/dnd/npcs/identity` | Owns Unicode-aware NPC identity, ID derivation, and registry collision validation. |
|
||||
| `internal/modules/dnd/spells/catalog` | Embeds and validates the versioned D&D 5e 2014 SRD catalog, composes optional overlays, and provides immutable effective lookup. |
|
||||
| `internal/modules/generic/merge/appendorder` | Combines accepted extraction results in chunk order. |
|
||||
@@ -98,17 +99,19 @@ Configuration. The implemented module packages are:
|
||||
| `internal/modules/generic/output/json` | Encodes manifests, lane payloads, warnings, and rejections as logical JSON files. |
|
||||
|
||||
`internal/modules/dnd/shared` owns reusable D&D prompt fragments,
|
||||
reference declarations, prompt input assembly, and source-unit reference
|
||||
helpers. Domain-neutral prompt filesystem composition lives in
|
||||
reference declarations, prompt input assembly, source-unit reference helpers,
|
||||
and bounded diagnostics under `internal/modules/dnd/shared/diagnostics`.
|
||||
The shared NPC grounding fragment is mounted for D&D prompts and is owned by
|
||||
this package. Domain-neutral prompt filesystem composition lives in
|
||||
`internal/framework/promptfs`.
|
||||
|
||||
The spell extractor owns its optional `npcs` registry boundary. Preparation
|
||||
strictly decodes and identity-validates one normalized JSON artifact, emits
|
||||
canonical registry JSON to the spell prompt, and records only its semantic
|
||||
digest and count in prepared metadata. The raw reference remains independently
|
||||
tracked by pipeline provenance. An absent registry is represented only by the
|
||||
empty prompt value `{"npcs":[]}`; the shared D&D reference fragment is not
|
||||
changed.
|
||||
The `dnd/npcs/registry` package owns the optional `npcs` registry boundary.
|
||||
Preparation strictly decodes and identity-validates one normalized JSON
|
||||
artifact, emits canonical registry JSON to the spell prompt, and records only
|
||||
its semantic digest and count in prepared metadata. The raw reference remains
|
||||
independently tracked by pipeline provenance. An absent registry is represented
|
||||
only by the empty prompt value `{"npcs":[]}`. Spell extraction consumes this
|
||||
shared registry boundary without changing its public module contract.
|
||||
|
||||
Generic validators under `internal/modules/generic/validate` provide
|
||||
unconditional test decisions, JSON syntax validation, and JSON Schema
|
||||
|
||||
Reference in New Issue
Block a user